aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libemail-engine/mail-ops.c44
-rw-r--r--libemail-engine/mail-ops.h4
-rw-r--r--mail/e-mail-paned-view.c2
-rw-r--r--modules/mail/e-mail-shell-view-actions.c22
4 files changed, 19 insertions, 53 deletions
diff --git a/libemail-engine/mail-ops.c b/libemail-engine/mail-ops.c
index 27476d90ae..5543151aef 100644
--- a/libemail-engine/mail-ops.c
+++ b/libemail-engine/mail-ops.c
@@ -1325,50 +1325,6 @@ mail_sync_store (CamelStore *store,
/* ******************************************************************************** */
-static gchar *
-refresh_folder_desc (struct _sync_folder_msg *m)
-{
- return g_strdup_printf (
- _("Refreshing folder '%s'"),
- camel_folder_get_full_name (m->folder));
-}
-
-static void
-refresh_folder_exec (struct _sync_folder_msg *m,
- GCancellable *cancellable,
- GError **error)
-{
- camel_folder_refresh_info_sync (
- m->folder, cancellable, error);
-}
-
-/* we just use the sync stuff where we can, since it would be the same */
-static MailMsgInfo refresh_folder_info = {
- sizeof (struct _sync_folder_msg),
- (MailMsgDescFunc) refresh_folder_desc,
- (MailMsgExecFunc) refresh_folder_exec,
- (MailMsgDoneFunc) sync_folder_done,
- (MailMsgFreeFunc) sync_folder_free
-};
-
-void
-mail_refresh_folder (CamelFolder *folder,
- void (*done) (CamelFolder *folder,
- gpointer data),
- gpointer data)
-{
- struct _sync_folder_msg *m;
-
- m = mail_msg_new (&refresh_folder_info);
- m->folder = g_object_ref (folder);
- m->data = data;
- m->done = done;
-
- mail_msg_slow_ordered_push (m);
-}
-
-/* ******************************************************************************** */
-
static gboolean
folder_is_from_source_uid (CamelFolder *folder,
const gchar *source_uid)
diff --git a/libemail-engine/mail-ops.h b/libemail-engine/mail-ops.h
index 7ec9b14f4f..84b4699286 100644
--- a/libemail-engine/mail-ops.h
+++ b/libemail-engine/mail-ops.h
@@ -45,10 +45,6 @@ void mail_sync_folder (CamelFolder *folder,
void mail_sync_store (CamelStore *store, gint expunge,
void (*done) (CamelStore *store, gpointer data), gpointer data);
-void mail_refresh_folder (CamelFolder *folder,
- void (*done) (CamelFolder *folder, gpointer data),
- gpointer data);
-
void mail_expunge_folder (CamelFolder *folder);
void mail_empty_trash (CamelStore *store);
diff --git a/mail/e-mail-paned-view.c b/mail/e-mail-paned-view.c
index 24db42dda9..55fbd93589 100644
--- a/mail/e-mail-paned-view.c
+++ b/mail/e-mail-paned-view.c
@@ -535,7 +535,7 @@ mail_paned_view_set_folder (EMailReader *reader,
/* Only refresh the folder if we're online. */
if (e_shell_get_online (shell))
- mail_refresh_folder (folder, NULL, NULL);
+ e_mail_reader_refresh_folder (reader, folder);
/* This is a one-time-only callback. */
if (MESSAGE_LIST (message_list)->cursor_uid == NULL &&
diff --git a/modules/mail/e-mail-shell-view-actions.c b/modules/mail/e-mail-shell-view-actions.c
index 04d23ef509..3d39c4f3dc 100644
--- a/modules/mail/e-mail-shell-view-actions.c
+++ b/modules/mail/e-mail-shell-view-actions.c
@@ -522,16 +522,30 @@ static void
action_mail_folder_refresh_cb (GtkAction *action,
EMailShellView *mail_shell_view)
{
+ EMailShellContent *mail_shell_content;
EMailShellSidebar *mail_shell_sidebar;
+ EMailView *mail_view;
EMFolderTree *folder_tree;
- CamelFolder *folder;
+ CamelStore *selected_store = NULL;
+ gchar *selected_folder_name = NULL;
+
+ mail_shell_content = mail_shell_view->priv->mail_shell_content;
+ mail_view = e_mail_shell_content_get_mail_view (mail_shell_content);
mail_shell_sidebar = mail_shell_view->priv->mail_shell_sidebar;
folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar);
- folder = em_folder_tree_get_selected_folder (folder_tree);
- g_return_if_fail (folder != NULL);
- mail_refresh_folder (folder, NULL, NULL);
+ em_folder_tree_get_selected (
+ folder_tree, &selected_store, &selected_folder_name);
+ g_return_if_fail (CAMEL_IS_STORE (selected_store));
+ g_return_if_fail (selected_folder_name != NULL);
+
+ e_mail_reader_refresh_folder_name (
+ E_MAIL_READER (mail_view),
+ selected_store, selected_folder_name);
+
+ g_object_unref (selected_store);
+ g_free (selected_folder_name);
}
static void