diff options
author | Milan Crha <mcrha@redhat.com> | 2010-04-01 20:02:43 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2010-04-01 20:02:43 +0800 |
commit | 94cc603cca2152ad8aedcbec3cd0e28110e9a21c (patch) | |
tree | ee455b029fff412b0ce84004d7b5161912841fba /mail/e-mail-browser.c | |
parent | 73c01425323bb9208ad477fc06ff96cc33d1cafc (diff) | |
download | gsoc2013-evolution-94cc603cca2152ad8aedcbec3cd0e28110e9a21c.tar gsoc2013-evolution-94cc603cca2152ad8aedcbec3cd0e28110e9a21c.tar.gz gsoc2013-evolution-94cc603cca2152ad8aedcbec3cd0e28110e9a21c.tar.bz2 gsoc2013-evolution-94cc603cca2152ad8aedcbec3cd0e28110e9a21c.tar.lz gsoc2013-evolution-94cc603cca2152ad8aedcbec3cd0e28110e9a21c.tar.xz gsoc2013-evolution-94cc603cca2152ad8aedcbec3cd0e28110e9a21c.tar.zst gsoc2013-evolution-94cc603cca2152ad8aedcbec3cd0e28110e9a21c.zip |
Bug #374533 - Read window stays open after last email is deleted
Diffstat (limited to 'mail/e-mail-browser.c')
-rw-r--r-- | mail/e-mail-browser.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 96f168fec9..26d3a876f1 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -267,6 +267,25 @@ mail_browser_message_selected_cb (EMailBrowser *browser, } static gboolean +close_on_idle_cb (gpointer browser) +{ + e_mail_browser_close (browser); + return FALSE; +} + +static void +mail_browser_message_list_built_cb (EMailBrowser *browser, MessageList *message_list) +{ + g_return_if_fail (browser != NULL); + g_return_if_fail (E_IS_MAIL_BROWSER (browser)); + g_return_if_fail (message_list != NULL); + g_return_if_fail (IS_MESSAGE_LIST (message_list)); + + if (!message_list_count (message_list)) + g_idle_add (close_on_idle_cb, browser); +} + +static gboolean mail_browser_popup_event_cb (EMailBrowser *browser, GdkEventButton *event, const gchar *uri) @@ -487,6 +506,10 @@ mail_browser_constructed (GObject *object) G_CALLBACK (mail_browser_message_selected_cb), object); g_signal_connect_swapped ( + priv->message_list, "message-list-built", + G_CALLBACK (mail_browser_message_list_built_cb), object); + + g_signal_connect_swapped ( web_view, "popup-event", G_CALLBACK (mail_browser_popup_event_cb), object); |