diff options
Diffstat (limited to 'shell/e-shell-startup-wizard.c')
-rw-r--r-- | shell/e-shell-startup-wizard.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/shell/e-shell-startup-wizard.c b/shell/e-shell-startup-wizard.c index b684044ac0..2ca03d7750 100644 --- a/shell/e-shell-startup-wizard.c +++ b/shell/e-shell-startup-wizard.c @@ -392,6 +392,19 @@ finish_func (GnomeDruidPage *page, return TRUE; } +static gboolean +back_finish_func (GnomeDruidPage *page, + GnomeDruid *druid, + SWData *data) +{ + if (data->import_page->running == 0) + gnome_druid_set_page (druid, GNOME_DRUID_PAGE (data->timezone_page->page)); + else + return FALSE; + + return TRUE; +} + static void connect_page (GtkWidget *page, SWData *data) @@ -528,6 +541,8 @@ prepare_importer_page (GnomeDruidPage *page, int running = 0; if (data->import_page->prepared == TRUE) { + if (data->import_page->running == 0) + gnome_druid_set_page (druid, GNOME_DRUID_PAGE (data->finish)); return TRUE; } @@ -776,6 +791,7 @@ e_shell_startup_wizard_create (void) g_return_val_if_fail (data->start != NULL, FALSE); g_return_val_if_fail (data->finish != NULL, FALSE); g_signal_connect (data->finish, "finish", G_CALLBACK (finish_func), data); + g_signal_connect (data->finish, "back", G_CALLBACK (back_finish_func), data); make_corba_dialog_pages (data); g_return_val_if_fail (data->corba_wizard != CORBA_OBJECT_NIL, TRUE); |