Fixes NB#117938, autocomplete the email address with provided username in easysetupwizard
authorSergio Villar Senin <svillar@igalia.com>
Wed, 20 May 2009 09:49:21 +0000 (11:49 +0200)
committerSergio Villar Senin <svillar@igalia.com>
Wed, 20 May 2009 09:49:21 +0000 (11:49 +0200)
src/hildon2/modest-easysetup-wizard-dialog.c
src/maemo/easysetup/modest-easysetup-wizard-dialog.c

index 7e8fb92..58c1930 100644 (file)
@@ -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,
index ef5f7ad..54e80dd 100644 (file)
@@ -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,