- gchar *account_name = modest_account_view_get_selected_account (priv->account_view);
- if(!account_name)
- return;
-
- if (account_name) {
- gchar *account_title = modest_account_mgr_get_display_name(account_mgr, account_name);
-
- if (check_for_active_account (self, account_name)) {
- /* The warning text depends on the account type: */
- gchar *txt = NULL;
- gint response;
-
- if (modest_account_mgr_get_store_protocol (account_mgr, account_name)
- == MODEST_PROTOCOL_STORE_POP) {
- txt = g_strdup_printf (_("emev_nc_delete_mailbox"),
- account_title);
- } else {
- txt = g_strdup_printf (_("emev_nc_delete_mailboximap"),
- account_title);
- }
-
- GtkDialog *dialog = GTK_DIALOG (hildon_note_new_confirmation (GTK_WINDOW (self),
- txt));
- gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
- gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (self));
- g_free (txt);
- txt = NULL;
-
- response = gtk_dialog_run (dialog);
- gtk_widget_destroy (GTK_WIDGET (dialog));
- while (gtk_events_pending ())
- gtk_main_iteration ();
-
- if (response == GTK_RESPONSE_OK) {
- /* Remove account. If it succeeds then it also removes
- the account from the ModestAccountView: */
- gboolean is_default = FALSE;
- gchar *default_account_name = modest_account_mgr_get_default_account (account_mgr);
- if (default_account_name && (strcmp (default_account_name, account_name) == 0))
- is_default = TRUE;
- g_free (default_account_name);
-
- gboolean removed = modest_account_mgr_remove_account (account_mgr, account_name);
- if (!removed) {
- g_warning ("%s: modest_account_mgr_remove_account() failed.\n", __FUNCTION__);
- }
- }
- g_free (account_title);
- }
- g_free (account_name);
- }
+ account_name = modest_account_view_get_selected_account (priv->account_view);
+ account_title = modest_account_mgr_get_display_name(account_mgr, account_name);
+
+ if (check_for_active_account (self, account_name))
+ modest_ui_actions_on_delete_account (GTK_WINDOW (self), account_name, account_title);
+
+ g_free (account_title);
+ g_free (account_name);