X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-connection-specific-smtp-edit-window.c;h=1bd7789ba3f91657f8143dcdb7dccc9caf6753f0;hb=98bc76b00da273d0253f82b32ba4384e6b9dd957;hp=ea6e9db37681b26829c26820451f5f067e6461d3;hpb=6d2cc7fda4c21ce383c62737a2804e388cb48b26;p=modest diff --git a/src/maemo/modest-connection-specific-smtp-edit-window.c b/src/maemo/modest-connection-specific-smtp-edit-window.c index ea6e9db..1bd7789 100644 --- a/src/maemo/modest-connection-specific-smtp-edit-window.c +++ b/src/maemo/modest-connection-specific-smtp-edit-window.c @@ -2,12 +2,9 @@ #include "modest-connection-specific-smtp-edit-window.h" #include -#include "maemo/easysetup/modest-easysetup-country-combo-box.h" -#include "maemo/easysetup/modest-easysetup-provider-combo-box.h" -#include "maemo/easysetup/modest-easysetup-servertype-combo-box.h" -#include "maemo/easysetup/modest-easysetup-serversecurity-combo-box.h" -#include "maemo/easysetup/modest-easysetup-secureauth-combo-box.h" -#include "maemo/easysetup/modest-validating-entry.h" +#include "widgets/modest-serversecurity-combo-box.h" +#include "widgets/modest-secureauth-combo-box.h" +#include "widgets/modest-validating-entry.h" #include #include #include @@ -97,8 +94,8 @@ on_combo_security_changed (GtkComboBox *widget, gpointer user_data) CONNECTION_SPECIFIC_SMTP_EDIT_WINDOW_GET_PRIVATE (self); const gint port_number = - easysetup_serversecurity_combo_box_get_active_serversecurity_port ( - EASYSETUP_SERVERSECURITY_COMBO_BOX (priv->combo_outgoing_security)); + modest_serversecurity_combo_box_get_active_serversecurity_port ( + MODEST_SERVERSECURITY_COMBO_BOX (priv->combo_outgoing_security)); if(port_number != 0) { gchar* str = g_strdup_printf ("%d", port_number); @@ -135,7 +132,7 @@ modest_connection_specific_smtp_edit_window_init (ModestConnectionSpecificSmtpEd /* The secure authentication widgets: */ if (!priv->combo_outgoing_auth) - priv->combo_outgoing_auth = GTK_WIDGET (easysetup_secureauth_combo_box_new ()); + priv->combo_outgoing_auth = GTK_WIDGET (modest_secureauth_combo_box_new ()); caption = hildon_caption_new (sizegroup, _("mcen_li_emailsetup_secure_authentication"), priv->combo_outgoing_auth, NULL, HILDON_CAPTION_OPTIONAL); gtk_widget_show (priv->combo_outgoing_auth); @@ -171,11 +168,11 @@ modest_connection_specific_smtp_edit_window_init (ModestConnectionSpecificSmtpEd /* The secure connection widgets: */ if (!priv->combo_outgoing_security) - priv->combo_outgoing_security = GTK_WIDGET (easysetup_serversecurity_combo_box_new ()); - easysetup_serversecurity_combo_box_fill ( - EASYSETUP_SERVERSECURITY_COMBO_BOX (priv->combo_outgoing_security), MODEST_PROTOCOL_TRANSPORT_SMTP); - easysetup_serversecurity_combo_box_set_active_serversecurity ( - EASYSETUP_SERVERSECURITY_COMBO_BOX (priv->combo_outgoing_security), MODEST_PROTOCOL_SECURITY_NONE); + priv->combo_outgoing_security = GTK_WIDGET (modest_serversecurity_combo_box_new ()); + modest_serversecurity_combo_box_fill ( + MODEST_SERVERSECURITY_COMBO_BOX (priv->combo_outgoing_security), MODEST_PROTOCOL_TRANSPORT_SMTP); + modest_serversecurity_combo_box_set_active_serversecurity ( + MODEST_SERVERSECURITY_COMBO_BOX (priv->combo_outgoing_security), MODEST_PROTOCOL_SECURITY_NONE); caption = hildon_caption_new (sizegroup, _("mcen_li_emailsetup_secure_connection"), priv->combo_outgoing_security, NULL, HILDON_CAPTION_OPTIONAL); gtk_widget_show (priv->combo_outgoing_security); @@ -207,17 +204,40 @@ modest_connection_specific_smtp_edit_window_new (void) void modest_connection_specific_smtp_edit_window_set_connection ( - ModestConnectionSpecificSmtpEditWindow *window, const gchar* iap_id, const gchar* iap_name) + ModestConnectionSpecificSmtpEditWindow *window, const gchar* iap_id, const gchar* iap_name, + const ModestServerAccountData *data) { + ModestConnectionSpecificSmtpEditWindowPrivate *priv = + CONNECTION_SPECIFIC_SMTP_EDIT_WINDOW_GET_PRIVATE (window); + /* This causes a warning because of the %s in the translation, but not in the original string: */ gchar* title = g_strdup_printf (_("mcen_ti_connection_connection_name"), iap_name); - gtk_window_set_title (GTK_WINDOW (window), title); g_free (title); + + if (data) + { + gtk_entry_set_text (GTK_ENTRY (priv->entry_outgoingserver), data->hostname); + gtk_entry_set_text (GTK_ENTRY (priv->entry_user_username), data->username); + gtk_entry_set_text (GTK_ENTRY (priv->entry_user_password), data->password); + + modest_serversecurity_combo_box_set_active_serversecurity ( + MODEST_SERVERSECURITY_COMBO_BOX (priv->combo_outgoing_security), data->security); + + modest_secureauth_combo_box_set_active_secureauth ( + MODEST_SECUREAUTH_COMBO_BOX (priv->combo_outgoing_auth), data->secure_auth); + + /* port: */ + gchar * port_str = g_strdup_printf ("%d", data->port); + gtk_entry_set_text (GTK_ENTRY (priv->entry_port), port_str); + g_free (port_str); + } } -gboolean -modest_connection_specific_smtp_edit_window_save_settings ( +/* + * The result must be freed with modest_account_mgr_free_server_account_data(). */ +ModestServerAccountData* +modest_connection_specific_smtp_edit_window_get_settings ( ModestConnectionSpecificSmtpEditWindow *window, ModestAccountMgr *account_manager, const gchar* server_account_name) { @@ -226,39 +246,24 @@ modest_connection_specific_smtp_edit_window_save_settings ( g_assert (server_account_name); - const gchar* hostname = gtk_entry_get_text (GTK_ENTRY (priv->entry_outgoingserver)); - gboolean test = modest_account_mgr_set_string (account_manager, server_account_name, - MODEST_ACCOUNT_HOSTNAME, hostname, TRUE /* server account */); - if (!test) - return FALSE; - - const gchar* username = gtk_entry_get_text (GTK_ENTRY (priv->entry_user_username)); - test = modest_account_mgr_set_string (account_manager, server_account_name, - MODEST_ACCOUNT_USERNAME, username, TRUE /* server account */); - if (!test) - return FALSE; - - const gchar* password = gtk_entry_get_text (GTK_ENTRY (priv->entry_user_password)); - test = modest_account_mgr_set_string (account_manager, server_account_name, - MODEST_ACCOUNT_PASSWORD, password, TRUE /* server account */); - if (!test) - return FALSE; + /* Use g_slice_new0(), because that's what modest_account_mgr_free_server_account_data() + * expects us to use. */ + ModestServerAccountData *result = g_slice_new0 (ModestServerAccountData); + + result->hostname = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry_outgoingserver))); + result->username = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry_user_username))); + result->password = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry_user_password))); - const ModestProtocol protocol_security_outgoing = easysetup_serversecurity_combo_box_get_active_serversecurity ( - EASYSETUP_SERVERSECURITY_COMBO_BOX (priv->combo_outgoing_security)); - modest_server_account_set_security (account_manager, server_account_name, protocol_security_outgoing); + result->security = modest_serversecurity_combo_box_get_active_serversecurity ( + MODEST_SERVERSECURITY_COMBO_BOX (priv->combo_outgoing_security)); - const ModestProtocol protocol_authentication_outgoing = easysetup_secureauth_combo_box_get_active_secureauth ( - EASYSETUP_SECUREAUTH_COMBO_BOX (priv->combo_outgoing_auth)); - modest_server_account_set_secure_auth (account_manager, server_account_name, protocol_authentication_outgoing); + result->secure_auth = modest_secureauth_combo_box_get_active_secureauth ( + MODEST_SECUREAUTH_COMBO_BOX (priv->combo_outgoing_auth)); /* port: */ const gchar * port_str = gtk_entry_get_text (GTK_ENTRY (priv->entry_port)); - gint port_num = 0; if (port_str) - port_num = atoi (port_str); - modest_account_mgr_set_int (account_manager, server_account_name, - MODEST_ACCOUNT_PORT, port_num, TRUE /* server account */); + result->port = atoi (port_str); - return TRUE; + return result; }