+ }
+}
+
+
+static void
+refresh_folder_status_update (TnyMsgFolderIface *folder, const gchar *msg,
+ gint status_id, gpointer user_data)
+{
+ ModestTnyHeaderTreeView *self;
+ ModestTnyHeaderTreeViewPrivate *priv;
+
+ self = MODEST_TNY_HEADER_TREE_VIEW (user_data);
+ priv = MODEST_TNY_HEADER_TREE_VIEW_GET_PRIVATE(self);
+
+ g_signal_emit (G_OBJECT(self),
+ signals[STATUS_UPDATE_SIGNAL], 0,
+ msg, status_id);
+ if (msg)
+ g_timeout_add (750,
+ (GSourceFunc)refresh_folder_finish_status_update,
+ self);
+
+ priv->status_id = status_id;
+}
+
+
+static gboolean
+refresh_folder_finish_status_update (gpointer user_data)
+{
+ ModestTnyHeaderTreeView *self;
+ ModestTnyHeaderTreeViewPrivate *priv;
+
+ self = MODEST_TNY_HEADER_TREE_VIEW (user_data);
+ priv = MODEST_TNY_HEADER_TREE_VIEW_GET_PRIVATE(self);
+
+ if (priv->status_id == 0)
+ return FALSE;
+
+ refresh_folder_status_update (NULL, NULL, priv->status_id,
+ user_data);
+ priv->status_id = 0;
+
+ return FALSE;
+}
+
+
+gboolean
+modest_tny_header_tree_view_set_folder (ModestTnyHeaderTreeView *self,
+ TnyMsgFolderIface *folder)
+{
+
+ if (!folder) /* when there is no folder */