- gboolean removed;
- GtkWidget *dialog;
- gchar *txt;
-
- dialog = gtk_dialog_new_with_buttons (_("Confirmation dialog"),
- GTK_WINDOW (self),
- GTK_DIALOG_MODAL,
- GTK_STOCK_CANCEL,
- GTK_RESPONSE_REJECT,
- GTK_STOCK_OK,
- GTK_RESPONSE_ACCEPT,
- NULL);
- txt = g_strdup_printf (_("Do you really want to delete the account %s?"), account_name);
- 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));
- g_free (txt);
-
- if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) {
- /* Remove account. If succeeded it removes also
- 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);
-
- removed = modest_account_mgr_remove_account (account_mgr,
- account_name,
- FALSE);
-
- if (removed && is_default) {
- /* Set a different account as the default, so there is always at least one default:
- * This is not specified, and might be the wrong behaviour. murrayc. */
- modest_account_mgr_set_first_account_as_default (account_mgr);
- }
-
- if (removed) {
- /* Show confirmation dialog ??? */
+ gchar *account_title = modest_account_mgr_get_display_name(account_mgr, account_name);
+
+ if (check_for_active_acount (self, account_name)) {
+ /* The warning text depends on the account type: */
+ gchar *txt = NULL;
+ 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);