From: Sergio Villar Senin Date: Thu, 7 Dec 2006 12:50:12 +0000 (+0000) Subject: * Modified the maximum size of the entries of the edit msg window X-Git-Tag: git_migration_finished~4356 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=4890451afdc3b006fd724d86035c517478c1aaf2 * Modified the maximum size of the entries of the edit msg window * Fixed some leaks * Exchanged the order of argument of modest_text_utils_remove_address * Added support to add the reply to field in the header of a msg pmo-trunk-r523 --- diff --git a/src/gtk/modest-edit-msg-window.c b/src/gtk/modest-edit-msg-window.c index d7ff941..f70521a 100644 --- a/src/gtk/modest-edit-msg-window.c +++ b/src/gtk/modest-edit-msg-window.c @@ -376,10 +376,10 @@ init_window (ModestEditMsgWindow *obj) priv->from_field = modest_widget_factory_get_combo_box (priv->factory, MODEST_COMBO_BOX_TYPE_TRANSPORTS); - priv->to_field = gtk_entry_new_with_max_length (40); - priv->cc_field = gtk_entry_new_with_max_length (40); - priv->bcc_field = gtk_entry_new_with_max_length (40); - priv->subject_field = gtk_entry_new_with_max_length (40); + priv->to_field = gtk_entry_new_with_max_length (80); + priv->cc_field = gtk_entry_new_with_max_length (80); + priv->bcc_field = gtk_entry_new_with_max_length (80); + priv->subject_field = gtk_entry_new_with_max_length (80); header_table = gtk_table_new (5,2, FALSE); diff --git a/src/gtk/modest-main-window.c b/src/gtk/modest-main-window.c index 5f07051..ce0236c 100644 --- a/src/gtk/modest-main-window.c +++ b/src/gtk/modest-main-window.c @@ -225,7 +225,6 @@ on_menu_reply_forward (ModestMainWindow *self, guint action, GtkWidget *widget) ModestHeaderView *header_view; TnyList *header_list; TnyIterator *iter; - const gchar *from; gchar *reply_key, *forward_key; ModestMailOperationReplyType reply_type; ModestMailOperationForwardType forward_type; @@ -253,7 +252,7 @@ on_menu_reply_forward (ModestMainWindow *self, guint action, GtkWidget *widget) g_free (reply_key); forward_key = g_strdup_printf ("%s/%s", MODEST_CONF_NAMESPACE, MODEST_CONF_FORWARD_TYPE); - forward_type = modest_conf_get_int (conf, forward_key, NULL); + forward_type = modest_conf_get_int (conf, forward_key, &error); if (error || forward_type == 0) { g_warning ("key %s not defined", forward_key); forward_type = MODEST_MAIL_OPERATION_FORWARD_TYPE_INLINE; @@ -265,20 +264,32 @@ on_menu_reply_forward (ModestMainWindow *self, guint action, GtkWidget *widget) g_free (forward_key); if (header_list) { + TnyHeader *header, *new_header; + TnyFolder *folder; + TnyMsg *msg, *new_msg; + ModestEditType edit_type; + gchar *from, *email_key; + const gchar *account_name; + + /* We assume that we can only select messages of the + same folder and that we reply all of them from the + same account. In fact the interface currently only + allows single selection */ + account_name = modest_folder_view_get_selected_account (priv->folder_view); + email_key = g_strdup_printf ("%s/%s/%s", MODEST_ACCOUNT_NAMESPACE, + account_name, MODEST_ACCOUNT_EMAIL); + from = modest_conf_get_string (conf, email_key, NULL); + g_free (email_key); + iter = tny_list_create_iterator (header_list); - do { - TnyHeader *header, *new_header; - TnyFolder *folder; - TnyMsg *msg, *new_msg; - ModestEditType edit_type; + header = TNY_HEADER (tny_iterator_get_current (iter)); + folder = tny_header_get_folder (header); + do { /* Get msg from header */ header = TNY_HEADER (tny_iterator_get_current (iter)); - folder = tny_header_get_folder (header); msg = tny_folder_get_msg (folder, header, NULL); /* FIXME */ - from = modest_folder_view_get_selected_account (priv->folder_view); - /* FIXME: select proper action */ switch (action) { case 1: @@ -305,8 +316,7 @@ on_menu_reply_forward (ModestMainWindow *self, guint action, GtkWidget *widget) if (new_msg) { /* Set from */ new_header = tny_msg_get_header (new_msg); - tny_header_set_from (new_header, - modest_folder_view_get_selected_account (priv->folder_view)); + tny_header_set_from (new_header, from); /* Show edit window */ msg_win = modest_edit_msg_window_new (priv->widget_factory, @@ -317,10 +327,14 @@ on_menu_reply_forward (ModestMainWindow *self, guint action, GtkWidget *widget) /* Clean and go on */ g_object_unref (new_msg); } - tny_iterator_next (iter); } while (!tny_iterator_is_done (iter)); + + /* Clean */ + g_free (from); + g_object_unref (G_OBJECT (iter)); + g_object_unref (G_OBJECT (folder)); } } diff --git a/src/modest-mail-operation.c b/src/modest-mail-operation.c index 66611f9..72acc99 100644 --- a/src/modest-mail-operation.c +++ b/src/modest-mail-operation.c @@ -260,6 +260,7 @@ modest_mail_operation_send_new_mail (ModestMailOperation *mail_op, /* WARNING: set the header before assign values to it */ tny_msg_set_header (new_msg, header); tny_header_set_from (TNY_HEADER (header), from); + tny_header_set_replyto (TNY_HEADER (header), from); tny_header_set_to (TNY_HEADER (header), to); tny_header_set_cc (TNY_HEADER (header), cc); tny_header_set_bcc (TNY_HEADER (header), bcc); @@ -341,6 +342,7 @@ create_reply_forward_mail (TnyMsg *msg, const gchar *from, gboolean is_reply, gu new_header = TNY_HEADER (tny_camel_header_new ()); tny_msg_set_header (new_msg, new_header); tny_header_set_from (new_header, from); + tny_header_set_replyto (new_header, from); /* Change the subject */ new_subject = (gchar *) modest_text_utils_derived_subject (tny_header_get_subject(header), @@ -406,13 +408,18 @@ modest_mail_operation_create_reply_mail (TnyMsg *msg, { TnyMsg *new_msg; TnyHeader *new_header, *header; + const gchar* reply_to; new_msg = create_reply_forward_mail (msg, from, TRUE, reply_type); /* Fill the header */ header = tny_msg_get_header (msg); new_header = tny_msg_get_header (new_msg); - tny_header_set_to (new_header, tny_header_get_from (header)); + reply_to = tny_header_get_replyto (header); + if (reply_to) + tny_header_set_to (new_header, reply_to); + else + tny_header_set_to (new_header, tny_header_get_from (header)); switch (reply_mode) { gchar *new_cc = NULL; diff --git a/src/modest-text-utils.c b/src/modest-text-utils.c index 65b2e9a..ab90ef3 100644 --- a/src/modest-text-utils.c +++ b/src/modest-text-utils.c @@ -212,7 +212,7 @@ modest_text_utils_derived_subject (const gchar *subject, const gchar *prefix) } gchar * -modest_text_utils_remove_address (const gchar *address, const gchar *address_list) +modest_text_utils_remove_address (const gchar *address_list, const gchar *address) { char *dup, *token, *ptr, *result; GString *filtered_emails;