From: Sergio Villar Senin Date: Tue, 13 Oct 2009 11:26:42 +0000 (+0200) Subject: Perform a sync() of the currently viewed folder when doing send/receive X-Git-Tag: 3.1.8~3 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=11debe397cc1302af35ce911e71a3226811349d2 Perform a sync() of the currently viewed folder when doing send/receive Fixes NB#140509 (1/3) --- diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index 8bde5ca..87f8627 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -2151,6 +2151,25 @@ modest_ui_actions_on_sort (GtkAction *action, modest_utils_run_sort_dialog (GTK_WINDOW (window), MODEST_SORT_HEADERS); } +static void +sync_folder_cb (TnyFolder *folder, + gboolean cancelled, + GError *err, + gpointer user_data) +{ + ModestHeaderView *header_view = (ModestHeaderView *) user_data; + + tny_folder_refresh_async (folder, NULL, NULL, NULL); + /* ModestWindow *parent = (ModestWindow *) gtk_widget_get_ancestor ((GtkWidget *) user_data, GTK_TYPE_WINDOW); */ + + /* We must clear first, because otherwise set_folder will ignore + the change as the folders are the same */ + /* modest_header_view_clear (header_view); */ + /* modest_header_view_set_folder (header_view, folder, TRUE, parent, NULL, NULL); */ + + g_object_unref (header_view); +} + static gboolean idle_refresh_folder (gpointer source) { @@ -2173,11 +2192,8 @@ idle_refresh_folder (gpointer source) if (header_view) { TnyFolder *folder = modest_header_view_get_folder (header_view); if (folder) { - /* We must clear first, because otherwise set_folder will ignore - the change as the folders are the same */ - modest_header_view_clear (header_view); - modest_header_view_set_folder (header_view, folder, TRUE, - (ModestWindow *) source, NULL, NULL); + /* Sync the folder status */ + tny_folder_sync_async (folder, TRUE, sync_folder_cb, NULL, g_object_ref (header_view)); g_object_unref (folder); } }