diff options
-rw-r--r-- | mail/ChangeLog | 14 | ||||
-rw-r--r-- | mail/mail-callbacks.c | 31 |
2 files changed, 40 insertions, 5 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 6d8c70eed5..c742349f96 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,17 @@ +2001-05-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (edit_msg_internal): Free the UIDs if the user + decides to not go through with editing all the messages he + selected. + (resend_msg): If the user attempts to resend more than 10 + messages, make sure he really means it. + (do_resend_messages): Richard Zach feels that "Resend" should open + the message(s) in a composer since he might want to edit at least + the recipients (maybe he needs to resend because the message + bounced the first time) and Ettore wants pretty much the same + thing. This makes "Resend" basically the same as "Edit" but for + previously sent messages, whereas "Edit" is only for Drafts. + 2001-05-08 Gediminas Paulauskas <menesis@delfi.lt> * mail-search.c: convert search entry to utf8. diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c index 8f42ebdbe8..98c8350903 100644 --- a/mail/mail-callbacks.c +++ b/mail/mail-callbacks.c @@ -1153,8 +1153,16 @@ edit_msg_internal (FolderBrowser *fb) uids = g_ptr_array_new (); message_list_foreach (fb->message_list, enumerate_msg, uids); - if (uids->len > 10 && !are_you_sure (_("Are you sure you want to edit all %d messages?"), uids, fb)) + if (uids->len > 10 && !are_you_sure (_("Are you sure you want to edit all %d messages?"), uids, fb)) { + int i; + + for (i = 0; i < uids->len; i++) + g_free (uids->pdata[i]); + + g_ptr_array_free (uids, TRUE); + return; + } mail_get_messages (fb->folder, uids, do_edit_messages, fb); } @@ -1179,13 +1187,15 @@ edit_msg (GtkWidget *widget, gpointer user_data) static void do_resend_messages (CamelFolder *folder, GPtrArray *uids, GPtrArray *messages, void *data) { - const MailConfigAccount *account; int i; - account = mail_config_get_default_account (); + for (i = 0; i < messages->len; i++) { + /* generate a new Message-Id because they need to be unique */ + camel_mime_message_set_message_id (messages->pdata[i], NULL); + } - for (i = 0; i < messages->len; i++) - mail_send_mail (account->transport->url, messages->pdata[i], NULL, NULL); + /* "Resend" should open up the composer to let the user edit the message */ + do_edit_messages (folder, uids, messages, data); } @@ -1211,6 +1221,17 @@ resend_msg (GtkWidget *widget, gpointer user_data) uids = g_ptr_array_new (); message_list_foreach (fb->message_list, enumerate_msg, uids); + if (uids->len > 10 && !are_you_sure (_("Are you sure you want to resend all %d messages?"), uids, fb)) { + int i; + + for (i = 0; i < uids->len; i++) + g_free (uids->pdata[i]); + + g_ptr_array_free (uids, TRUE); + + return; + } + mail_get_messages (fb->folder, uids, do_resend_messages, fb); } |