X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmaemo%2Feasysetup%2Fmodest-easysetup-wizard-dialog.c;h=36871f3c6b5840ebab3ac1cba7f0a919fc737cb3;hp=223f00b9b3c2f7c5ef1e9652ad9759ea40430272;hb=1be53d52166baec068ec11170be81bde5b62aab3;hpb=888263c8bdd7ab7e14262554c5cd9b6a22bd3498 diff --git a/src/maemo/easysetup/modest-easysetup-wizard-dialog.c b/src/maemo/easysetup/modest-easysetup-wizard-dialog.c index 223f00b..36871f3 100644 --- a/src/maemo/easysetup/modest-easysetup-wizard-dialog.c +++ b/src/maemo/easysetup/modest-easysetup-wizard-dialog.c @@ -52,7 +52,7 @@ #include "modest-runtime.h" /* For modest_runtime_get_account_mgr(). */ #include "maemo/modest-connection-specific-smtp-window.h" #include "widgets/modest-ui-constants.h" -#include "maemo/modest-account-settings-dialog.h" +#include "widgets/modest-account-settings-dialog.h" #include "maemo/modest-maemo-utils.h" #include "modest-utils.h" #include @@ -128,8 +128,6 @@ struct _ModestEasysetupWizardDialogPrivate GtkWidget *button_outgoing_smtp_servers; GtkWidget *page_complete_customsetup; - - GtkWidget *specific_window; }; static void save_to_settings (ModestEasysetupWizardDialog *self); @@ -153,6 +151,22 @@ on_easysetup_changed(GtkWidget* widget, ModestEasysetupWizardDialog* wizard) } static void +on_incoming_security_changed(GtkWidget* widget, ModestEasysetupWizardDialog* wizard) +{ + ModestEasysetupWizardDialogPrivate* priv = MODEST_EASYSETUP_WIZARD_DIALOG_GET_PRIVATE(wizard); + ModestConnectionProtocol protocol_security_incoming; + + g_return_if_fail (priv != NULL); + protocol_security_incoming = modest_serversecurity_combo_box_get_active_serversecurity ( + MODEST_SERVERSECURITY_COMBO_BOX (priv->combo_incoming_security)); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->checkbox_incoming_auth), modest_protocol_info_is_secure (protocol_security_incoming)); + gtk_widget_set_sensitive (priv->checkbox_incoming_auth, !modest_protocol_info_is_secure (protocol_security_incoming)); + + on_easysetup_changed (widget, wizard); +} + +static void modest_easysetup_wizard_dialog_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { @@ -190,9 +204,6 @@ modest_easysetup_wizard_dialog_finalize (GObject *object) if (priv->presets) modest_presets_destroy (priv->presets); - - if (priv->specific_window) - gtk_widget_destroy (priv->specific_window); if (priv->settings) g_object_unref (priv->settings); @@ -269,7 +280,7 @@ check_for_supported_auth_methods (ModestEasysetupWizardDialog* self) if(error == NULL || error->domain != modest_utils_get_supported_secure_authentication_error_quark() || error->code != MODEST_UTILS_GET_SUPPORTED_SECURE_AUTHENTICATION_ERROR_CANCELED) { - show_error (GTK_WIDGET(self), _("Could not discover supported secure authentication methods.")); + show_error (GTK_WIDGET(self), _("mcen_ib_unableto_discover_auth_methods")); } if(error != NULL) @@ -407,7 +418,7 @@ on_combo_account_country (GtkComboBox *widget, gpointer user_data) /* Fill the providers combo, based on the selected country: */ if (priv->presets != NULL) { gint mcc = easysetup_country_combo_box_get_active_country_mcc ( - EASYSETUP_COUNTRY_COMBO_BOX (priv->combo_account_country)); + MODEST_EASYSETUP_COUNTRY_COMBO_BOX (priv->combo_account_country)); easysetup_provider_combo_box_fill ( EASYSETUP_PROVIDER_COMBO_BOX (priv->combo_account_serviceprovider), priv->presets, mcc); } @@ -448,24 +459,6 @@ on_entry_max (ModestValidatingEntry *self, gpointer user_data) show_error (GTK_WIDGET (self), _CS("ckdg_ib_maximum_characters_reached")); } -static void -on_entry_invalid_character (ModestValidatingEntry *self, const gchar* character, gpointer user_data) -{ - /* ModestEasysetupWizardDialog *dialog = MODEST_EASYSETUP_WIZARD_DIALOG (user_data); */ - - const gchar *show_char = NULL; - if (character) - show_char = character; - else { - /* TODO: We need a logical ID for this: */ - show_char = _("whitespace"); - } - - /* TODO: Should this show just this one bad character or all the not-allowed characters? */ - gchar *message = g_strdup_printf (_CS("ckdg_ib_illegal_characters_entered"), show_char); - show_error (GTK_WIDGET (self), message); -} - static gint get_default_country_code(void) { @@ -596,7 +589,7 @@ create_page_account_details (ModestEasysetupWizardDialog *self) g_list_free (list_prevent); list_prevent = NULL; modest_validating_entry_set_func(MODEST_VALIDATING_ENTRY(priv->entry_account_title), - on_entry_invalid_character, self); + modest_maemo_utils_on_entry_invalid_character, self); /* Set max length as in the UI spec: * The UI spec seems to want us to show a dialog if we hit the maximum. */ @@ -650,7 +643,7 @@ create_page_user_details (ModestEasysetupWizardDialog *self) modest_validating_entry_set_unallowed_characters ( MODEST_VALIDATING_ENTRY (priv->entry_user_name), list_prevent); modest_validating_entry_set_func(MODEST_VALIDATING_ENTRY(priv->entry_user_name), - on_entry_invalid_character, self); + modest_maemo_utils_on_entry_invalid_character, self); g_list_free (list_prevent); /* The username widgets: */ @@ -670,7 +663,7 @@ create_page_user_details (ModestEasysetupWizardDialog *self) modest_validating_entry_set_unallowed_characters_whitespace ( MODEST_VALIDATING_ENTRY (priv->entry_user_username)); modest_validating_entry_set_func(MODEST_VALIDATING_ENTRY(priv->entry_user_username), - on_entry_invalid_character, self); + modest_maemo_utils_on_entry_invalid_character, self); /* Set max length as in the UI spec: * The UI spec seems to want us to show a dialog if we hit the maximum. */ @@ -759,9 +752,6 @@ update_incoming_server_title (ModestEasysetupWizardDialog *self) _("mail_fi_emailtype_imap") ); - /* Note that this produces a compiler warning, - * because the compiler does not know that the translated string will have a %s in it. - * I do not see a way to avoid the warning while still using these Logical IDs. murrayc. */ gchar* incomingserver_title = g_strdup_printf(_("mcen_li_emailsetup_servertype"), type); g_object_set (G_OBJECT (priv->caption_incoming), "label", incomingserver_title, NULL); g_free(incomingserver_title); @@ -872,7 +862,7 @@ create_page_custom_incoming (ModestEasysetupWizardDialog *self) caption = hildon_caption_new (sizegroup, _("mcen_li_emailsetup_secure_connection"), priv->combo_incoming_security, NULL, HILDON_CAPTION_OPTIONAL); g_signal_connect (G_OBJECT (priv->combo_incoming_security), "changed", - G_CALLBACK (on_easysetup_changed), self); + G_CALLBACK (on_incoming_security_changed), self); gtk_widget_show (priv->combo_incoming_security); gtk_box_pack_start (GTK_BOX (box), caption, FALSE, FALSE, MODEST_MARGIN_HALF); gtk_widget_show (caption); @@ -924,22 +914,19 @@ on_button_outgoing_smtp_servers (GtkButton *button, gpointer user_data) { ModestEasysetupWizardDialog * self = MODEST_EASYSETUP_WIZARD_DIALOG (user_data); ModestEasysetupWizardDialogPrivate* priv = MODEST_EASYSETUP_WIZARD_DIALOG_GET_PRIVATE(self); + GtkWidget *specific_window; /* We set dirty here because setting it depending on the connection specific dialog seems overkill */ priv->dirty = TRUE; /* Create the window, if necessary: */ - if (!(priv->specific_window)) { - priv->specific_window = GTK_WIDGET (modest_connection_specific_smtp_window_new ()); - modest_connection_specific_smtp_window_fill_with_connections ( - MODEST_CONNECTION_SPECIFIC_SMTP_WINDOW (priv->specific_window), priv->account_manager); - } + specific_window = (GtkWidget *) modest_connection_specific_smtp_window_new (); + modest_connection_specific_smtp_window_fill_with_connections (MODEST_CONNECTION_SPECIFIC_SMTP_WINDOW (specific_window), priv->account_manager); - /* Show the window: */ - gtk_window_set_transient_for (GTK_WINDOW (priv->specific_window), GTK_WINDOW (self)); - gtk_window_set_modal (GTK_WINDOW (priv->specific_window), TRUE); - gtk_widget_show (priv->specific_window); + /* Show the window */ + modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (specific_window)); + gtk_widget_show (specific_window); } static void @@ -1163,13 +1150,13 @@ presets_idle (gpointer userdata) priv->presets = idle_data->presets; - if (priv->combo_account_country) { + if (MODEST_EASYSETUP_IS_COUNTRY_COMBO_BOX (priv->combo_account_country)) { gint mcc = get_default_country_code(); /* Fill the combo in an idle call, as it takes a lot of time */ easysetup_country_combo_box_load_data( - EASYSETUP_COUNTRY_COMBO_BOX (priv->combo_account_country)); + MODEST_EASYSETUP_COUNTRY_COMBO_BOX (priv->combo_account_country)); easysetup_country_combo_box_set_active_country_mcc ( - EASYSETUP_COUNTRY_COMBO_BOX (priv->combo_account_country), mcc); + MODEST_EASYSETUP_COUNTRY_COMBO_BOX (priv->combo_account_country), mcc); easysetup_provider_combo_box_fill ( EASYSETUP_PROVIDER_COMBO_BOX (priv->combo_account_serviceprovider), priv->presets, mcc); @@ -1248,16 +1235,27 @@ modest_easysetup_wizard_dialog_init (ModestEasysetupWizardDialog *self) * so we can check for existing accounts, * and create new accounts: */ priv->account_manager = modest_runtime_get_account_mgr (); - g_assert (priv->account_manager); g_object_ref (priv->account_manager); - /* Create the common pages, - */ - priv->combo_account_country = NULL; + /* Initialize fields */ priv->page_welcome = create_page_welcome (self); priv->page_account_details = create_page_account_details (self); priv->page_user_details = create_page_user_details (self); - + priv->page_complete_easysetup = NULL; + priv->page_custom_incoming = NULL; + priv->combo_incoming_servertype = NULL; + priv->caption_incoming = NULL; + priv->entry_incomingserver = NULL; + priv->combo_incoming_security = NULL; + priv->checkbox_incoming_auth = NULL; + priv->page_custom_outgoing = NULL; + priv->entry_outgoingserver = NULL; + priv->combo_outgoing_security = NULL; + priv->combo_outgoing_auth = NULL; + priv->checkbox_outgoing_smtp_specific = NULL; + priv->button_outgoing_smtp_servers = NULL; + priv->page_complete_customsetup = NULL; + /* Add the common pages: */ gtk_notebook_append_page (notebook, priv->page_welcome, gtk_label_new (_("mcen_ti_emailsetup_welcome"))); @@ -1960,9 +1958,5 @@ save_to_settings (ModestEasysetupWizardDialog *self) display_name = get_entered_account_title (self); modest_account_settings_set_display_name (priv->settings, display_name); g_free (display_name); - - if (priv->specific_window) - modest_connection_specific_smtp_window_save_server_accounts ( - MODEST_CONNECTION_SPECIFIC_SMTP_WINDOW (priv->specific_window)); }