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.
This commit is contained in:
Matthew Barnes
2011-04-13 12:50:00 -04:00
parent 27908060c3
commit 0b07e836c2
2 changed files with 10 additions and 2 deletions
+3 -1
View File
@@ -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 &&
+7 -1
View File
@@ -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. */