+static void
+create_folders_view (ModestWindowMgr *self)
+{
+ ModestWindow *folders_window;
+ ModestAccountMgr *mgr;
+ const gchar *acc_name;
+
+ folders_window = MODEST_WINDOW (modest_folder_window_new (NULL));
+ mgr = modest_runtime_get_account_mgr ();
+ acc_name = modest_account_mgr_get_default_account (mgr);
+ if (!acc_name)
+ acc_name = MODEST_LOCAL_FOLDERS_ACCOUNT_NAME;
+ modest_folder_window_set_account (MODEST_FOLDER_WINDOW (folders_window),
+ acc_name);
+ modest_window_mgr_register_window (self, folders_window, NULL);
+ gtk_widget_show (GTK_WIDGET (folders_window));
+}
+
+static void
+on_account_removed (TnyAccountStore *acc_store,
+ TnyAccount *account,
+ gpointer user_data)
+{
+ HildonWindowStack *stack;
+ ModestWindow *current_top;
+
+ /* Ignore transport account removals */
+ if (TNY_IS_TRANSPORT_ACCOUNT (account))
+ return;
+
+ stack = hildon_window_stack_get_default ();
+ current_top = (ModestWindow *) hildon_window_stack_peek (stack);
+
+ if (current_top &&
+ MODEST_IS_ACCOUNTS_WINDOW (current_top) &&
+ !modest_account_mgr_has_accounts (modest_runtime_get_account_mgr (), TRUE))
+ create_folders_view (MODEST_WINDOW_MGR (user_data));
+}
+