diff options
-rw-r--r-- | shell/ChangeLog | 8 | ||||
-rw-r--r-- | shell/e-shell-startup-wizard.c | 16 |
2 files changed, 24 insertions, 0 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index d381bd3598..3cc3eed4ff 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,11 @@ +2003-07-15 Antonio Xu <antonio.xu@sun.com> + + * e-shell-startup-wizard.c (e_shell_startup_wizard_create): connect + "back" signal to back_finish_func in finish page. + (back_finish_func): handle "back" signal. + (prepare_importer_page): Jump to finish page when running equal zero. + [#46026] + 2003-07-17 Dan Winship <danw@ximian.com> * e-shell-user-creatable-items-handler.c (free_menu_items): free 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); |