row_count_changed (self);
}
-static void row_count_changed (ModestAccountsWindow *self)
+static void
+row_count_changed (ModestAccountsWindow *self)
{
ModestAccountsWindowPrivate *priv;
GtkTreeModel *model;
gint count;
-
+
priv = MODEST_ACCOUNTS_WINDOW_GET_PRIVATE (self);
model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->account_view));
if (count == 0) {
gtk_widget_hide (priv->account_view);
gtk_widget_show (priv->no_accounts_container);
+ g_debug ("%s: hiding accounts view", __FUNCTION__);
} else {
gtk_widget_hide (priv->no_accounts_container);
gtk_widget_show (priv->account_view);
+ g_debug ("%s: showing accounts view", __FUNCTION__);
}
gtk_container_child_set (GTK_CONTAINER(priv->box), priv->pannable,
"expand", count > 0,
}
static void
+close_all_but_first (HildonWindowStack *stack)
+{
+ gint num_windows, i;
+ gboolean retval;
+
+ num_windows = hildon_window_stack_size (stack);
+
+ for (i = 0; i < (num_windows - 1); i++) {
+ GtkWidget *current_top;
+
+ /* Close window */
+ current_top = hildon_window_stack_peek (stack);
+ g_signal_emit_by_name (G_OBJECT (current_top), "delete-event", NULL, &retval);
+ }
+}
+
+static void
on_account_removed (TnyAccountStore *acc_store,
TnyAccount *account,
gpointer user_data)
header_view = modest_header_window_get_header_view (MODEST_HEADER_WINDOW (current_top));
folder = modest_header_view_get_folder (header_view);
if (folder) {
- gboolean retval;
-
/* Close if it's my account */
if (!TNY_IS_MERGE_FOLDER (folder)) {
TnyAccount *my_account;
my_account = tny_folder_get_account (folder);
if (my_account) {
if (my_account == account) {
- g_signal_emit_by_name (G_OBJECT (current_top),
- "delete-event",
- NULL, &retval);
+ close_all_but_first (stack);
deleted = TRUE;
}
g_object_unref (my_account);
/* Close if viewing outbox and no account left */
if (tny_folder_get_folder_type (folder) == TNY_FOLDER_TYPE_OUTBOX) {
if (!has_accounts) {
- g_signal_emit_by_name (G_OBJECT (current_top),
- "delete-event",
- NULL, &retval);
+ close_all_but_first (stack);
deleted = TRUE;
}
}
g_object_unref (folder);
- if (deleted) {
+ if (deleted)
current_top = (ModestWindow *) hildon_window_stack_peek (stack);
- }
}
}
}