+ return modest_provider_picker_get_active_provider_id (MODEST_PROVIDER_PICKER (widget));
+#endif
+}
+
+gchar *
+modest_provider_selector_get_active_provider_label (GtkWidget *widget)
+{
+#ifdef USE_PROVIDER_COMBOBOX
+
+ return modest_provider_combo_box_get_active_provider_label (MODEST_PROVIDER_COMBO_BOX (widget));
+#else
+ GtkWidget *selector;
+
+ selector = GTK_WIDGET (hildon_picker_button_get_selector (HILDON_PICKER_BUTTON (widget)));
+ return g_strdup (hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (selector)));
+#endif
+}
+
+ModestProviderSelectorIdType
+modest_provider_selector_get_active_id_type (GtkWidget *widget)
+{
+ ModestProviderSelectorIdType result;
+#ifdef USE_PROVIDER_COMBOBOX
+ ModestProviderComboBoxIdType id_type;
+
+ id_type = modest_provider_combo_box_get_active_id_type (MODEST_PROVIDER_COMBO_BOX (widget));
+ switch (id_type) {
+ case MODEST_PROVIDER_COMBO_BOX_ID_PROVIDER:
+ result = MODEST_PROVIDER_SELECTOR_ID_PROVIDER;
+ break;
+ case MODEST_PROVIDER_COMBO_BOX_ID_OTHER:
+ result = MODEST_PROVIDER_SELECTOR_ID_OTHER;
+ break;
+ case MODEST_PROVIDER_COMBO_BOX_ID_PLUGIN_PROTOCOL:
+ result = MODEST_PROVIDER_SELECTOR_ID_PLUGIN_PROTOCOL;
+ break;
+ default:
+ result = MODEST_PROVIDER_SELECTOR_ID_OTHER;
+ }
+ return result;
+#else
+ ModestProviderPickerIdType id_type;
+
+ id_type = modest_provider_picker_get_active_id_type (MODEST_PROVIDER_PICKER (widget));
+ switch (id_type) {
+ case MODEST_PROVIDER_PICKER_ID_PROVIDER:
+ result = MODEST_PROVIDER_SELECTOR_ID_PROVIDER;
+ break;
+ case MODEST_PROVIDER_PICKER_ID_OTHER:
+ result = MODEST_PROVIDER_SELECTOR_ID_OTHER;
+ break;
+ case MODEST_PROVIDER_PICKER_ID_PLUGIN_PROTOCOL:
+ result = MODEST_PROVIDER_SELECTOR_ID_PLUGIN_PROTOCOL;
+ break;
+ default:
+ result = MODEST_PROVIDER_SELECTOR_ID_OTHER;
+ }
+#endif
+ return result;
+}
+
+void
+modest_provider_selector_set_others_provider (GtkWidget *self)
+{
+#ifdef USE_PROVIDER_COMBOBOX
+ modest_provider_combo_box_set_others_provider (MODEST_PROVIDER_COMBO_BOX (self));
+#else
+ modest_provider_picker_set_others_provider (MODEST_PROVIDER_PICKER (self));
+#endif
+}
+
+GtkWidget *
+modest_toolkit_factory_create_servertype_selector (ModestToolkitFactory *self, gboolean filter_providers)
+{
+ return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_servertype_selector (self, filter_providers);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_servertype_selector_default (ModestToolkitFactory *self, gboolean filter_providers)
+{
+ GtkWidget *result;
+#ifdef USE_PROVIDER_COMBOBOX
+ result = GTK_WIDGET (modest_servertype_combo_box_new (filter_providers));
+#else
+ result = GTK_WIDGET (modest_servertype_picker_new (MODEST_EDITABLE_SIZE,
+ HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
+ filter_providers));
+#endif
+ return result;
+}
+
+ModestProtocolType
+modest_servertype_selector_get_active_servertype (GtkWidget *self)
+{
+#ifdef USE_SERVERTYPE_COMBOBOX
+ return modest_servertype_combo_box_get_active_servertype (MODEST_SERVERTYPE_COMBO_BOX (self));
+#else
+ return modest_servertype_picker_get_active_servertype (MODEST_SERVERTYPE_PICKER (self));
+#endif
+}
+
+void
+modest_servertype_selector_set_active_servertype (GtkWidget *self,
+ ModestProtocolType protocol_type_id)
+{
+#ifdef USE_SERVERTYPE_COMBOBOX
+ modest_servertype_combo_box_set_active_servertype (MODEST_SERVERTYPE_COMBO_BOX (self), protocol_type_id);
+#else
+ modest_servertype_picker_set_active_servertype (MODEST_SERVERTYPE_PICKER (self), protocol_type_id);
+#endif
+}
+
+GtkWidget *
+modest_toolkit_factory_create_serversecurity_selector (ModestToolkitFactory *self)
+{
+ return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_serversecurity_selector (self);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_serversecurity_selector_default (ModestToolkitFactory *self)
+{
+ GtkWidget *result;
+#ifdef USE_SERVERSECURITY_COMBOBOX
+ result = GTK_WIDGET (modest_serversecurity_combo_box_new ());
+#else
+ result = GTK_WIDGET (modest_serversecurity_picker_new (MODEST_EDITABLE_SIZE,
+ HILDON_BUTTON_ARRANGEMENT_HORIZONTAL));
+#endif
+ return result;
+}
+
+void
+modest_serversecurity_selector_fill (GtkWidget *combobox,
+ ModestProtocolType protocol)
+{
+#ifdef USE_SERVERSECURITY_COMBOBOX
+ modest_serversecurity_combo_box_fill (MODEST_SERVERSECURITY_COMBO_BOX (combobox),
+ protocol);
+#else
+ modest_serversecurity_picker_fill (MODEST_SERVERSECURITY_PICKER (combobox),
+ protocol);
+#endif
+}
+
+ModestProtocolType
+modest_serversecurity_selector_get_active_serversecurity (GtkWidget *combobox)
+{
+#ifdef USE_SERVERSECURITY_COMBOBOX
+ return modest_serversecurity_combo_box_get_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (combobox));
+#else
+ return modest_serversecurity_picker_get_active_serversecurity (MODEST_SERVERSECURITY_PICKER (combobox));
+#endif
+}
+
+gboolean
+modest_serversecurity_selector_set_active_serversecurity (GtkWidget *combobox,
+ ModestProtocolType serversecurity)
+{
+#ifdef USE_SERVERSECURITY_COMBOBOX
+ return modest_serversecurity_combo_box_set_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (combobox),
+ serversecurity);
+#else
+ return modest_serversecurity_picker_set_active_serversecurity (MODEST_SERVERSECURITY_PICKER (combobox),
+ serversecurity);
+#endif
+}
+
+gint
+modest_serversecurity_selector_get_active_serversecurity_port (GtkWidget *combobox)
+{
+#ifdef USE_SERVERSECURITY_COMBOBOX
+ return modest_serversecurity_combo_box_get_active_serversecurity_port (MODEST_SERVERSECURITY_COMBO_BOX (combobox));
+#else
+ return modest_serversecurity_picker_get_active_serversecurity_port (MODEST_SERVERSECURITY_PICKER (combobox));
+#endif
+}
+
+GtkWidget *
+modest_toolkit_factory_create_secureauth_selector (ModestToolkitFactory *self)
+{
+ return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_secureauth_selector (self);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_secureauth_selector_default (ModestToolkitFactory *self)
+{
+ GtkWidget *result;
+#ifdef USE_SECUREAUTH_COMBOBOX
+ result = GTK_WIDGET (modest_secureauth_combo_box_new ());
+#else
+ result = GTK_WIDGET (modest_secureauth_picker_new (MODEST_EDITABLE_SIZE,
+ HILDON_BUTTON_ARRANGEMENT_HORIZONTAL));
+#endif
+ return result;
+}
+
+ModestProtocolType
+modest_secureauth_selector_get_active_secureauth (GtkWidget *widget)
+{
+#ifdef USE_SECUREAUTH_COMBOBOX
+ return modest_secureauth_combo_box_get_active_secureauth (MODEST_SECUREAUTH_COMBO_BOX (widget));
+#else
+ return modest_secureauth_picker_get_active_secureauth (MODEST_SECUREAUTH_PICKER (widget));
+#endif
+}
+
+gboolean
+modest_secureauth_selector_set_active_secureauth (GtkWidget *widget,
+ ModestProtocolType secureauth)
+{
+#ifdef USE_SECUREAUTH_COMBOBOX
+ return modest_secureauth_combo_box_set_active_secureauth (MODEST_SECUREAUTH_COMBO_BOX (widget),
+ secureauth);
+#else
+ return modest_secureauth_picker_set_active_secureauth (MODEST_SECUREAUTH_PICKER (widget),
+ secureauth);
+#endif
+}
+
+gboolean
+modest_is_secureauth_selector (GtkWidget *widget)
+{
+#ifdef USE_SECUREAUTH_COMBOBOX
+ return MODEST_IS_SECUREAUTH_COMBO_BOX (widget);
+#else
+ return MODEST_IS_SECUREAUTH_PICKER (widget);
+#endif
+}
+
+GtkWidget *
+modest_toolkit_factory_create_security_options_view (ModestToolkitFactory *self,
+ ModestSecurityOptionsType type,
+ gboolean full,
+ GtkSizeGroup *title_size_group,
+ GtkSizeGroup *value_size_group)
+{
+ return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_security_options_view (self, type, full,
+ title_size_group, value_size_group);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_security_options_view_default (ModestToolkitFactory *self,
+ ModestSecurityOptionsType type,
+ gboolean full,
+ GtkSizeGroup *title_size_group,
+ GtkSizeGroup *value_size_group)
+{
+ GtkWidget *result;
+#ifdef USE_GTK_SECURITY_OPTIONS_VIEW
+ result = GTK_WIDGET (modest_gtk_security_options_view_new (type, full, title_size_group, value_size_group));
+#else
+ result = GTK_WIDGET (modest_maemo_security_options_view_new (type, full, title_size_group, value_size_group));