From 4e0ebe6bcdcf5974e134dfafd650ae77f5466292 Mon Sep 17 00:00:00 2001 From: Sergio Villar Senin Date: Wed, 20 May 2009 11:49:21 +0200 Subject: [PATCH] Fixes NB#117938, autocomplete the email address with provided username in easysetupwizard --- src/hildon2/modest-easysetup-wizard-dialog.c | 35 +++++++++++++++++++- .../easysetup/modest-easysetup-wizard-dialog.c | 34 ++++++++++++++++++- 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/src/hildon2/modest-easysetup-wizard-dialog.c b/src/hildon2/modest-easysetup-wizard-dialog.c index 7e8fb92..58c1930 100644 --- a/src/hildon2/modest-easysetup-wizard-dialog.c +++ b/src/hildon2/modest-easysetup-wizard-dialog.c @@ -594,6 +594,39 @@ 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) { + gchar *email_address; + gchar *domain_name = modest_presets_get_domain (priv->presets, provider_id); + + email_address = g_strdup_printf ("%s@%s", + hildon_entry_get_text (HILDON_ENTRY (priv->entry_user_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 +691,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, diff --git a/src/maemo/easysetup/modest-easysetup-wizard-dialog.c b/src/maemo/easysetup/modest-easysetup-wizard-dialog.c index ef5f7ad..54e80dd 100644 --- a/src/maemo/easysetup/modest-easysetup-wizard-dialog.c +++ b/src/maemo/easysetup/modest-easysetup-wizard-dialog.c @@ -579,6 +579,38 @@ create_page_account_details (ModestEasysetupWizardDialog *self) return GTK_WIDGET (box); } +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) { + gchar *email_address; + gchar *domain_name = modest_presets_get_domain (priv->presets, provider_id); + + email_address = g_strdup_printf ("%s@%s", + hildon_entry_get_text (HILDON_ENTRY (priv->entry_user_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) { @@ -634,7 +666,7 @@ create_page_user_details (ModestEasysetupWizardDialog *self) gtk_widget_show (priv->entry_user_username); gtk_box_pack_start (GTK_BOX (box), caption, FALSE, FALSE, MODEST_MARGIN_HALF); 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, -- 1.7.9.5