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