aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-04-14 00:50:00 +0800
committerMatthew Barnes <mbarnes@redhat.com>2011-04-14 00:50:00 +0800
commit0b07e836c2aaf32c39fd4795a5f0ec6397b643ff (patch)
tree88fb0afc0eabb366969b98af3c59c898bde1292d /mail
parent27908060c3b2c319f582f02079406859668eb005 (diff)
downloadgsoc2013-evolution-0b07e836c2aaf32c39fd4795a5f0ec6397b643ff.tar.gz
gsoc2013-evolution-0b07e836c2aaf32c39fd4795a5f0ec6397b643ff.tar.zst
gsoc2013-evolution-0b07e836c2aaf32c39fd4795a5f0ec6397b643ff.zip
Don't try to refresh or sync mail folders when offline.
Switching between mail folders in offline mode produces lots of annoying alerts for operations we shouldn't even be attempting.
Diffstat (limited to 'mail')
-rw-r--r--mail/e-mail-paned-view.c4
-rw-r--r--mail/e-mail-reader.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/mail/e-mail-paned-view.c b/mail/e-mail-paned-view.c
index f1d5cf1509..20a0980949 100644
--- a/mail/e-mail-paned-view.c
+++ b/mail/e-mail-paned-view.c
@@ -493,7 +493,9 @@ mail_paned_view_set_folder (EMailReader *reader,
if (folder == NULL)
goto exit;
- mail_refresh_folder (folder, NULL, NULL);
+ /* Only refresh the folder if we're online. */
+ if (e_shell_get_online (shell))
+ mail_refresh_folder (folder, NULL, NULL);
/* This is a one-time-only callback. */
if (MESSAGE_LIST (message_list)->cursor_uid == NULL &&
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index 30480fb1d6..f26921c328 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -2906,18 +2906,24 @@ mail_reader_set_folder (EMailReader *reader,
EMFormatHTML *formatter;
CamelFolder *previous_folder;
GtkWidget *message_list;
+ EMailBackend *backend;
+ EShell *shell;
const gchar *previous_folder_uri;
gboolean outgoing;
priv = E_MAIL_READER_GET_PRIVATE (reader);
+ backend = e_mail_reader_get_backend (reader);
formatter = e_mail_reader_get_formatter (reader);
message_list = e_mail_reader_get_message_list (reader);
previous_folder = e_mail_reader_get_folder (reader);
previous_folder_uri = e_mail_reader_get_folder_uri (reader);
- if (previous_folder != NULL)
+ shell = e_shell_backend_get_shell (E_SHELL_BACKEND (backend));
+
+ /* Only synchronize the folder if we're online. */
+ if (previous_folder != NULL && e_shell_get_online (shell))
mail_sync_folder (previous_folder, NULL, NULL);
/* Skip the rest if we're already viewing the folder. */