[anjal] Update Evo stable/trunk for Anjal.



commit c522d6311bd98e4da2d74edde585c8d71a246c87
Author: Srinivasa Ragavan <sragavan novell com>
Date:   Mon May 11 17:01:43 2009 +0530

    Update Evo stable/trunk for Anjal.
---
 evo-anjal.patch |  457 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 433 insertions(+), 24 deletions(-)

diff --git a/evo-anjal.patch b/evo-anjal.patch
index 7b9edd6..dab06aa 100755
--- a/evo-anjal.patch
+++ b/evo-anjal.patch
@@ -67,10 +67,73 @@ index 74fda9a..f8c6dc6 100644
  
  /* Standard GObject macros */
 diff --git a/composer/e-composer-header-table.c b/composer/e-composer-header-table.c
-index 461c11e..4f2c6e1 100644
+index 461c11e..9612993 100644
 --- a/composer/e-composer-header-table.c
 +++ b/composer/e-composer-header-table.c
-@@ -649,7 +649,7 @@ composer_header_table_init (EComposerHeaderTable *table)
+@@ -28,6 +28,8 @@
+ #include "e-composer-post-header.h"
+ #include "e-composer-text-header.h"
+ 
++extern gboolean composer_lite;
++
+ #define E_COMPOSER_HEADER_TABLE_GET_PRIVATE(obj) \
+ 	(G_TYPE_INSTANCE_GET_PRIVATE \
+ 	((obj), E_TYPE_COMPOSER_HEADER_TABLE, EComposerHeaderTablePrivate))
+@@ -90,6 +92,7 @@ struct _EComposerHeaderTablePrivate {
+ 	GtkWidget *signature_label;
+ 	GtkWidget *signature_combo_box;
+ 	ENameSelector *name_selector;
++	GtkHBox *actions_container;	
+ };
+ 
+ static gpointer parent_class;
+@@ -271,8 +274,16 @@ composer_header_table_constructor (GType type,
+ 		gtk_table_attach (
+ 			GTK_TABLE (object), priv->headers[ii]->input_widget,
+ 			1, 4, ii, ii + 1, GTK_FILL | GTK_EXPAND, 0, 0, 3);
++		if (composer_lite && priv->headers[ii]->action_widget) {
++			/* Pack the widgets to the end. Helps formatting when hiding the From field */
++			gtk_box_pack_end (priv->actions_container, priv->headers[ii]->action_widget,
++					    FALSE, FALSE, 6);
++		}
+ 	}
+ 
++	if (composer_lite)
++		gtk_widget_show_all (priv->actions_container);
++	
+ 	ii = E_COMPOSER_HEADER_FROM;
+ 
+ 	/* Leave room in the "From" row for signature stuff. */
+@@ -289,6 +300,19 @@ composer_header_table_constructor (GType type,
+ 		GTK_TABLE (object), priv->signature_combo_box,
+ 		3, 4, ii, ii + 1, 0, 0, 0, 3);
+ 
++	if (composer_lite) {
++		ii = E_COMPOSER_HEADER_TO;
++
++		/* Leave room for the action buttons. */
++		gtk_container_child_set (
++			GTK_CONTAINER (object),
++			priv->headers[ii]->input_widget,
++			"right-attach", 2, NULL);
++
++		gtk_table_attach (GTK_TABLE (object), priv->actions_container, 2, 4, E_COMPOSER_HEADER_TO, 
++				  E_COMPOSER_HEADER_TO + 1, GTK_FILL, 0, 0, 3);
++	}
++
+ 	return object;
+ }
+ 
+@@ -640,6 +664,8 @@ composer_header_table_init (EComposerHeaderTable *table)
+ 	name_selector = e_name_selector_new ();
+ 	table->priv->name_selector = name_selector;
+ 
++	table->priv->actions_container = gtk_hbox_new (FALSE, 6);
++
+ 	header = e_composer_from_header_new (_("Fr_om:"));
+ 	composer_header_table_bind_header ("account", "changed", header);
+ 	composer_header_table_bind_header ("account-list", "refreshed", header);
+@@ -649,21 +675,21 @@ composer_header_table_init (EComposerHeaderTable *table)
  		composer_header_table_from_changed_cb), table);
  	table->priv->headers[E_COMPOSER_HEADER_FROM] = header;
  
@@ -79,7 +142,24 @@ index 461c11e..4f2c6e1 100644
  	composer_header_table_bind_header ("reply-to", "changed", header);
  	table->priv->headers[E_COMPOSER_HEADER_REPLY_TO] = header;
  
-@@ -672,7 +672,7 @@ composer_header_table_init (EComposerHeaderTable *table)
+-	header = e_composer_name_header_new (_("_To:"), name_selector);
++	header = e_composer_name_header_new_with_label (_("_To:"), name_selector);
+ 	e_composer_header_set_input_tooltip (header, HEADER_TOOLTIP_TO);
+ 	composer_header_table_bind_header ("destinations-to", "changed", header);
+ 	table->priv->headers[E_COMPOSER_HEADER_TO] = header;
+ 
+-	header = e_composer_name_header_new (_("_Cc:"), name_selector);
++	header = e_composer_name_header_new_with_action (_("_Cc:"), _("Show CC"), name_selector);
+ 	e_composer_header_set_input_tooltip (header, HEADER_TOOLTIP_CC);
+ 	composer_header_table_bind_header ("destinations-cc", "changed", header);
+ 	table->priv->headers[E_COMPOSER_HEADER_CC] = header;
+ 
+-	header = e_composer_name_header_new (_("_Bcc:"), name_selector);
++	header = e_composer_name_header_new_with_action (_("_Bcc:"), _("Show BCC"), name_selector);
+ 	e_composer_header_set_input_tooltip (header, HEADER_TOOLTIP_BCC);
+ 	composer_header_table_bind_header ("destinations-bcc", "changed", header);
+ 	table->priv->headers[E_COMPOSER_HEADER_BCC] = header;
+@@ -672,7 +698,7 @@ composer_header_table_init (EComposerHeaderTable *table)
  	composer_header_table_bind_header ("post-to", "changed", header);
  	table->priv->headers[E_COMPOSER_HEADER_POST_TO] = header;
  
@@ -89,7 +169,7 @@ index 461c11e..4f2c6e1 100644
  	table->priv->headers[E_COMPOSER_HEADER_SUBJECT] = header;
  
 diff --git a/composer/e-composer-header.c b/composer/e-composer-header.c
-index 8cbcf64..1ed21b6 100644
+index 8cbcf64..fbb58f1 100644
 --- a/composer/e-composer-header.c
 +++ b/composer/e-composer-header.c
 @@ -1,3 +1,7 @@
@@ -119,7 +199,7 @@ index 8cbcf64..1ed21b6 100644
  };
  
  static gpointer parent_class;
-@@ -54,6 +62,14 @@ composer_header_button_clicked_cb (GtkButton *button,
+@@ -54,6 +62,20 @@ composer_header_button_clicked_cb (GtkButton *button,
  	g_signal_emit (header, signal_ids[CLICKED], 0);
  }
  
@@ -131,31 +211,44 @@ index 8cbcf64..1ed21b6 100644
 +	e_composer_header_set_visible (header, TRUE);
 +}
 +
++static void                
++link_clicked_cb (GtkLinkButton *button, const gchar *link_, gpointer user_data)
++{
++	return;
++}
++
  static GObject *
  composer_header_constructor (GType type,
                               guint n_construct_properties,
-@@ -81,6 +97,20 @@ composer_header_constructor (GType type,
+@@ -81,6 +103,27 @@ composer_header_constructor (GType type,
  		gtk_label_set_mnemonic_widget (
  			GTK_LABEL (widget), header->input_widget);
  	}
 +
 +	if (header->priv->addaction) {
-+		header->action_widget = gtk_link_button_new_with_label (header->priv->label, 
-+									header->priv->addaction_text);
++		GtkWidget *box, *tmp;
++		char *str;
++
++		header->action_widget = gtk_button_new ();
++		box = gtk_hbox_new (FALSE, 0);
++		tmp = gtk_image_new_from_stock("gtk-add", GTK_ICON_SIZE_BUTTON);
++		gtk_box_pack_start(box, tmp, FALSE, FALSE, 3);
++		tmp = gtk_label_new (NULL);
++		str = g_strdup_printf ("<span foreground='blue' underline='single' underline_color='blue'  >%s</span>", header->priv->addaction_text);
++		gtk_label_set_markup(tmp, str);
++		gtk_box_pack_start(box, tmp, FALSE, FALSE, 3);
++		gtk_container_add(header->action_widget, box);
++		gtk_widget_show_all(header->action_widget);
 +		g_signal_connect (
 +			header->action_widget, "clicked",
 +			G_CALLBACK (composer_header_addaction_clicked_cb),
 +			header);
-+
-+		/*TODO : Add + icon*/
-+		/* widget = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_MENU); */
-+		/* gtk_button_set_image (header->action_widget, widget); */
 +	}
 +
  	header->title_widget = g_object_ref_sink (widget);
  
  	g_free (header->priv->label);
-@@ -104,6 +134,14 @@ composer_header_set_property (GObject *object,
+@@ -104,6 +147,14 @@ composer_header_set_property (GObject *object,
  			priv->button = g_value_get_boolean (value);
  			return;
  
@@ -170,7 +263,7 @@ index 8cbcf64..1ed21b6 100644
  		case PROP_LABEL:	/* construct only */
  			priv->label = g_value_dup_string (value);
  			return;
-@@ -124,6 +162,15 @@ composer_header_set_property (GObject *object,
+@@ -124,6 +175,15 @@ composer_header_set_property (GObject *object,
  	G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
  }
  
@@ -186,7 +279,7 @@ index 8cbcf64..1ed21b6 100644
  static void
  composer_header_get_property (GObject *object,
                                guint property_id,
-@@ -139,6 +186,15 @@ composer_header_get_property (GObject *object,
+@@ -139,6 +199,15 @@ composer_header_get_property (GObject *object,
  			g_value_set_boolean (value, priv->button);
  			return;
  
@@ -202,7 +295,7 @@ index 8cbcf64..1ed21b6 100644
  		case PROP_LABEL:	/* construct only */
  			g_value_take_string (
  				value, e_composer_header_get_label (
-@@ -207,6 +263,28 @@ composer_header_class_init (EComposerHeaderClass *class)
+@@ -207,6 +276,28 @@ composer_header_class_init (EComposerHeaderClass *class)
  
  	g_object_class_install_property (
  		object_class,
@@ -332,6 +425,138 @@ index 04f7100..92a379b 100644
  ENameSelector *	e_composer_name_header_get_name_selector
  						(EComposerNameHeader *header);
  EDestination **	e_composer_name_header_get_destinations
+diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c
+index d47a372..a2dfd63 100644
+--- a/composer/e-composer-private.c
++++ b/composer/e-composer-private.c
+@@ -17,6 +17,7 @@
+ 
+ #include "e-composer-private.h"
+ #include "e-util/e-util-private.h"
++#include "e-util/e-icon-factory.h"
+ 
+ static void
+ composer_setup_charset_menu (EMsgComposer *composer)
+@@ -87,6 +88,7 @@ e_composer_private_init (EMsgComposer *composer)
+ 	GtkWidget *expander;
+ 	GtkWidget *container;
+ 	GtkWidget *send_widget;
++	GtkWidget *exp_box;
+ 	const gchar *path;
+ 	gchar *filename;
+ 	GError *error = NULL;
+@@ -94,6 +96,15 @@ e_composer_private_init (EMsgComposer *composer)
+ 	editor = GTKHTML_EDITOR (composer);
+ 	manager = gtkhtml_editor_get_ui_manager (editor);
+ 
++	if (composer->lite) {
++		widget = gtkhtml_editor_get_managed_widget (editor, "/main-menu");
++		gtk_widget_hide (widget);
++		widget = gtkhtml_editor_get_managed_widget (editor, "/main-toolbar");
++		gtk_toolbar_set_style (widget, GTK_TOOLBAR_BOTH_HORIZ);	
++		gtk_widget_hide (widget);
++
++	}
++
+ 	priv->charset_actions = gtk_action_group_new ("charset");
+ 	priv->composer_actions = gtk_action_group_new ("composer");
+ 
+@@ -126,6 +137,62 @@ e_composer_private_init (EMsgComposer *composer)
+ 	send_widget = gtk_ui_manager_get_widget (manager, path);
+ 	gtk_tool_item_set_is_important (GTK_TOOL_ITEM (send_widget), TRUE);
+ 
++	exp_box = gtk_hbox_new (FALSE, 0);
++	gtk_widget_show(exp_box);
++	if (composer->lite) {
++		GtkWidget *tmp, *tmp1, *tmp_box, *align;
++
++		tmp_box = gtk_hbox_new (FALSE, 0);
++
++		tmp = gtk_hbox_new (FALSE, 0);
++		tmp1 = gtk_image_new_from_pixbuf (e_icon_factory_get_icon("mail-send", E_ICON_SIZE_BUTTON));
++		gtk_box_pack_start (tmp, tmp1, FALSE, FALSE, 0);
++		tmp1 = gtk_label_new_with_mnemonic (_("S_end"));
++		gtk_box_pack_start (tmp, tmp1, FALSE, FALSE, 6);
++		gtk_widget_show_all(tmp);
++		gtk_widget_reparent (send_widget, tmp_box);
++		gtk_box_set_child_packing (tmp_box, send_widget, FALSE, FALSE, 6, GTK_PACK_END);
++		gtk_tool_item_set_is_important (GTK_TOOL_ITEM (send_widget), TRUE);
++		send_widget = gtk_bin_get_child (send_widget);
++		gtk_container_remove(send_widget, gtk_bin_get_child (send_widget));
++		gtk_container_add(send_widget, tmp);
++		gtk_button_set_relief (send_widget, GTK_RELIEF_NORMAL);
++			
++		path = "/main-toolbar/pre-main-toolbar/save-draft";
++		send_widget = gtk_ui_manager_get_widget (manager, path);
++		tmp = gtk_hbox_new (FALSE, 0);
++		tmp1 = gtk_image_new_from_pixbuf (e_icon_factory_get_icon(GTK_STOCK_SAVE, E_ICON_SIZE_BUTTON));
++		gtk_box_pack_start (tmp, tmp1, FALSE, FALSE, 0);
++		tmp1 = gtk_label_new_with_mnemonic (_("Save draft"));
++		gtk_box_pack_start (tmp, tmp1, FALSE, FALSE, 3);
++		gtk_widget_show_all(tmp);
++		gtk_widget_reparent (send_widget, tmp_box);
++		gtk_box_set_child_packing (tmp_box, send_widget, FALSE, FALSE, 6, GTK_PACK_END);
++		gtk_tool_item_set_is_important (GTK_TOOL_ITEM (send_widget), TRUE);
++		send_widget = gtk_bin_get_child (send_widget);
++		gtk_container_remove(send_widget, gtk_bin_get_child (send_widget));
++		gtk_container_add(send_widget, tmp);
++		gtk_button_set_relief (send_widget, GTK_RELIEF_NORMAL);
++
++		path = "/main-toolbar/pre-main-toolbar/attach";
++		send_widget = gtk_ui_manager_get_widget (manager, path);
++		tmp = gtk_hbox_new (FALSE, 0);
++		tmp1 = gtk_image_new_from_pixbuf (e_icon_factory_get_icon("gtk-add", E_ICON_SIZE_BUTTON));
++		gtk_box_pack_start (tmp, tmp1, FALSE, FALSE, 0);
++		tmp1 = gtk_label_new_with_mnemonic (_("Add attachment"));
++		gtk_box_pack_start (tmp, tmp1, FALSE, FALSE, 3);
++		gtk_widget_show_all(tmp);		
++		gtk_widget_reparent (send_widget, tmp_box);
++		gtk_box_set_child_packing (tmp_box, send_widget, FALSE, FALSE, 6, GTK_PACK_START);
++		gtk_tool_item_set_is_important (GTK_TOOL_ITEM (send_widget), TRUE);
++		send_widget = gtk_bin_get_child (send_widget);
++		gtk_container_remove(send_widget, gtk_bin_get_child (send_widget));
++		gtk_container_add(send_widget, tmp);
++		gtk_button_set_relief (send_widget, GTK_RELIEF_NORMAL);
++
++		gtk_widget_show(tmp_box);
++		gtk_box_pack_end (exp_box, tmp_box, TRUE, TRUE, 0);
++	}
+ 	composer_setup_charset_menu (composer);
+ 
+ 	if (error != NULL) {
+@@ -139,7 +206,11 @@ e_composer_private_init (EMsgComposer *composer)
+ 	widget = e_composer_header_table_new ();
+ 	gtk_container_set_border_width (GTK_CONTAINER (widget), 6);
+ 	gtk_box_pack_start (GTK_BOX (editor->vbox), widget, FALSE, FALSE, 0);
+-	gtk_box_reorder_child (GTK_BOX (editor->vbox), widget, 2);
++	if (composer->lite)
++		gtk_box_reorder_child (GTK_BOX (editor->vbox), widget, 0);
++	else
++		gtk_box_reorder_child (GTK_BOX (editor->vbox), widget, 2);
++
+ 	priv->header_table = g_object_ref (widget);
+ 	gtk_widget_show (widget);
+ 
+@@ -154,6 +225,8 @@ e_composer_private_init (EMsgComposer *composer)
+ 	gtk_widget_show (widget);
+ 	expander = widget;
+ 
++	g_object_set_data (composer, "vbox", editor->vbox);
++
+ 	widget = gtk_scrolled_window_new (NULL, NULL);
+ 	gtk_scrolled_window_set_policy (
+ 		GTK_SCROLLED_WINDOW (widget),
+@@ -172,7 +245,9 @@ e_composer_private_init (EMsgComposer *composer)
+ 	gtk_widget_show (widget);
+ 
+ 	widget = gtk_hbox_new (FALSE, 0);
+-	gtk_expander_set_label_widget (GTK_EXPANDER (expander), widget);
++	gtk_widget_set_size_request (exp_box, G_MAXINT, -1);
++	gtk_expander_set_label_widget (GTK_EXPANDER (expander), exp_box);
++	gtk_box_pack_start (exp_box, widget, FALSE, FALSE, 0);
+ 	gtk_widget_show (widget);
+ 	container = widget;
+ 
 diff --git a/composer/e-composer-text-header.c b/composer/e-composer-text-header.c
 index 2945720..e676ef9 100644
 --- a/composer/e-composer-text-header.c
@@ -406,6 +631,87 @@ index c0c4708..79e972d 100644
  const gchar *	e_composer_text_header_get_text	(EComposerTextHeader *header);
  void		e_composer_text_header_set_text (EComposerTextHeader *header,
  						 const gchar *text);
+diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
+index f06dc85..dc59953 100644
+--- a/composer/e-msg-composer.c
++++ b/composer/e-msg-composer.c
+@@ -185,6 +185,8 @@ static struct {
+ 	{ "text/calendar",  NULL, GDK_ACTION_COPY }
+ };
+ 
++gboolean composer_lite = FALSE;
++
+ static gpointer parent_class;
+ static guint signals[LAST_SIGNAL];
+ 
+@@ -2800,6 +2802,7 @@ msg_composer_init (EMsgComposer *composer)
+ 	GtkhtmlEditor *editor;
+ 	GtkHTML *html;
+ 
++	composer->lite = composer_lite;
+ 	composer->priv = E_MSG_COMPOSER_GET_PRIVATE (composer);
+ 
+ 	e_composer_private_init (composer);
+@@ -3050,6 +3053,32 @@ is_special_header (const gchar *hdr_name)
+ 	return FALSE;
+ }
+ 
++
++void
++e_msg_composer_set_lite (void)
++{
++	composer_lite = TRUE;
++}
++
++gboolean 	
++e_msg_composer_get_lite (void)
++{
++	return composer_lite;
++}
++
++EMsgComposer *
++e_msg_composer_lite_new (void)
++{
++	EMsgComposer *composer;
++
++	/* Init lite-composer for ever for the session */
++	composer_lite = TRUE;
++
++ 	composer = e_msg_composer_new_with_type (E_MSG_COMPOSER_MAIL);
++
++	return composer;
++}
++
+ static void
+ e_msg_composer_set_pending_body (EMsgComposer *composer,
+                                  gchar *text,
+diff --git a/composer/e-msg-composer.h b/composer/e-msg-composer.h
+index f6b2ca7..0c0ecea 100644
+--- a/composer/e-msg-composer.h
++++ b/composer/e-msg-composer.h
+@@ -59,6 +59,7 @@ typedef struct _EMsgComposerPrivate EMsgComposerPrivate;
+ struct _EMsgComposer {
+ 	GtkhtmlEditor parent;
+ 	EMsgComposerPrivate *priv;
++	gboolean lite;
+ };
+ 
+ struct _EMsgComposerClass {
+@@ -73,11 +74,14 @@ struct _EAttachmentBar;
+ 
+ GType		e_msg_composer_get_type		(void);
+ EMsgComposer *	e_msg_composer_new		(void);
++EMsgComposer *  e_msg_composer_lite_new 	(void);
+ EMsgComposer *	e_msg_composer_new_with_type	(gint type);
+ EMsgComposer *	e_msg_composer_new_with_message	(CamelMimeMessage *msg);
+ EMsgComposer *	e_msg_composer_new_from_url	(const gchar *url);
+ EMsgComposer *	e_msg_composer_new_redirect	(CamelMimeMessage *message,
+ 						 const gchar *resent_from);
++void		e_msg_composer_set_lite 	(void);
++gboolean 	e_msg_composer_get_lite 	(void);
+ 
+ void		e_msg_composer_send		(EMsgComposer *composer);
+ void		e_msg_composer_save_draft	(EMsgComposer *composer);
 diff --git a/e-util/e-config.c b/e-util/e-config.c
 index 4530d7a..4c7116b 100644
 --- a/e-util/e-config.c
@@ -1183,10 +1489,83 @@ index 9a5b09a..42421c2 100644
  gboolean em_account_editor_save (EMAccountEditor *gui);
  void em_account_editor_destroy (EMAccountEditor *gui);
 diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c
-index 8822566..12b4c48 100644
+index 8822566..4985fc3 100644
 --- a/mail/em-composer-utils.c
 +++ b/mail/em-composer-utils.c
-@@ -1711,7 +1711,7 @@ generate_account_hash (void)
+@@ -651,13 +651,16 @@ em_composer_utils_setup_callbacks (EMsgComposer *composer,
+ /* Composing messages... */
+ 
+ static EMsgComposer *
+-create_new_composer (const char *subject, const char *fromuri, gboolean use_default_callbacks)
++create_new_composer (const char *subject, const char *fromuri, gboolean use_default_callbacks, gboolean lite)
+ {
+ 	EMsgComposer *composer;
+ 	EComposerHeaderTable *table;
+ 	EAccount *account = NULL;
+ 
+-	composer = e_msg_composer_new ();
++	if (lite)
++		composer = e_msg_composer_lite_new ();
++	else
++		composer = e_msg_composer_new ();
+ 	if (composer == NULL)
+ 		return NULL;
+ 
+@@ -685,7 +688,7 @@ em_utils_compose_new_message (const char *fromuri)
+ {
+ 	GtkWidget *composer;
+ 
+-	composer = (GtkWidget *) create_new_composer ("", fromuri, TRUE);
++	composer = (GtkWidget *) create_new_composer ("", fromuri, TRUE, FALSE);
+ 	if (composer == NULL)
+ 		return;
+ 
+@@ -695,6 +698,26 @@ em_utils_compose_new_message (const char *fromuri)
+ }
+ 
+ /**
++ * em_utils_compose_lite_new_message:
++ *
++ * Opens a new composer window as a child window of @parent's toplevel
++ * window.
++ **/
++struct _EMsgComposer *
++em_utils_compose_lite_new_message (const char *fromuri)
++{
++	GtkWidget *composer;
++
++	composer = (GtkWidget *) create_new_composer ("", fromuri, TRUE, TRUE);
++	if (composer == NULL)
++		return;
++
++	composer_set_no_change (E_MSG_COMPOSER (composer), TRUE);
++
++	return composer;
++}
++
++/**
+  * em_utils_compose_new_message_with_mailto:
+  * @url: mailto url
+  *
+@@ -1071,7 +1094,7 @@ forward_attached (CamelFolder *folder, GPtrArray *uids, GPtrArray *messages, Cam
+ {
+ 	EMsgComposer *composer;
+ 
+-	composer = create_new_composer (subject, fromuri, TRUE);
++	composer = create_new_composer (subject, fromuri, TRUE, FALSE);
+ 	if (composer == NULL)
+ 		return;
+ 
+@@ -1150,7 +1173,7 @@ forward_non_attached (CamelFolder *folder, GPtrArray *uids, GPtrArray *messages,
+ 		text = em_utils_message_to_html (message, _("-------- Forwarded Message --------"), flags, &len, NULL, NULL);
+ 
+ 		if (text) {
+-			composer = create_new_composer (subject, fromuri, !uids || !uids->pdata [i]);
++			composer = create_new_composer (subject, fromuri, !uids || !uids->pdata [i], FALSE);
+ 
+ 			if (composer) {
+ 				if (CAMEL_IS_MULTIPART(camel_medium_get_content_object((CamelMedium *)message)))
+@@ -1711,7 +1734,7 @@ generate_account_hash (void)
  	return account_hash;
  }
  
@@ -1195,7 +1574,7 @@ index 8822566..12b4c48 100644
  em_utils_camel_address_to_destination (CamelInternetAddress *iaddr)
  {
  	EDestination *dest, **destv;
-@@ -1913,6 +1913,12 @@ get_reply_sender (CamelMimeMessage *message, CamelInternetAddress *to, CamelNNTP
+@@ -1913,6 +1936,12 @@ get_reply_sender (CamelMimeMessage *message, CamelInternetAddress *to, CamelNNTP
  	}
  }
  
@@ -1208,7 +1587,7 @@ index 8822566..12b4c48 100644
  static gboolean
  get_reply_list (CamelMimeMessage *message, CamelInternetAddress *to)
  {
-@@ -2026,6 +2032,13 @@ get_reply_all (CamelMimeMessage *message, CamelInternetAddress *to, CamelInterne
+@@ -2026,6 +2055,13 @@ get_reply_all (CamelMimeMessage *message, CamelInternetAddress *to, CamelInterne
  	g_hash_table_destroy (rcpt_hash);
  }
  
@@ -1222,7 +1601,7 @@ index 8822566..12b4c48 100644
  enum {
  	ATTRIB_UNKNOWN,
  	ATTRIB_CUSTOM,
-@@ -2283,6 +2296,21 @@ struct _reply_data {
+@@ -2283,6 +2319,21 @@ struct _reply_data {
  	int mode;
  };
  
@@ -1244,8 +1623,29 @@ index 8822566..12b4c48 100644
  static void
  reply_to_message(CamelFolder *folder, const char *uid, CamelMimeMessage *message, void *user_data)
  {
+@@ -2313,7 +2364,7 @@ reply_to_message(CamelFolder *folder, const char *uid, CamelMimeMessage *message
+  * may be supplied in order to update the message flags once it has
+  * been replied to.
+  **/
+-void
++struct _EMsgComposer *
+ em_utils_reply_to_message(CamelFolder *folder, const char *uid, CamelMimeMessage *message, int mode, EMFormat *source)
+ {
+ 	CamelInternetAddress *to, *cc;
+@@ -2391,7 +2442,10 @@ em_utils_reply_to_message(CamelFolder *folder, const char *uid, CamelMimeMessage
+ 
+ 	composer_set_no_change (composer, TRUE);
+ 
+-	gtk_widget_show (GTK_WIDGET (composer));
++	if (!e_msg_composer_get_lite())
++		gtk_widget_show (GTK_WIDGET (composer));
++
++	return composer;
+ }
+ 
+ /* Posting replies... */
 diff --git a/mail/em-composer-utils.h b/mail/em-composer-utils.h
-index d17a98c..8b5d279 100644
+index d17a98c..857d74c 100644
 --- a/mail/em-composer-utils.h
 +++ b/mail/em-composer-utils.h
 @@ -34,9 +34,12 @@ extern "C" {
@@ -1261,16 +1661,25 @@ index d17a98c..8b5d279 100644
  
  void em_composer_utils_setup_callbacks (struct _EMsgComposer *composer, struct _CamelFolder *folder, const char *uid,
  					guint32 flags, guint32 set, struct _CamelFolder *drafts, const char *drafts_uid);
-@@ -77,9 +80,15 @@ enum {
+@@ -47,6 +50,7 @@ void em_utils_composer_send_cb(struct _EMsgComposer *composer, gpointer user_dat
+ void em_utils_composer_save_draft_cb(struct _EMsgComposer *composer, gpointer user_data);
+ 
+ void em_utils_compose_new_message (const char *fromuri);
++struct _EMsgComposer * em_utils_compose_lite_new_message (const char *fromuri); 
+ 
+ /* FIXME: mailto?  url?  should make up its mind what its called.  imho use 'uri' */
+ void em_utils_compose_new_message_with_mailto (const char *url, const char *fromuri);
+@@ -77,9 +81,15 @@ enum {
  	REPLY_MODE_LIST
  };
  
+-void em_utils_reply_to_message (struct _CamelFolder *, const char *uid, struct _CamelMimeMessage *message, int mode, struct _EMFormat *source);
 +char *em_utils_construct_composer_text (struct _CamelMimeMessage *message, struct _EMFormat *source);
 +void em_utils_get_reply_sender (struct _CamelMimeMessage *message, struct _CamelInternetAddress *to, struct _CamelNNTPAddress *postto);
 +void em_utils_get_reply_all (struct _CamelMimeMessage *message, struct _CamelInternetAddress *to, struct _CamelInternetAddress *cc, struct _CamelNNTPAddress *postto);
 +
 +
- void em_utils_reply_to_message (struct _CamelFolder *, const char *uid, struct _CamelMimeMessage *message, int mode, struct _EMFormat *source);
++struct _EMsgComposer * em_utils_reply_to_message (struct _CamelFolder *, const char *uid, struct _CamelMimeMessage *message, int mode, struct _EMFormat *source);
  
  void em_utils_post_reply_to_message_by_uid (struct _CamelFolder *folder, const char *uid);
 +struct _EDestination ** em_utils_camel_address_to_destination (struct _CamelInternetAddress *iaddr);



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