aboutsummaryrefslogtreecommitdiffstats
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
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.
-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. */