aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog16
-rw-r--r--mail/folder-info.c4
-rw-r--r--mail/mail-config-druid.c53
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? */