diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 16 | ||||
-rw-r--r-- | mail/folder-info.c | 4 | ||||
-rw-r--r-- | mail/mail-config-druid.c | 53 |
3 files changed, 52 insertions, 21 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 756de97834..b9b5c81186 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,21 @@ 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. + * mail-local.c (mls_rename_folder): Oops, dont use the url storage path to offset the folder name we're renaming/opening, etc. diff --git a/mail/folder-info.c b/mail/folder-info.c index 2280b72a46..b916f2fb16 100644 --- a/mail/folder-info.c +++ b/mail/folder-info.c @@ -132,7 +132,7 @@ do_got_info (struct _mail_msg *mm) CORBA_any a; GNOME_Evolution_FolderInfo_MessageCount count; - g_print ("You've got mail: %d, %d\n", m->read, m->unread); + /*g_print ("You've got mail: %d, %d\n", m->read, m->unread);*/ count.path = m->foldername; count.count = m->read; @@ -179,7 +179,7 @@ mail_get_info (const char *foldername, m = mail_msg_new (&get_info_op, NULL, sizeof (*m)); - g_print ("Folder: %s", foldername); + /*g_print ("Folder: %s", foldername);*/ m->foldername = g_strdup (foldername); CORBA_exception_init (&ev); 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? */ |