X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-easysetup-wizard-dialog.c;h=de573a754ab71c333406c5dcaa2f3b0ff9336c71;hp=7e8fb927643715481db1eacd1dbfd3b8a79c4b3a;hb=fd1d9e254d08ad38779f8a1bb5c4d6d350040a9b;hpb=0cd70c5f256d6071c5fc9671b5094a37ea0faabe diff --git a/src/hildon2/modest-easysetup-wizard-dialog.c b/src/hildon2/modest-easysetup-wizard-dialog.c index 7e8fb92..de573a7 100644 --- a/src/hildon2/modest-easysetup-wizard-dialog.c +++ b/src/hildon2/modest-easysetup-wizard-dialog.c @@ -72,7 +72,7 @@ G_DEFINE_TYPE (ModestEasysetupWizardDialog, modest_easysetup_wizard_dialog, MODE MODEST_TYPE_EASYSETUP_WIZARD_DIALOG, \ ModestEasysetupWizardDialogPrivate)) -#define LABELS_WIDTH 480 +#define LABELS_WIDTH 520 #define DIALOG_WIDTH LABELS_WIDTH + MODEST_MARGIN_DOUBLE typedef struct _ModestEasysetupWizardDialogPrivate ModestEasysetupWizardDialogPrivate; @@ -369,8 +369,9 @@ create_captioned (ModestEasysetupWizardDialog *self, { GtkWidget *result; - result = modest_maemo_utils_create_captioned (title_size_group, value_size_group, - value, use_markup, control); + result = modest_maemo_utils_create_captioned_with_size_type (title_size_group, value_size_group, + value, use_markup, control, + MODEST_EDITABLE_SIZE); /* Connect to the appropriate changed signal for the widget, * so we can ask for the prev/next buttons to be enabled/disabled appropriately: @@ -594,6 +595,46 @@ create_page_account_details (ModestEasysetupWizardDialog *self) return GTK_WIDGET (align); } +static void +on_user_username_changed(GtkWidget* widget, ModestEasysetupWizardDialog *self) +{ + ModestEasysetupWizardDialogPrivate* priv; + gchar* provider_id = NULL; + + priv = MODEST_EASYSETUP_WIZARD_DIALOG_GET_PRIVATE (self); + + /* Work out the user email address */ + provider_id = modest_provider_picker_get_active_provider_id ( + MODEST_PROVIDER_PICKER (priv->account_serviceprovider_picker)); + + if (provider_id) { + const gchar *current_username; + gchar *email_address; + gchar *domain_name = modest_presets_get_domain (priv->presets, provider_id); + + current_username = hildon_entry_get_text (HILDON_ENTRY (priv->entry_user_username)); + + if (current_username && strstr (current_username, "@")) { + email_address = g_strdup (current_username); + } else { + email_address = g_strdup_printf ("%s@%s", + current_username, + domain_name); + } + + /* Update the email address */ + hildon_entry_set_text (HILDON_ENTRY (priv->entry_user_email), email_address); + + g_free (email_address); + g_free (domain_name); + g_free (provider_id); + } + + /* Update state */ + on_easysetup_changed(widget, self); +} + + static GtkWidget* create_page_user_details (ModestEasysetupWizardDialog *self) { @@ -658,7 +699,7 @@ create_page_user_details (ModestEasysetupWizardDialog *self) gtk_widget_show (priv->entry_user_username); gtk_box_pack_start (GTK_BOX (box), caption, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(priv->entry_user_username), "changed", - G_CALLBACK(on_easysetup_changed), self); + G_CALLBACK(on_user_username_changed), self); gtk_widget_show (caption); /* Prevent the use of some characters in the username, @@ -1128,28 +1169,27 @@ on_button_edit_advanced_settings (GtkButton *button, gpointer user_data) static GtkWidget* create_page_complete_custom (ModestEasysetupWizardDialog *self) { + gchar *complete_string; GtkWidget *align; - GtkWidget *box = gtk_vbox_new (FALSE, MODEST_MARGIN_DEFAULT); - GtkWidget *label = gtk_label_new(_("mcen_ia_emailsetup_setup_complete")); - GtkWidget *button_edit = gtk_button_new_with_label (_("mcen_fi_advanced_settings")); - hildon_gtk_widget_set_theme_size (button_edit, HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH); + GtkWidget *box; + GtkWidget *label; + GtkWidget *button_edit; + + box = gtk_vbox_new (FALSE, MODEST_MARGIN_DEFAULT); + complete_string = g_strconcat (_("mcen_ia_emailsetup_setup_complete"), " ", + _("mcen_ia_customsetup_complete"), NULL); + label = gtk_label_new(complete_string); + g_free (complete_string); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_widget_set_size_request (label, LABELS_WIDTH, -1); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_misc_set_padding (GTK_MISC (label), MODEST_MARGIN_DOUBLE, MODEST_MARGIN_DOUBLE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); - gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); - gtk_widget_show (label); - - label = gtk_label_new (_("mcen_ia_customsetup_complete")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); - gtk_widget_set_size_request (label, LABELS_WIDTH, -1); - gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); - gtk_misc_set_padding (GTK_MISC (label), MODEST_MARGIN_DOUBLE, MODEST_MARGIN_DOUBLE); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); gtk_widget_show (label); + button_edit = gtk_button_new_with_label (_("mcen_fi_advanced_settings")); + hildon_gtk_widget_set_theme_size (button_edit, HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH); gtk_widget_show (button_edit); gtk_box_pack_start (GTK_BOX (box), button_edit, FALSE, FALSE, 0); @@ -1190,12 +1230,17 @@ on_response_before (ModestWizardDialog *wizard_dialog, /* This is mostly copied from * src/maemo/modest-account-settings-dialog.c */ if (priv->dirty) { - GtkDialog *dialog = GTK_DIALOG (hildon_note_new_confirmation (GTK_WINDOW (self), - _("imum_nc_wizard_confirm_lose_changes"))); - /* TODO: These button names will be ambiguous, and not - * specified in the UI specification. */ + gint dialog_response; + GtkWidget *dialog; - const gint dialog_response = gtk_dialog_run (dialog); + dialog = hildon_note_new_confirmation ((GtkWindow *) self, + _("imum_nc_wizard_confirm_lose_changes")); + + modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), + (GtkWindow *) dialog, + (GtkWindow *) wizard_dialog); + + dialog_response = gtk_dialog_run ((GtkDialog *) dialog); gtk_widget_destroy (GTK_WIDGET (dialog)); if (dialog_response != GTK_RESPONSE_OK) { @@ -1314,11 +1359,15 @@ modest_easysetup_wizard_dialog_append_page (GtkNotebook *notebook, const gchar *label) { gint index; + /* Append page and set attributes */ index = gtk_notebook_append_page (notebook, page, gtk_label_new (label)); gtk_container_child_set (GTK_CONTAINER (notebook), page, "tab-expand", TRUE, "tab-fill", TRUE, NULL); + + /* Give focus to page and show it */ + gtk_container_set_focus_child (GTK_CONTAINER (notebook), page); gtk_widget_show (page); } @@ -2093,8 +2142,8 @@ save_to_settings (ModestEasysetupWizardDialog *self) priv->settings); g_list_free (wizard_pages); } else { - g_warning ("The selected protocol is a plugin protocol "// - "but it's not a ModestAccountProtocol"); + g_debug ("The selected protocol is a plugin protocol "// + "but it's not a ModestAccountProtocol"); } g_free (provider_id); @@ -2284,6 +2333,11 @@ save_to_settings (ModestEasysetupWizardDialog *self) modest_account_settings_set_display_name (priv->settings, display_name); g_free (display_name); g_free (provider_id); + + /* This values are hardcoded for Fremantle */ + modest_account_settings_set_retrieve_type (priv->settings, + MODEST_ACCOUNT_RETRIEVE_MESSAGES_AND_ATTACHMENTS); + modest_account_settings_set_retrieve_limit (priv->settings, 20); }