#include "modest-hildon-includes.h"
#include "modest-maemo-security-options-view.h"
#include "modest-account-protocol.h"
+#include "modest-address-book.h"
/* Include config.h so that _() works: */
#ifdef HAVE_CONFIG_H
MODEST_TYPE_EASYSETUP_WIZARD_DIALOG, \
ModestEasysetupWizardDialogPrivate))
-#define LABELS_WIDTH 480
+#define LABELS_WIDTH 520
#define DIALOG_WIDTH LABELS_WIDTH + MODEST_MARGIN_DOUBLE
typedef struct _ModestEasysetupWizardDialogPrivate ModestEasysetupWizardDialogPrivate;
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)
{
GtkWidget *box;
ModestEasysetupWizardDialogPrivate *priv;
GtkWidget *align;
+ const gchar *my_name;
priv = MODEST_EASYSETUP_WIZARD_DIALOG_GET_PRIVATE(self);
on_entry_max, self);
GtkWidget *caption = create_captioned (self, title_sizegroup, value_sizegroup,
_("mcen_li_emailsetup_name"), FALSE, priv->entry_user_name);
+
+ /* Try to initialize the user name with my own contact */
+ my_name = modest_address_book_get_my_name ();
+ if (my_name)
+ gtk_entry_set_text (GTK_ENTRY (priv->entry_user_name), my_name);
+
g_signal_connect(G_OBJECT(priv->entry_user_name), "changed",
G_CALLBACK(on_easysetup_changed), self);
gtk_widget_show (priv->entry_user_name);
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,
static GtkWidget*
create_page_complete_custom (ModestEasysetupWizardDialog *self)
{
+ gchar *complete_string;
GtkWidget *align;
- GtkWidget *box = gtk_vbox_new (FALSE, MODEST_MARGIN_DEFAULT);
- GtkWidget *label = gtk_label_new(_("mcen_ia_emailsetup_setup_complete"));
- GtkWidget *button_edit = gtk_button_new_with_label (_("mcen_fi_advanced_settings"));
- hildon_gtk_widget_set_theme_size (button_edit, HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH);
+ GtkWidget *box;
+ GtkWidget *label;
+ GtkWidget *button_edit;
+
+ box = gtk_vbox_new (FALSE, MODEST_MARGIN_DEFAULT);
+ complete_string = g_strconcat (_("mcen_ia_emailsetup_setup_complete"), " ",
+ _("mcen_ia_customsetup_complete"), NULL);
+ label = gtk_label_new(complete_string);
+ g_free (complete_string);
gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
gtk_widget_set_size_request (label, LABELS_WIDTH, -1);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_misc_set_padding (GTK_MISC (label), MODEST_MARGIN_DOUBLE, MODEST_MARGIN_DOUBLE);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
-
- label = gtk_label_new (_("mcen_ia_customsetup_complete"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_widget_set_size_request (label, LABELS_WIDTH, -1);
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_misc_set_padding (GTK_MISC (label), MODEST_MARGIN_DOUBLE, MODEST_MARGIN_DOUBLE);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0);
gtk_widget_show (label);
+ button_edit = gtk_button_new_with_label (_("mcen_fi_advanced_settings"));
+ hildon_gtk_widget_set_theme_size (button_edit, HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH);
gtk_widget_show (button_edit);
gtk_box_pack_start (GTK_BOX (box), button_edit, FALSE, FALSE, 0);
gchar *proto_name;
ModestProtocolType proto_type;
+ /* Get protocol data */
+ proto_name = modest_provider_picker_get_active_provider_id (picker);
+ protocol = modest_protocol_registry_get_protocol_by_name (modest_runtime_get_protocol_registry (),
+ MODEST_PROTOCOL_REGISTRY_PROVIDER_PROTOCOLS,
+ proto_name);
+ proto_type = modest_protocol_get_type_id (protocol);
+
/* If we come from a rollbacked easy setup */
- if (priv->last_plugin_protocol_selected ==
- MODEST_PROTOCOL_REGISTRY_TYPE_INVALID &&
+ if (priv->last_plugin_protocol_selected != proto_type &&
priv->page_complete_easysetup) {
remove_non_common_tabs (notebook, TRUE);
init_user_page (priv);
priv->page_complete_easysetup = NULL;
}
- proto_name = modest_provider_picker_get_active_provider_id (picker);
- protocol = modest_protocol_registry_get_protocol_by_name (modest_runtime_get_protocol_registry (),
- MODEST_PROTOCOL_REGISTRY_PROVIDER_PROTOCOLS,
- proto_name);
- proto_type = modest_protocol_get_type_id (protocol);
-
if (protocol && MODEST_IS_ACCOUNT_PROTOCOL (protocol) &&
proto_type != priv->last_plugin_protocol_selected) {
ModestPairList *tabs;