[anjal] Add APIs to replace composer.



commit f43bbb6f40bc17c1ce7a6b2918acac0659afcd23
Author: Srinivasa Ragavan <sragavan novell com>
Date:   Wed May 27 23:34:11 2009 +0530

    Add APIs to replace composer.
---
 src/mail-composer-view.c |   21 ++++++++++++++++++++-
 src/mail-composer-view.h |    2 +-
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/src/mail-composer-view.c b/src/mail-composer-view.c
index 79e6af6..0ee6589 100644
--- a/src/mail-composer-view.c
+++ b/src/mail-composer-view.c
@@ -150,7 +150,7 @@ mail_composer_view_construct (MailComposerView *shell)
 	composer = em_utils_compose_lite_new_message (NULL);
 	tmp = g_object_get_data(composer, "vbox");
 	gtk_widget_reparent (tmp, box);
-
+	priv->box = box;
 	gtk_box_pack_start (shell, box, TRUE, TRUE, 0);
 
 	g_signal_connect (composer, "send", composer_close_cb, shell);
@@ -160,6 +160,25 @@ mail_composer_view_construct (MailComposerView *shell)
 	gtk_widget_show (shell);
 }
 
+void
+mail_composer_view_replace_composer (MailComposerView *mcv, GtkWidget *composer)
+{
+	GtkWidget *w;
+
+	w = g_object_get_data(mcv->priv->composer, "vbox");
+	gtk_widget_destroy (w);
+	g_signal_handlers_disconnect_by_func (mcv->priv->composer, composer_close_cb, mcv);
+	gtk_widget_destroy (mcv->priv->composer);
+	mcv->priv->composer = composer;
+	w = g_object_get_data(mcv->priv->composer, "vbox");
+	gtk_widget_reparent (w, mcv->priv->box);
+	gtk_widget_show (w);
+	gtk_widget_show (mcv->priv->box);
+
+	g_signal_connect (mcv->priv->composer, "send", composer_close_cb, mcv);
+
+}
+
 MailComposerView *
 mail_composer_view_new ()
 {
diff --git a/src/mail-composer-view.h b/src/mail-composer-view.h
index 7cf3521..eb869ab 100644
--- a/src/mail-composer-view.h
+++ b/src/mail-composer-view.h
@@ -55,5 +55,5 @@ typedef struct _MailComposerViewClass {
 
 MailComposerView * mail_composer_view_new (void);
 void mail_composer_view_activate (MailComposerView *mfv, GtkWidget *folder_tree, GtkWidget *check_mail, GtkWidget *sort_by, gboolean act);
-
+void mail_composer_view_replace_composer (MailComposerView *mcv, GtkWidget *composer);
 #endif



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]