From e271490a1a4f9fb1842b16822723152a8469ce47 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz Date: Mon, 17 Mar 2008 13:31:11 +0000 Subject: [PATCH] * src/maemo/modest-account-settings-dialog.c, src/maemo/easysetup/modest-easysetup-wizard-dialog.c: * Now we dim the incoming auth checkbox if we're already using ssl/tls (fixes NB#81707). pmo-trunk-r4321 --- .../easysetup/modest-easysetup-wizard-dialog.c | 18 ++++++++++- src/maemo/modest-account-settings-dialog.c | 34 +++++++++++++------- 2 files changed, 39 insertions(+), 13 deletions(-) diff --git a/src/maemo/easysetup/modest-easysetup-wizard-dialog.c b/src/maemo/easysetup/modest-easysetup-wizard-dialog.c index 4b5e02f..74ba84d 100644 --- a/src/maemo/easysetup/modest-easysetup-wizard-dialog.c +++ b/src/maemo/easysetup/modest-easysetup-wizard-dialog.c @@ -153,6 +153,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) { @@ -872,7 +888,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); diff --git a/src/maemo/modest-account-settings-dialog.c b/src/maemo/modest-account-settings-dialog.c index 18d7834..d96fbf0 100644 --- a/src/maemo/modest-account-settings-dialog.c +++ b/src/maemo/modest-account-settings-dialog.c @@ -763,8 +763,10 @@ static void on_combo_incoming_security_changed (GtkComboBox *widget, gpointer user_data) { ModestAccountSettingsDialog *self = MODEST_ACCOUNT_SETTINGS_DIALOG (user_data); + ModestConnectionProtocol protocol_security_incoming; + gint port_number; - const gint port_number = + port_number = modest_serversecurity_combo_box_get_active_serversecurity_port ( MODEST_SERVERSECURITY_COMBO_BOX (self->combo_incoming_security)); @@ -772,6 +774,12 @@ on_combo_incoming_security_changed (GtkComboBox *widget, gpointer user_data) hildon_number_editor_set_value ( HILDON_NUMBER_EDITOR (self->entry_incoming_port), port_number); } + + protocol_security_incoming = modest_serversecurity_combo_box_get_active_serversecurity ( + MODEST_SERVERSECURITY_COMBO_BOX (self->combo_incoming_security)); + gtk_widget_set_sensitive (self->checkbox_incoming_auth, !modest_protocol_info_is_secure (protocol_security_incoming)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->checkbox_incoming_auth), modest_protocol_info_is_secure (protocol_security_incoming)); + } @@ -1002,14 +1010,9 @@ check_data (ModestAccountSettingsDialog *self) HILDON_NUMBER_EDITOR (self->entry_incoming_port)); const gchar* username = gtk_entry_get_text (GTK_ENTRY (self->entry_user_username)); - /* const ModestConnectionProtocol protocol_security_incoming = modest_serversecurity_combo_box_get_active_serversecurity ( MODEST_SERVERSECURITY_COMBO_BOX (self->combo_incoming_security)); - */ - /* If we use an encrypted protocol then there is no need to encrypt the password */ - /* I don't think this is a good assumption. It overrides the user's request. murrayc: - * if (!modest_protocol_info_is_secure(protocol_security_incoming)) */ - if (TRUE) + if (!modest_protocol_info_is_secure(protocol_security_incoming)) { if (gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON (self->checkbox_incoming_auth))) { @@ -1244,8 +1247,7 @@ void modest_account_settings_dialog_set_account (ModestAccountSettingsDialog *di null_means_empty (modest_account_settings_get_fullname (settings))); gtk_entry_set_text( GTK_ENTRY (dialog->entry_user_email), null_means_empty (modest_account_settings_get_email_address (settings))); - modest_retrieve_combo_box_fill (MODEST_RETRIEVE_COMBO_BOX (dialog->combo_retrieve), - modest_server_account_settings_get_protocol (incoming_account)); + modest_retrieve_combo_box_fill (MODEST_RETRIEVE_COMBO_BOX (dialog->combo_retrieve), modest_server_account_settings_get_protocol (incoming_account)); modest_retrieve_combo_box_set_active_retrieve_conf (MODEST_RETRIEVE_COMBO_BOX (dialog->combo_retrieve), modest_account_settings_get_retrieve_type (settings)); modest_limit_retrieve_combo_box_set_active_limit_retrieve ( @@ -1300,7 +1302,8 @@ void modest_account_settings_dialog_set_account (ModestAccountSettingsDialog *di const ModestAuthProtocol secure_auth = modest_server_account_settings_get_auth_protocol (incoming_account); dialog->protocol_authentication_incoming = (secure_auth != MODEST_PROTOCOL_AUTH_NONE)? secure_auth:MODEST_PROTOCOL_AUTH_PASSWORD; - if (modest_protocol_info_auth_is_secure(secure_auth)) + ModestConnectionProtocol secure_protocol = modest_server_account_settings_get_security (incoming_account); + if (modest_protocol_info_is_secure (secure_protocol) || modest_protocol_info_auth_is_secure(secure_auth)) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (dialog->checkbox_incoming_auth), TRUE); @@ -1310,6 +1313,8 @@ void modest_account_settings_dialog_set_account (ModestAccountSettingsDialog *di gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (dialog->checkbox_incoming_auth), FALSE); }; + + gtk_widget_set_sensitive (dialog->checkbox_incoming_auth, !modest_protocol_info_is_secure (secure_protocol)); update_incoming_server_title (dialog, dialog->incoming_protocol); @@ -1482,8 +1487,13 @@ save_configuration (ModestAccountSettingsDialog *dialog) const ModestConnectionProtocol protocol_security_incoming = modest_serversecurity_combo_box_get_active_serversecurity ( MODEST_SERVERSECURITY_COMBO_BOX (dialog->combo_incoming_security)); - modest_server_account_settings_set_security (store_settings, protocol_security_incoming); - modest_server_account_settings_set_auth_protocol (store_settings, dialog->protocol_authentication_incoming); + modest_server_account_settings_set_security (store_settings, protocol_security_incoming); + if (modest_protocol_info_is_secure (protocol_security_incoming)) { + modest_server_account_settings_set_auth_protocol (store_settings, FALSE); + } else { + modest_server_account_settings_set_auth_protocol (store_settings, + dialog->protocol_authentication_incoming); + } g_object_unref (store_settings); -- 1.7.9.5