From ed4fea3fe3bdd9eb41feae648a0dbe84f410ad1c Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 21 Apr 2000 21:28:17 +0000 Subject: Connect "Exit" menu item finally. * e-msg-composer.c (exit_cb): Connect "Exit" menu item finally. svn path=/trunk/; revision=2549 --- composer/ChangeLog | 1 + composer/e-msg-composer.c | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) 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 @@ -276,6 +276,26 @@ send_cb (GtkWidget *widget, gtk_signal_emit (GTK_OBJECT (data), signals[SEND]); } +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 }; -- cgit