create_page_user_details (ModestAccountSettingsDialog *self)
{
GtkWidget *box = gtk_vbox_new (FALSE, MODEST_MARGIN_NONE);
+ GtkAdjustment *focus_adjustment = NULL;
/* Create a size group to be used by all captions.
* Note that HildonCaption does not create a default size group if we do not specify one.
* We use GTK_SIZE_GROUP_HORIZONTAL, so that the widths are the same. */
GtkSizeGroup* sizegroup = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+ GtkWidget *scrollwin = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
+ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
/* The name widgets: */
self->entry_user_name = GTK_WIDGET (modest_validating_entry_new ());
G_CALLBACK (on_button_signature), self);
gtk_widget_show (GTK_WIDGET (box));
+ gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrollwin), box);
+ gtk_widget_show (scrollwin);
+
+ focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrollwin));
+ gtk_container_set_focus_vadjustment (GTK_CONTAINER (box), focus_adjustment);
- return GTK_WIDGET (box);
+ return GTK_WIDGET (scrollwin);
}
/** Change the caption title for the incoming server,
/* The port widgets: */
/* TODO: There are various rules about this in the UI spec. */
if (!self->entry_incoming_port)
- self->entry_incoming_port = GTK_WIDGET (hildon_number_editor_new (0, 65535));
+ self->entry_incoming_port = GTK_WIDGET (hildon_number_editor_new (1, 65535));
caption = hildon_caption_new (sizegroup, _("mcen_fi_emailsetup_port"),
self->entry_incoming_port, NULL, HILDON_CAPTION_OPTIONAL);
gtk_widget_show (self->entry_incoming_port);
static GtkWidget* create_page_outgoing (ModestAccountSettingsDialog *self)
{
GtkWidget *box = gtk_vbox_new (FALSE, MODEST_MARGIN_NONE);
+ GtkAdjustment *focus_adjustment = NULL;
/* Put it all in a scrolled window, so that all widgets can be
* accessed even when the on-screen keyboard is visible: */
/* The port widgets: */
if (!self->entry_outgoing_port)
- self->entry_outgoing_port = GTK_WIDGET (hildon_number_editor_new (0, 65535));
+ self->entry_outgoing_port = GTK_WIDGET (hildon_number_editor_new (1, 65535));
caption = hildon_caption_new (sizegroup, _("mcen_fi_emailsetup_port"),
self->entry_outgoing_port, NULL, HILDON_CAPTION_OPTIONAL);
gtk_widget_show (self->entry_outgoing_port);
gtk_widget_show (GTK_WIDGET (box));
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW(scrollwin), box);
gtk_widget_show(scrollwin);
+
+ focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrollwin));
+ gtk_container_set_focus_vadjustment (GTK_CONTAINER (box), focus_adjustment);
return GTK_WIDGET (scrollwin);
}
+
+
+
static gboolean
check_data (ModestAccountSettingsDialog *self)
{
return FALSE;
}
}
-
- /* Check that the email address is valud: */
+
+ /* Check that the email address is valid: */
const gchar* email_address = gtk_entry_get_text (GTK_ENTRY (self->entry_user_email));
if ((!email_address) || (strlen(email_address) == 0))
return FALSE;
return FALSE;
}
- /* Find a suitable authentication method when secure authentication is desired */
+ /* make sure the domain name for the incoming server is valid */
const gchar* hostname = gtk_entry_get_text (GTK_ENTRY (self->entry_incomingserver));
+ if ((!hostname) || (strlen(hostname) == 0))
+ return FALSE;
+ if (!modest_text_utils_validate_domain_name (hostname)) {
+ /* Warn the user via a dialog: */
+ /*show_error (GTK_WINDOW (self), _("mcen_ib_invalid_email"));*/
+ hildon_banner_show_information (NULL, NULL, _("mcen_ib_invalid_servername"));
+
+ /* Return focus to the email address entry: */
+ gtk_widget_grab_focus (self->entry_incomingserver);
+ gtk_editable_select_region (GTK_EDITABLE (self->entry_incomingserver), 0, -1);
+ return FALSE;
+ }
+
+ /* make sure the domain name for the outgoing server is valid */
+ const gchar* hostname2 = gtk_entry_get_text (GTK_ENTRY (self->entry_outgoingserver));
+ if ((!hostname2) || (strlen(hostname2) == 0))
+ return FALSE;
+ if (!modest_text_utils_validate_domain_name (hostname2)) {
+ /* Warn the user via a dialog: */
+ /*show_error (GTK_WINDOW (self), _("mcen_ib_invalid_email"));*/
+ hildon_banner_show_information (NULL, NULL, _("mcen_ib_invalid_servername"));
+
+ /* Return focus to the email address entry: */
+ gtk_widget_grab_focus (self->entry_outgoingserver);
+ gtk_editable_select_region (GTK_EDITABLE (self->entry_outgoingserver), 0, -1);
+ return FALSE;
+ }
+
+
+ /* Find a suitable authentication method when secure authentication is desired */
+
gint port_num = hildon_number_editor_get_value (
HILDON_NUMBER_EDITOR (self->entry_incoming_port));
const gchar* username = gtk_entry_get_text (GTK_ENTRY (self->entry_user_username));
}
}
}
+
+
- /* TODO: The UI Spec wants us to check that the servernames are valid,
- * but does not specify how.
- */
-
+
return TRUE;
}
/*