aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-browser.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2010-04-01 20:02:43 +0800
committerMilan Crha <mcrha@redhat.com>2010-04-01 20:02:43 +0800
commit94cc603cca2152ad8aedcbec3cd0e28110e9a21c (patch)
treeee455b029fff412b0ce84004d7b5161912841fba /mail/e-mail-browser.c
parent73c01425323bb9208ad477fc06ff96cc33d1cafc (diff)
downloadgsoc2013-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.c23
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);