Server security combobox for gtk in factory
authorJose Dapena Paz <jdapena@igalia.com>
Fri, 13 Nov 2009 16:40:44 +0000 (17:40 +0100)
committerJose Dapena Paz <jdapena@igalia.com>
Tue, 17 Nov 2009 16:59:12 +0000 (17:59 +0100)
src/widgets/modest-toolkit-factory.c
src/widgets/modest-toolkit-factory.h

index 0263507..8266732 100644 (file)
@@ -44,6 +44,7 @@
 #define USE_GTK_ENTRY
 #define USE_GTK_FILE_CHOOSER
 #define USE_COUNTRY_COMBOBOX
+#define USE_SERVERSECURITY_PICKER
 #endif
 
 #ifdef USE_SCROLLED_WINDOW
 #include <modest-servertype-picker.h>
 #endif
 
+#ifdef USE_SERVERSECURITY_COMBOBOX
+#include <modest-serversecurity-combo-box.h>
+#else
+#include <modest-serversecurity-picker.h>
+#endif
+
 static void modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass);
 static void modest_toolkit_factory_init (ModestToolkitFactory *self);
 
@@ -99,6 +106,7 @@ static GtkWidget * modest_toolkit_factory_create_country_selector_default     (M
 static GtkWidget * modest_toolkit_factory_create_provider_selector_default    (ModestToolkitFactory *self);
 static GtkWidget * modest_toolkit_factory_create_servertype_selector_default  (ModestToolkitFactory *self,
                                                                               gboolean filter_providers);
+static GtkWidget * modest_toolkit_factory_create_security_selector_default    (ModestToolkitFactory *self);
 /* globals */
 static GObjectClass *parent_class = NULL;
 
@@ -129,6 +137,7 @@ modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass)
        klass->create_country_selector = modest_toolkit_factory_create_country_selector_default;
        klass->create_provider_selector = modest_toolkit_factory_create_provider_selector_default;
        klass->create_servertype_selector = modest_toolkit_factory_create_servertype_selector_default;
+       klass->create_serversecurity_selector = modest_toolkit_factory_create_serversecurity_selector_default;
 }
 
 static void
@@ -596,3 +605,68 @@ modest_servertype_selector_set_active_servertype (GtkWidget *self,
        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_servertype_selector (self);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_serversecurity_selector_default (ModestToolkitFactory *self)
+{
+       GtkWidget *result;
+#ifdef USE_PROVIDER_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
+}
index ef1a788..b1cbabb 100644 (file)
@@ -47,6 +47,7 @@ struct                                          _ModestToolkitFactoryClass
        GtkWidget * (*create_country_selector) (ModestToolkitFactory *self);
        GtkWidget * (*create_provider_selector) (ModestToolkitFactory *self);
        GtkWidget * (*create_servertype_selector) (ModestToolkitFactory *self, gboolean filter_providers);
+       GtkWidget * (*create_serversecurity_selector) (ModestToolkitFactory *self);
 };
 
 struct                                          _ModestToolkitFactory
@@ -92,6 +93,9 @@ modest_toolkit_factory_create_provider_selector (ModestToolkitFactory *self);
 GtkWidget *
 modest_toolkit_factory_create_servertype_selector (ModestToolkitFactory *self, gboolean filter_providers);
 
+GtkWidget *
+modest_toolkit_factory_create_serversecurity_selector (ModestToolkitFactory *self);
+
 gboolean
 modest_togglable_get_active (GtkWidget *widget);
 
@@ -162,6 +166,16 @@ modest_servertype_selector_get_active_servertype (GtkWidget *self);
 void
 modest_servertype_selector_set_active_servertype (GtkWidget *self, ModestProtocolType protocol_type_id);
 
+void modest_serversecurity_selector_fill (GtkWidget *combobox, ModestProtocolType protocol);
+
+ModestProtocolType modest_serversecurity_selector_get_active_serversecurity (GtkWidget *combobox);
+
+gboolean modest_serversecurity_selector_set_active_serversecurity (GtkWidget *combobox,
+                                                                  ModestProtocolType serversecurity);
+
+gint modest_serversecurity_selector_get_active_serversecurity_port (GtkWidget *combobox);
+
+
 #ifndef MODEST_TOOLKIT_HILDON2
 #define USE_PROVIDER_COMBOBOX
 #define USE_SERVERTYPE_COMBOBOX