aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-04-14 00:50:00 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-06-30 00:41:54 +0800
commit2bdd6077740de486821165e007b02f0a380f406e (patch)
tree119da2f6e8dbb96652802868324c38d3b90c0773 /mail
parentbdc73471827871c2f9a6f213c1cfa4e9839548a9 (diff)
downloadgsoc2013-evolution-2bdd6077740de486821165e007b02f0a380f406e.tar.gz
gsoc2013-evolution-2bdd6077740de486821165e007b02f0a380f406e.tar.zst
gsoc2013-evolution-2bdd6077740de486821165e007b02f0a380f406e.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. */