#include <gtk/gtkbutton.h>
#include <gtk/gtkmessagedialog.h>
#include <gtk/gtkseparator.h>
-#include "modest-servertype-picker.h"
#include "widgets/modest-validating-entry.h"
#include "modest-text-utils.h"
#include "modest-conf.h"
GtkWidget *page_complete_easysetup;
GtkWidget *page_custom_incoming;
- GtkWidget *incoming_servertype_picker;
+ GtkWidget *incoming_servertype_selector;
GtkWidget *caption_incoming;
GtkWidget *entry_incomingserver;
static void
set_default_custom_servernames(ModestEasysetupWizardDialog *dialog);
+#ifdef HILDON_PICKER_BUTTON
static void on_servertype_selector_changed(HildonTouchSelector *selector, gint column, gpointer user_data);
+#endif
static gint
get_port_from_protocol (ModestProtocolType server_type,
g_free (provider_id);
}
+#ifdef HILDON_PICKER_BUTTON
static void
on_account_serviceprovider_selector_changed (GtkWidget *widget, gint column, gpointer user_data)
{
update_user_email_from_provider (self);
}
+#endif
static void
on_account_serviceprovider_selector_combo_box_changed (GtkWidget *widget, gpointer user_data)
priv = MODEST_EASYSETUP_WIZARD_DIALOG_GET_PRIVATE(self);
protocol_registry = modest_runtime_get_protocol_registry ();
- protocol_type = modest_servertype_picker_get_active_servertype (
- MODEST_SERVERTYPE_PICKER (priv->incoming_servertype_picker));
+ protocol_type = modest_servertype_selector_get_active_servertype (
+ priv->incoming_servertype_selector);
/* This could happen when the combo box has still no active iter */
if (protocol_type != MODEST_PROTOCOL_REGISTRY_TYPE_INVALID) {
update_incoming_server_security_choices (ModestEasysetupWizardDialog *self)
{
ModestEasysetupWizardDialogPrivate *priv = MODEST_EASYSETUP_WIZARD_DIALOG_GET_PRIVATE(self);
- ModestServertypePicker *server_type_picker;
+ GtkWidget *server_type_selector;
ModestProtocolType protocol_type;
ModestSecurityOptionsView *view;
- server_type_picker =
- MODEST_SERVERTYPE_PICKER (priv->incoming_servertype_picker);
- protocol_type =
- modest_servertype_picker_get_active_servertype (server_type_picker);
+ server_type_selector = priv->incoming_servertype_selector;
+ protocol_type = modest_servertype_selector_get_active_servertype (server_type_selector);
/* Fill the combo with appropriately titled choices for all
those protocols */
modest_security_options_view_set_server_type (view, protocol_type);
}
+#ifdef HILDON_PICKER_BUTTON
static void
on_servertype_selector_changed(HildonTouchSelector *selector, gint column, gpointer user_data)
{
set_default_custom_servernames (self);
}
+#endif
+
+static void
+on_servertype_combo_changed(GtkWidget *selector, gpointer user_data)
+{
+ ModestEasysetupWizardDialog *self = MODEST_EASYSETUP_WIZARD_DIALOG (user_data);
+ ModestEasysetupWizardDialogPrivate *priv = MODEST_EASYSETUP_WIZARD_DIALOG_GET_PRIVATE(self);
+
+ priv->dirty = TRUE;
+
+ /* Update title */
+ update_incoming_server_title (self);
+
+ /* Update security options if needed */
+ update_incoming_server_security_choices (self);
+ gtk_widget_show (priv->incoming_security);
+
+ set_default_custom_servernames (self);
+}
static void
on_entry_incoming_servername_changed(GtkEntry *entry, gpointer user_data)
value_sizegroup = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
/* The incoming server widgets: */
- priv->incoming_servertype_picker = GTK_WIDGET (modest_servertype_picker_new (MODEST_EDITABLE_SIZE,
- HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
- TRUE));
- modest_maemo_utils_set_hbutton_layout (title_sizegroup, value_sizegroup,
- _("mcen_li_emailsetup_type"),
- priv->incoming_servertype_picker);
- g_signal_connect (G_OBJECT (priv->incoming_servertype_picker), "value-changed",
- G_CALLBACK (on_picker_button_value_changed), self);
- gtk_box_pack_start (GTK_BOX (box), priv->incoming_servertype_picker, FALSE, FALSE, 0);
- gtk_widget_show (priv->incoming_servertype_picker);
+ priv->incoming_servertype_selector =
+ modest_toolkit_factory_create_servertype_selector (modest_runtime_get_toolkit_factory (),
+ TRUE);
+ if (GTK_IS_COMBO_BOX (priv->incoming_servertype_selector)) {
+ GtkWidget *captioned;
+ g_signal_connect (G_OBJECT (priv->incoming_servertype_selector), "changed",
+ G_CALLBACK (on_picker_button_value_changed), self);
+ captioned = modest_maemo_utils_create_captioned (title_sizegroup, value_sizegroup,
+ _("mcen_fi_country"), FALSE,
+ priv->incoming_servertype_selector);
+
+ gtk_box_pack_start (GTK_BOX (box), captioned, FALSE, FALSE, MODEST_MARGIN_HALF);
+ gtk_widget_show (captioned);
+ } else {
+ modest_maemo_utils_set_hbutton_layout (title_sizegroup, value_sizegroup,
+ _("mcen_li_emailsetup_type"),
+ priv->incoming_servertype_selector);
+ g_signal_connect (G_OBJECT (priv->incoming_servertype_selector), "value-changed",
+ G_CALLBACK (on_picker_button_value_changed), self);
+ gtk_box_pack_start (GTK_BOX (box), priv->incoming_servertype_selector, FALSE, FALSE, 0);
+ }
+ gtk_widget_show (priv->incoming_servertype_selector);
priv->entry_incomingserver = modest_toolkit_factory_create_entry (modest_runtime_get_toolkit_factory ());
gtk_widget_show (priv->incoming_security);
/* Set default selection */
- modest_servertype_picker_set_active_servertype (
- MODEST_SERVERTYPE_PICKER (priv->incoming_servertype_picker),
- MODEST_PROTOCOLS_STORE_POP);
+ modest_servertype_selector_set_active_servertype (priv->incoming_servertype_selector,
+ MODEST_PROTOCOLS_STORE_POP);
update_incoming_server_title (self);
update_incoming_server_security_choices (self);
set_default_custom_servernames (self);
/* Change the caption title when the servertype changes,
* as in the UI spec: */
- g_signal_connect (G_OBJECT (hildon_picker_button_get_selector (HILDON_PICKER_BUTTON (priv->incoming_servertype_picker))),
- "changed",
- G_CALLBACK (on_servertype_selector_changed), self);
+ if (GTK_IS_COMBO_BOX (priv->incoming_servertype_selector)) {
+ g_signal_connect (priv->incoming_servertype_selector,
+ "changed",
+ G_CALLBACK (on_servertype_combo_changed), self);
+ } else {
+#ifdef HILDON_PICKER_BUTTON
+ g_signal_connect (G_OBJECT (hildon_picker_button_get_selector (HILDON_PICKER_BUTTON (priv->incoming_servertype_selector))),
+ "changed",
+ G_CALLBACK (on_servertype_selector_changed), self);
+#endif
+ }
align = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, MODEST_MARGIN_DOUBLE, 0);
"changed",
G_CALLBACK (on_account_serviceprovider_selector_combo_box_changed), self);
} else {
+#ifdef HILDON_PICKER_BUTTON
g_signal_connect (G_OBJECT (hildon_picker_button_get_selector
(HILDON_PICKER_BUTTON (priv->account_serviceprovider_selector))),
"changed",
G_CALLBACK (on_account_serviceprovider_selector_changed), self);
+#endif
}
modest_provider_selector_set_others_provider (priv->account_serviceprovider_selector);
}
init_incoming_page (ModestEasysetupWizardDialogPrivate *priv)
{
priv->page_custom_incoming = NULL;
- priv->incoming_servertype_picker = NULL;
+ priv->incoming_servertype_selector = NULL;
priv->caption_incoming = NULL;
priv->entry_incomingserver = NULL;
priv->entry_user_email = NULL;
*/
if (priv->entry_user_email
&& ((priv->server_changes & MODEST_EASYSETUP_WIZARD_DIALOG_INCOMING_CHANGED) == 0)) {
- const ModestProtocolType protocol_type = modest_servertype_picker_get_active_servertype (
- MODEST_SERVERTYPE_PICKER (priv->incoming_servertype_picker));
+ const ModestProtocolType protocol_type = modest_servertype_selector_get_active_servertype (
+ priv->incoming_servertype_selector);
/* This could happen when the combo box has still no active iter */
if (protocol_type != MODEST_PROTOCOL_REGISTRY_TYPE_INVALID) {
} else {
/* Use custom pages because no preset was specified: */
store_hostname = g_strdup (modest_entry_get_text (priv->entry_incomingserver ));
- store_protocol = modest_servertype_picker_get_active_servertype (
- MODEST_SERVERTYPE_PICKER (priv->incoming_servertype_picker));
+ store_protocol = modest_servertype_selector_get_active_servertype (
+ priv->incoming_servertype_selector);
modest_security_options_view_save_settings (
MODEST_SECURITY_OPTIONS_VIEW (priv->incoming_security),
priv = MODEST_EASYSETUP_WIZARD_DIALOG_GET_PRIVATE (self);
registry = modest_runtime_get_protocol_registry ();
- protocol_type = modest_servertype_picker_get_active_servertype (
- MODEST_SERVERTYPE_PICKER (priv->incoming_servertype_picker));
+ protocol_type = modest_servertype_selector_get_active_servertype (
+ priv->incoming_servertype_selector);
hostname = gtk_entry_get_text(GTK_ENTRY(priv->entry_incomingserver));
username = gtk_entry_get_text(GTK_ENTRY(priv->entry_user_username));
security_protocol_incoming_type = modest_security_options_view_get_connection_protocol