diff options
-rw-r--r-- | composer/ChangeLog | 1 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 22 |
2 files changed, 22 insertions, 1 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index ea41af4a34..1f3b0f4824 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -2,6 +2,7 @@ * e-msg-composer.c (e_msg_composer_set_headers): (e_msg_composer_set_body_text): new functions + (exit_cb): Connect "Exit" menu item finally. * e-msg-composer-hdrs.c: const poisoning (e_msg_composer_hdrs_set_subject): diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c index 220880ee4c..d4ed8d49bf 100644 --- a/composer/e-msg-composer.c +++ b/composer/e-msg-composer.c @@ -277,6 +277,26 @@ send_cb (GtkWidget *widget, } static void +exit_dialog_cb (int reply, gpointer data) +{ + if (reply == 0) + gtk_widget_destroy (GTK_WIDGET (data)); +} + +static void +exit_cb (GtkWidget *widget, gpointer data) +{ + EMsgComposer *composer = E_MSG_COMPOSER (data); + GtkWindow *parent = + GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (data), + GTK_TYPE_WINDOW)); + + gnome_ok_cancel_dialog_parented ("Discard this message?", + exit_dialog_cb, composer, parent); +} + + +static void menu_view_attachments_activate_cb (GtkWidget *widget, gpointer data) { @@ -383,7 +403,7 @@ static GnomeUIInfo file_tree[] = { GNOMEUIINFO_ITEM_STOCK (N_("Send"), N_("Send the message"), send_cb, GNOME_STOCK_MENU_MAIL_SND), GNOMEUIINFO_SEPARATOR, - GNOMEUIINFO_MENU_EXIT_ITEM (NULL, NULL), + GNOMEUIINFO_MENU_EXIT_ITEM (exit_cb, NULL), GNOMEUIINFO_END }; |