diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-04-14 00:50:00 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2011-04-14 00:50:00 +0800 |
commit | 0b07e836c2aaf32c39fd4795a5f0ec6397b643ff (patch) | |
tree | 88fb0afc0eabb366969b98af3c59c898bde1292d /mail | |
parent | 27908060c3b2c319f582f02079406859668eb005 (diff) | |
download | gsoc2013-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.c | 4 | ||||
-rw-r--r-- | mail/e-mail-reader.c | 8 |
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. */ |