diff options
author | 0 <NotZed@Ximian.com> | 2001-10-30 19:10:48 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-10-30 19:10:48 +0800 |
commit | f53a0de05a720133be8dc58e5f61fa6d0fc4d9ba (patch) | |
tree | 9da92b171b49e97c3986ac3ad918f22a8e9283ff /mail/mail-config-druid.c | |
parent | daaeb84173905de459b2048c84f46e4cf7719585 (diff) | |
download | gsoc2013-evolution-f53a0de05a720133be8dc58e5f61fa6d0fc4d9ba.tar.gz gsoc2013-evolution-f53a0de05a720133be8dc58e5f61fa6d0fc4d9ba.tar.zst gsoc2013-evolution-f53a0de05a720133be8dc58e5f61fa6d0fc4d9ba.zip |
Comment out the Folder: and you've got mail prints.
2001-10-30 <NotZed@Ximian.com>
* folder-info.c: Comment out the Folder: and you've got mail
prints.
* mail-config-druid.c (wizard_next_cb): If we have a next
function, honour if it tells us its going to set the page, and
dont set it, otherwise, set it to the next page, unless we're at
the end of our pages, and let the wizard do it itself.
(wizard_back_cb): Same for going back. Rest of fix for #12127,
see e-shell-startup-wizard for the rest.
(next_func): If we're not on the last page, tell the druid we're
gonna handle the next button, so we can sync properly with it,
needed for above changes.
(back_func): Similarly for going back past page 0.
(wizard_listener_event): We want to set the page to the actual one
asked for not, pagenum-1.
svn path=/trunk/; revision=14449
Diffstat (limited to 'mail/mail-config-druid.c')
-rw-r--r-- | mail/mail-config-druid.c | 53 |
1 files changed, 34 insertions, 19 deletions
diff --git a/mail/mail-config-druid.c b/mail/mail-config-druid.c index 7be193a90a..08e77db626 100644 --- a/mail/mail-config-druid.c +++ b/mail/mail-config-druid.c @@ -479,6 +479,10 @@ next_func (GnomeDruidPage *page, pagenum = page_to_num (page); GNOME_Evolution_Wizard_notifyAction (wiz, pagenum, GNOME_Evolution_Wizard_NEXT, &ev); CORBA_exception_free (&ev); + + if (pagenum < 5-1) + return TRUE; + return FALSE; } @@ -515,6 +519,10 @@ back_func (GnomeDruidPage *page, pagenum = page_to_num (page); GNOME_Evolution_Wizard_notifyAction (wiz, pagenum, GNOME_Evolution_Wizard_BACK, &ev); CORBA_exception_free (&ev); + + if (pagenum > 0) + return TRUE; + return FALSE; } @@ -560,7 +568,7 @@ wizard_listener_event (BonoboListener *listener, } else if (strcmp (event_name, EVOLUTION_WIZARD_SET_PAGE) == 0) { pagenum = (int) *((CORBA_short *) event_data->_value); - page = g_list_nth_data (page_list, pagenum - 1); + page = g_list_nth_data (page_list, pagenum); gnome_druid_set_page (GNOME_DRUID (druid->druid), page); } } @@ -768,36 +776,38 @@ get_fn (EvolutionWizard *wizard, return control; } +typedef gboolean (*NextFunc)(EvolutionWizard *wizard, gpointer data); + static struct { - GtkSignalFunc next_func; + NextFunc next_func; GtkSignalFunc prepare_func; - GtkSignalFunc back_func; + NextFunc back_func; GtkSignalFunc finish_func; GtkSignalFunc help_func; } wizard_pages[] = { - { GTK_SIGNAL_FUNC (identity_next), + { identity_next, GTK_SIGNAL_FUNC (identity_prepare), - GTK_SIGNAL_FUNC (NULL), + NULL, GTK_SIGNAL_FUNC (NULL), GTK_SIGNAL_FUNC (NULL) }, - { GTK_SIGNAL_FUNC (source_next), + { source_next, GTK_SIGNAL_FUNC (source_prepare), - GTK_SIGNAL_FUNC (NULL), + NULL, GTK_SIGNAL_FUNC (NULL), GTK_SIGNAL_FUNC (NULL) }, - { GTK_SIGNAL_FUNC (NULL), + { NULL, GTK_SIGNAL_FUNC (extra_prepare), - GTK_SIGNAL_FUNC (NULL), + NULL, GTK_SIGNAL_FUNC (NULL), GTK_SIGNAL_FUNC (NULL) }, - { GTK_SIGNAL_FUNC (transport_next), + { transport_next, GTK_SIGNAL_FUNC (transport_prepare), - GTK_SIGNAL_FUNC (transport_back), + transport_back, GTK_SIGNAL_FUNC (NULL), GTK_SIGNAL_FUNC (NULL) }, - { GTK_SIGNAL_FUNC (NULL), + { NULL, GTK_SIGNAL_FUNC (management_prepare), - GTK_SIGNAL_FUNC (NULL), + NULL, GTK_SIGNAL_FUNC (NULL), GTK_SIGNAL_FUNC (NULL) } }; @@ -807,9 +817,12 @@ wizard_next_cb (EvolutionWizard *wizard, int page_num, MailConfigWizard *gui) { - if (wizard_pages[page_num].next_func != NULL) { - wizard_pages[page_num].next_func (wizard, gui); - } + if (wizard_pages[page_num].next_func == NULL + || !(wizard_pages[page_num].next_func (wizard, gui))) { + if (page_num < 5-1) { + evolution_wizard_set_page(wizard, page_num+1, NULL); + } + } } static void @@ -827,8 +840,10 @@ wizard_back_cb (EvolutionWizard *wizard, int page_num, MailConfigWizard *gui) { - if (wizard_pages[page_num].back_func != NULL) { - wizard_pages[page_num].back_func (wizard, gui); + if (wizard_pages[page_num].back_func == NULL + || !(wizard_pages[page_num].back_func (wizard, gui))) { + if (page_num > 0) + evolution_wizard_set_page(wizard, page_num-1, NULL); } } @@ -838,7 +853,7 @@ wizard_finish_cb (EvolutionWizard *wizard, MailConfigWizard *w) { MailAccountGui *gui = w->gui; - + /* Save the settings for that account */ if (mail_account_gui_save (gui) == FALSE) /* problem. Um, how to keep the druid alive? */ |