From f3d8243e6336b50fca51415e5d8e9c4a93de0afd Mon Sep 17 00:00:00 2001 From: Iain Holmes Date: Mon, 20 Aug 2001 22:28:04 +0000 Subject: Do the import correctly. svn path=/trunk/; revision=12327 --- shell/ChangeLog | 17 +++++++++++ shell/e-shell-importer.c | 38 +++++++++++++++++++++-- shell/e-shell-startup-wizard.c | 29 +++++++++++------- shell/glade/evolution-startup-wizard.glade | 48 ++++++++++++++---------------- 4 files changed, 94 insertions(+), 38 deletions(-) (limited to 'shell') diff --git a/shell/ChangeLog b/shell/ChangeLog index bb0b3b21f4..1e3302a877 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,20 @@ +2001-08-20 Iain Holmes + + * e-shell-importer.c (import_druid_finish): Do the correct thing when + the new folder button is clicked. + (folder_selected): Import the file. + (folder_cancelled): Kill the dialog. + +2001-08-18 Iain Holmes + + * e-shell-startup-wizard.c (make_identity_page): + (make_receive_page): + (make_extra_page): + (make_transport_page): + (make_management_page): Check that the mailer has been inited correctly. + (e_shell_startup_wizard_create): If some of the pages could not be + created, just stop trying to show the startup wizard. + 2001-08-20 Ettore Perazzoli * e-shell-view.c (e_shell_view_load_settings): Don't set the diff --git a/shell/e-shell-importer.c b/shell/e-shell-importer.c index 6fe27e8fdf..519222e87a 100644 --- a/shell/e-shell-importer.c +++ b/shell/e-shell-importer.c @@ -582,6 +582,30 @@ import_druid_destroy (GtkObject *object, g_free (data); } +static void +folder_selected (EShellFolderSelectionDialog *dialog, + const char *path, + ImportData *data) +{ + char *filename, *iid; + + iid = g_strdup (data->choosen_iid); + filename = g_strdup (gtk_entry_get_text (GTK_ENTRY (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (data->filepage->filename))))); + + gtk_widget_destroy (data->dialog); + start_import (path, filename, iid); + + g_free (iid); + g_free (filename); +} + +static void +folder_cancelled (EShellFolderSelectionDialog *dialog, + ImportData *data) +{ + gtk_widget_destroy (data->dialog); +} + static void import_druid_finish (GnomeDruidPage *page, GnomeDruid *druid, @@ -600,14 +624,23 @@ import_druid_finish (GnomeDruidPage *page, _("Select a destination folder for importing this data"), e_shell_view_get_current_uri (data->view), NULL); - gtk_widget_destroy (data->dialog); + gtk_signal_connect (GTK_OBJECT (folder), "folder_selected", + GTK_SIGNAL_FUNC (folder_selected), data); + gtk_signal_connect (GTK_OBJECT (folder), "cancelled", + GTK_SIGNAL_FUNC (folder_cancelled), data); + + gtk_widget_hide (data->dialog); + gtk_widget_show (folder); +#if 0 gnome_dialog_close_hides (GNOME_DIALOG (folder), TRUE); switch (gnome_dialog_run (GNOME_DIALOG (folder))) { case 0: + case 2: foldername = e_shell_folder_selection_dialog_get_selected_path (E_SHELL_FOLDER_SELECTION_DIALOG (folder)); + g_print ("Folder name: %s", foldername); start_import (foldername, filename, iid); - break; + /* Fall through */ default: gtk_widget_destroy (folder); @@ -616,6 +649,7 @@ import_druid_finish (GnomeDruidPage *page, g_free (filename); g_free (iid); +#endif } static gboolean diff --git a/shell/e-shell-startup-wizard.c b/shell/e-shell-startup-wizard.c index 3ea14180ab..ab10f921cf 100644 --- a/shell/e-shell-startup-wizard.c +++ b/shell/e-shell-startup-wizard.c @@ -58,7 +58,7 @@ typedef struct _SWData { GtkWidget *dialog; GtkWidget *druid; - GnomeDruidPage *start, *finish; + GtkWidget *start, *finish; MailDialogPage *id_page; MailDialogPage *source_page; @@ -341,7 +341,8 @@ make_identity_page (SWData *data) CORBA_Environment ev; g_return_val_if_fail (data != NULL, NULL); - + g_return_val_if_fail (data->mailer != CORBA_OBJECT_NIL, NULL); + page = g_new0 (MailDialogPage, 1); page->page = glade_xml_get_widget (data->wizard, "identity-page"); g_return_val_if_fail (page->page != NULL, NULL); @@ -368,6 +369,7 @@ make_receive_page (SWData *data) CORBA_Environment ev; g_return_val_if_fail (data != NULL, NULL); + g_return_val_if_fail (data->mailer != CORBA_OBJECT_NIL, NULL); page = g_new0 (MailDialogPage, 1); page->page = glade_xml_get_widget (data->wizard, "receive-page"); @@ -395,6 +397,7 @@ make_extra_page (SWData *data) CORBA_Environment ev; g_return_val_if_fail (data != NULL, NULL); + g_return_val_if_fail (data->mailer != CORBA_OBJECT_NIL, NULL); page = g_new0 (MailDialogPage, 1); page->page = glade_xml_get_widget (data->wizard, "extra-page"); @@ -422,6 +425,7 @@ make_transport_page (SWData *data) CORBA_Environment ev; g_return_val_if_fail (data != NULL, NULL); + g_return_val_if_fail (data->mailer != CORBA_OBJECT_NIL, NULL); page = g_new0 (MailDialogPage, 1); page->page = glade_xml_get_widget (data->wizard, "send-page"); @@ -449,6 +453,7 @@ make_management_page (SWData *data) CORBA_Environment ev; g_return_val_if_fail (data != NULL, NULL); + g_return_val_if_fail (data->mailer != CORBA_OBJECT_NIL, NULL); page = g_new0 (MailDialogPage, 1); page->page = glade_xml_get_widget (data->wizard, "management-page"); @@ -483,7 +488,7 @@ make_timezone_page (SWData *data) page->vbox = GTK_WIDGET (GNOME_DRUID_PAGE_STANDARD (page->page)->vbox); page->etd = GTK_OBJECT (e_timezone_dialog_new ()); - e_timezone_dialog_reparent (page->etd, page->vbox); + e_timezone_dialog_reparent (E_TIMEZONE_DIALOG (page->etd), page->vbox); return page; } @@ -813,6 +818,8 @@ e_shell_startup_wizard_create (void) GTK_SIGNAL_FUNC (finish_func), data); make_mail_dialog_pages (data); + g_return_val_if_fail (data->mailer != CORBA_OBJECT_NIL, TRUE); + data->id_page = make_identity_page (data); data->source_page = make_receive_page (data); data->extra_page = make_extra_page (data); @@ -822,15 +829,15 @@ e_shell_startup_wizard_create (void) data->timezone_page = make_timezone_page (data); data->import_page = make_importer_page (data); - g_return_val_if_fail (data->id_page != NULL, FALSE); - g_return_val_if_fail (data->source_page != NULL, FALSE); - g_return_val_if_fail (data->extra_page != NULL, FALSE); - g_return_val_if_fail (data->transport_page != NULL, FALSE); - g_return_val_if_fail (data->management_page != NULL, FALSE); - g_return_val_if_fail (data->timezone_page != NULL, FALSE); - g_return_val_if_fail (data->import_page != NULL, FALSE); + g_return_val_if_fail (data->id_page != NULL, TRUE); + g_return_val_if_fail (data->source_page != NULL, TRUE); + g_return_val_if_fail (data->extra_page != NULL, TRUE); + g_return_val_if_fail (data->transport_page != NULL, TRUE); + g_return_val_if_fail (data->management_page != NULL, TRUE); + g_return_val_if_fail (data->timezone_page != NULL, TRUE); + g_return_val_if_fail (data->import_page != NULL, TRUE); - gnome_druid_set_buttons_sensitive (data->druid, FALSE, TRUE, TRUE); + gnome_druid_set_buttons_sensitive (GNOME_DRUID (data->druid), FALSE, TRUE, TRUE); gtk_widget_show_all (data->dialog); gtk_main (); diff --git a/shell/glade/evolution-startup-wizard.glade b/shell/glade/evolution-startup-wizard.glade index 092382a1a2..ab4d4f5ec1 100644 --- a/shell/glade/evolution-startup-wizard.glade +++ b/shell/glade/evolution-startup-wizard.glade @@ -6,7 +6,7 @@ evolution-startup-wizard src - pixmaps + ../../art/ C True True @@ -15,10 +15,8 @@ GtkWindow startup-wizard - 687 - 0 False - window1 + Setup Assistant GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False @@ -33,24 +31,16 @@ GnomeDruidPageStart start-page - First Time Startup Configuration - Welcome to the Evolution first time configuration assistant. + First Run Setup Assistant + Welcome to the Evolution first run setup assistant -This will help you: - - configure your email settings - - set your timezone. - - import your old email and contacts - -What you will need: - - email server information (ask your email administrator for help) - -First a directory will be created in your home directory for Evolution to -store it's configuration settings. +This assistant will help you get started 255,255,255 0,0,0 0,0,1 - 255,255,255 + 1,1,1 255,255,255 + evolution.png @@ -59,7 +49,8 @@ store it's configuration settings. Identity 255,255,255 0,0,1 - 255,255,255 + 1,1,1 + mail-config-druid-identity.png GtkVBox @@ -85,7 +76,8 @@ store it's configuration settings. Receiving Email 255,255,255 0,0,1 - 255,255,255 + 1,1,1 + mail-config-druid-receive.png GtkVBox @@ -111,7 +103,8 @@ store it's configuration settings. Receiving Email 255,255,255 0,0,1 - 255,255,255 + 1,1,1 + mail-config-druid-receive.png GtkVBox @@ -137,7 +130,8 @@ store it's configuration settings. Sending Email 255,255,255 0,0,1 - 255,255,255 + 1,1,1 + mail-config-druid-send.png GtkVBox @@ -163,7 +157,8 @@ store it's configuration settings. Account Management 255,255,255 0,0,1 - 255,255,255 + 1,1,1 + mail-config-druid-account-name.png GtkVBox @@ -189,7 +184,8 @@ store it's configuration settings. Timezone 255,255,255 0,0,1 - 255,255,255 + 1,1,1 + timezone.png GtkVBox @@ -215,7 +211,8 @@ store it's configuration settings. Importing Data 255,255,255 0,0,1 - 255,255,255 + 1,1,1 + import.png GtkVBox @@ -241,10 +238,11 @@ store it's configuration settings. Done Your configuration is complete. 0,0,1 - 255,255,255 + 1,1,1 255,255,255 0,0,0 255,255,255 + evolution.png -- cgit v1.2.3