+
+static void
+update_store_account_handlers (ModestFolderView *self, TnyList *account_list)
+{
+ gint size;
+ ModestFolderViewPrivate *priv;
+ TnyIterator *iter;
+
+ priv = MODEST_FOLDER_VIEW_GET_PRIVATE(self);
+
+ /* Listen to subscription changes */
+ size = tny_list_get_length (TNY_LIST (account_list)) * sizeof (gulong);
+
+ g_assert (priv->store_accounts_handlers == NULL); /* don't leak */
+ priv->store_accounts_handlers = g_malloc0 (size);
+ iter = tny_list_create_iterator (account_list);
+
+ if (!tny_iterator_is_done (iter))
+ priv->view_is_empty = FALSE;
+ else {
+ gint i = 0;
+ while (!tny_iterator_is_done (iter)) {
+
+ priv->store_accounts_handlers [i++] =
+ g_signal_connect (G_OBJECT (tny_iterator_get_current (iter)),
+ "subscription_changed",
+ G_CALLBACK (on_subscription_changed),
+ self);
+ tny_iterator_next (iter);
+ }
+ }
+ g_object_unref (iter);
+}
+