} WizardWindow;
-static void wizard_write_config(WizardWindow *wizard)
+static gboolean wizard_write_config(WizardWindow *wizard)
{
gboolean mailbox_ok = FALSE;
PrefsAccount *prefs_account = prefs_account_new();
if (wizard->create_mailbox && prefs_account->protocol != A_IMAP4) {
mailbox_ok = setup_write_mailbox_path(wizard->mainwin,
gtk_entry_get_text(GTK_ENTRY(wizard->mailbox_name)));
+ } else
+ mailbox_ok = TRUE;
+
+ if (!mailbox_ok) {
+ gtk_notebook_set_current_page (
+ GTK_NOTEBOOK(wizard->notebook),
+ 4);
+ return FALSE;
}
-
+
if (prefs_account->protocol != A_LOCAL)
prefs_account->account_name = g_strdup_printf("%s@%s",
gtk_entry_get_text(GTK_ENTRY(wizard->recv_username)),
prefs_account_write_config_all(account_list);
prefs_account_free(prefs_account);
account_read_config_all();
+
+ return TRUE;
}
static GtkWidget* create_page (WizardWindow *wizard, const char * title)
}
num_pages = g_slist_length(wizard->pages);
+
current_page = gtk_notebook_get_current_page (
GTK_NOTEBOOK(wizard->notebook));
if (response == CANCEL)
}
else if (response == FINISHED)
{
- wizard_write_config(wizard);
+ if (!wizard_write_config(wizard)) {
+ current_page = gtk_notebook_get_current_page (
+ GTK_NOTEBOOK(wizard->notebook));
+ goto set_sens;
+ }
wizard->finished = TRUE;
wizard->result = TRUE;
gtk_widget_destroy (GTK_WIDGET(dialog));
current_page);
}
}
-
+set_sens:
gtk_dialog_set_response_sensitive (dialog, GO_BACK,
current_page > 0);
gtk_dialog_set_response_sensitive (dialog, GO_FORWARD,