{
ModestAccountViewWindowPrivate *priv;
ModestAccountMgr *account_mgr;
- gchar *account_name;
+
priv = MODEST_ACCOUNT_VIEW_WINDOW_GET_PRIVATE(self);
account_mgr = modest_runtime_get_account_mgr();
- account_name = modest_account_view_get_selected_account (priv->account_view);
+ gchar *account_name = modest_account_view_get_selected_account (priv->account_view);
+ if(!account_name)
+ return;
+
+ gchar *account_title = modest_account_mgr_get_display_name(account_mgr, account_name);
if (account_name) {
gboolean removed;
GtkWidget *dialog;
gchar *txt;
+ /* Freeze updates, so we can do just one update afterwards,
+ * instead of responding to every conf key change: */
+ modest_account_view_block_conf_updates (priv->account_view);
+
dialog = gtk_dialog_new_with_buttons (_("Confirmation dialog"),
GTK_WINDOW (self),
GTK_DIALOG_MODAL,
GTK_STOCK_OK,
GTK_RESPONSE_ACCEPT,
NULL);
- txt = g_strdup_printf (_("Do you really want to delete the account %s?"), account_name);
+ /* TODO: This confirmation dialog is not specified in the Maemo UI spec,
+ * but we really need one: */
+ txt = g_strdup_printf (_("Do you really want to delete the account %s?"),
+ account_title);
gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox),
gtk_label_new (txt), FALSE, FALSE, 0);
gtk_widget_show_all (GTK_WIDGET(GTK_DIALOG(dialog)->vbox));
}
}
gtk_widget_destroy (dialog);
+ g_free (account_title);
g_free (account_name);
+
+ /* Update the view: */
+ modest_account_view_unblock_conf_updates (priv->account_view);
}
}
if (!account_name)
return;
+ /* Freeze updates, so we can do just one update afterwards,
+ * instead of responding to every conf key change: */
+ modest_account_view_block_conf_updates (priv->account_view);
+
/* Show the Account Settings window: */
ModestAccountSettingsDialog *dialog = modest_account_settings_dialog_new ();
modest_account_settings_dialog_set_account_name (dialog, account_name);
gtk_widget_destroy (GTK_WIDGET (dialog));
g_free (account_name);
+
+ /* Update the view: */
+ modest_account_view_unblock_conf_updates (priv->account_view);
}
static void
on_new_button_clicked (GtkWidget *button, ModestAccountViewWindow *self)
{
+ ModestAccountViewWindowPrivate *priv = MODEST_ACCOUNT_VIEW_WINDOW_GET_PRIVATE(self);
+
+ /* Freeze updates, so we can do just one update afterwards,
+ * instead of responding to every conf key change: */
+ modest_account_view_block_conf_updates (priv->account_view);
+
/* Show the easy-setup wizard: */
ModestEasysetupWizardDialog *wizard = modest_easysetup_wizard_dialog_new ();
gtk_window_set_transient_for (GTK_WINDOW (wizard), GTK_WINDOW (self));
gtk_dialog_run (GTK_DIALOG (wizard));
gtk_widget_destroy (GTK_WIDGET (wizard));
+
+ /* Allow updates: */
+ modest_account_view_unblock_conf_updates (priv->account_view);
}