diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2008-04-09 10:00:45 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2008-04-09 10:00:45 +0800 |
commit | 534e5a1764bdbeb542cf3531c2575df451d8e572 (patch) | |
tree | cf340bb3975698b2cf1dfd61ac9bf6b10805bbc3 /composer/e-composer-actions.c | |
parent | fea1867db330edef4260cd057e1f73b61aacc6fa (diff) | |
download | gsoc2013-evolution-534e5a1764bdbeb542cf3531c2575df451d8e572.tar.gz gsoc2013-evolution-534e5a1764bdbeb542cf3531c2575df451d8e572.tar.zst gsoc2013-evolution-534e5a1764bdbeb542cf3531c2575df451d8e572.zip |
** Fixes bug #523413
2008-04-08 Matthew Barnes <mbarnes@redhat.com>
** Fixes bug #523413
* composer/e-msg-composer.c (msg_composer_dispose):
Use the 'application_exiting' private flag to determine whether
to tell e_composer_autosave_unregister() to delete the autosave
file.
* composer/e-msg-composer.c (msg_composer_class_init),
(e_msg_composer_save_draft):
Remove the 'quit' parameter from the 'save-draft' signal.
* composer/e-msg-composer.c (e_msg_composer_request_close_all):
Take an autosave snapshot before activating the CLOSE action,
and set the private 'application_exiting' flag. This should
avoid prompting the user before shutting down.
* composer/e-composer-actions.c (action_close_cb):
When electing to save a message before closing, hide the window
immediately. The callback function can then check the window's
visibility after the save is complete to know whether to destroy
the window.
* composer/e-composer-autosave.c (e_composer_autosave_unregister):
Add a 'delete_file' boolean parameter to determine whether to
delete the autosave file.
* composer/e-composer-private.h:
Add an 'application_exiting' flag.
* mail/em-composer-utils.c (save_draft_done):
Check the composer window's visibility to determine whether to
destroy the window. See the corresponding composer/ChangeLog
entry to get the full story.
* mail/em-composer-utils.c (em_utils_composer_save_draft_cb):
Remove the 'quit' parameter.
svn path=/trunk/; revision=35346
Diffstat (limited to 'composer/e-composer-actions.c')
-rw-r--r-- | composer/e-composer-actions.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/composer/e-composer-actions.c b/composer/e-composer-actions.c index aeae508153..ecf7e84346 100644 --- a/composer/e-composer-actions.c +++ b/composer/e-composer-actions.c @@ -119,19 +119,21 @@ action_close_cb (GtkAction *action, { GtkhtmlEditor *editor; EComposerHeaderTable *table; + GtkWidget *widget; const gchar *subject; gint response; editor = GTKHTML_EDITOR (composer); + widget = GTK_WIDGET (composer); if (!gtkhtml_editor_get_changed (editor) && e_composer_autosave_get_saved (composer)) { - gtk_widget_destroy (GTK_WIDGET (composer)); + gtk_widget_destroy (widget); return; } - gdk_window_raise (GTK_WIDGET (composer)->window); + gdk_window_raise (widget->window); table = e_msg_composer_get_header_table (composer); subject = e_composer_header_table_get_subject (table); @@ -146,11 +148,12 @@ action_close_cb (GtkAction *action, switch (response) { case GTK_RESPONSE_YES: + gtk_widget_hide (widget); gtk_action_activate (ACTION (SAVE_DRAFT)); break; case GTK_RESPONSE_NO: - gtk_widget_destroy (GTK_WIDGET (composer)); + gtk_widget_destroy (widget); break; case GTK_RESPONSE_CANCEL: |