diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 5 | ||||
-rw-r--r-- | mail/component-factory.c | 21 | ||||
-rw-r--r-- | mail/mail-ops.c | 4 |
3 files changed, 27 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 1cfa0ca1da..5b238f41c5 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,8 @@ +2002-06-03 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (request_quit): Prompt the user to see if he + really wants to quit when there are queued messages in the Outbox. + 2002-06-01 Not Zed <NotZed@Ximian.com> * mail-local.c (mlf_getv): Implement, return a text description of diff --git a/mail/component-factory.c b/mail/component-factory.c index 7de338cb95..668b1fef48 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -940,7 +940,26 @@ static gboolean request_quit (EvolutionShellComponent *shell_component, void *closure) { - return e_msg_composer_request_close_all (); + GtkWidget *dialog; + + if (!e_msg_composer_request_close_all ()) + return FALSE; + + if (!camel_folder_get_message_count (outbox_folder)) + return TRUE; + + dialog = gnome_message_box_new (_("You have unsent messages, do you wish to quit anyway?"), + GNOME_MESSAGE_BOX_QUESTION, + GNOME_STOCK_BUTTON_YES, /* Quit */ + GNOME_STOCK_BUTTON_NO, /* Don't quit */ + NULL); + + gtk_window_set_title (GTK_WINDOW (dialog), _("Warning: Unsent Messages")); + gnome_dialog_set_default (GNOME_DIALOG (dialog), 1); + if (gnome_dialog_run_and_close (GNOME_DIALOG (dialog)) == 0) + return TRUE; + + return FALSE; } static BonoboObject * diff --git a/mail/mail-ops.c b/mail/mail-ops.c index ed7a876585..0572f1596d 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -582,7 +582,7 @@ struct _send_mail_msg { CamelFilterDriver *driver; char *destination; CamelMimeMessage *message; - + void (*done)(char *uri, CamelMimeMessage *message, gboolean sent, void *data); void *data; }; @@ -628,7 +628,7 @@ static void send_mail_free (struct _mail_msg *mm) { struct _send_mail_msg *m = (struct _send_mail_msg *)mm; - + camel_object_unref (CAMEL_OBJECT (m->driver)); camel_object_unref (CAMEL_OBJECT (m->message)); g_free (m->destination); |