Modified webpage: now tinymail repository is in gitorious.
[modest] / src / widgets / modest-toolkit-factory.c
index e4b4317..a24b370 100644 (file)
@@ -49,6 +49,7 @@
 #define USE_GTK_SECURITY_OPTIONS_VIEW
 #define USE_GTK_TEXT_VIEW
 #define USE_SELECTOR_COMBOBOX
+#define USE_GTK_DETAILS_DIALOG
 #endif
 
 #ifdef USE_SCROLLED_WINDOW
@@ -57,7 +58,7 @@
 #include <modest-hildon-pannable-area-scrollable.h>
 #endif
 
-#ifdef USE_GTK_TOOLBAR
+#ifdef USE_GTK_FIND_TOOLBAR
 #include <modest-find-toolbar.h>
 #else
 #include <modest-hildon-find-toolbar.h>
 #include <modest-selector-picker.h>
 #endif
 
+#ifdef USE_GTK_DETAILS_DIALOG
+#include <modest-gtk-details-dialog.h>
+#else
+#include <modest-hildon2-details-dialog.h>
+#endif
+
 static void modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass);
 static void modest_toolkit_factory_init (ModestToolkitFactory *self);
 
@@ -137,7 +144,12 @@ static GtkWidget * modest_toolkit_factory_create_security_options_view_default (
                                                                                GtkSizeGroup *value_size_group);
 static GtkWidget * modest_toolkit_factory_create_text_view_default            (ModestToolkitFactory *self);
 static GtkWidget * modest_toolkit_factory_create_selector_default             (ModestToolkitFactory *self,
-                                                                              ModestPairList *pairs, GEqualFunc id_equal_func);
+                                                                              ModestPairList *pairs, GEqualFunc id_equal_func,
+                                                                              gboolean center);
+static GtkWidget * modest_toolkit_factory_create_details_dialog_with_header_default   (ModestToolkitFactory *self, GtkWindow *parent,
+                                                                              TnyHeader *header, gboolean get_size);
+static GtkWidget * modest_toolkit_factory_create_details_dialog_with_folder_default  (ModestToolkitFactory *self, GtkWindow *parent,
+                                                                             TnyFolder *folder);
 
 /* globals */
 static GObjectClass *parent_class = NULL;
@@ -174,6 +186,8 @@ modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass)
        klass->create_security_options_view = modest_toolkit_factory_create_security_options_view_default;
        klass->create_text_view = modest_toolkit_factory_create_text_view_default;
        klass->create_selector = modest_toolkit_factory_create_selector_default;
+       klass->create_details_dialog_with_header = modest_toolkit_factory_create_details_dialog_with_header_default;
+       klass->create_details_dialog_with_folder = modest_toolkit_factory_create_details_dialog_with_folder_default;
 }
 
 static void
@@ -315,40 +329,40 @@ modest_toolkit_factory_create_entry_default (ModestToolkitFactory *self)
 void
 modest_entry_set_text (GtkWidget *widget, const gchar *text)
 {
-#ifdef MODEST_TOOLKIT_HILDON2
-       hildon_entry_set_text (HILDON_ENTRY (widget), text);
-#else
+#ifdef USE_GTK_ENTRY
        gtk_entry_set_text (GTK_ENTRY (widget), text);
+#else
+       hildon_entry_set_text (HILDON_ENTRY (widget), text);
 #endif
 }
 
 const gchar *
 modest_entry_get_text (GtkWidget *widget)
 {
-#ifdef MODEST_TOOLKIT_HILDON2
-       return hildon_entry_get_text (HILDON_ENTRY (widget));
+#ifdef USE_GTK_ENTRY
+       return gtk_entry_get_text (GTK_ENTRY (widget));
 #else
-       return gtk_entry_set_text (GTK_ENTRY (widget));
+       return hildon_entry_get_text (HILDON_ENTRY (widget));
 #endif
 }
 
 void 
 modest_entry_set_hint (GtkWidget *widget, const gchar *hint)
 {
-#ifdef MODEST_TOOLKIT_HILDON2
-       hildon_entry_set_placeholder (HILDON_ENTRY (widget), hint);
-#else
+#ifdef USE_GTK_ENTRY
        gtk_widget_set_tooltip_text (widget, hint);
+#else
+       hildon_entry_set_placeholder (HILDON_ENTRY (widget), hint);
 #endif
 }
 
 gboolean
 modest_is_entry (GtkWidget *widget)
 {
-#ifdef MODEST_TOOLKIT_HILDON2
-       return HILDON_IS_ENTRY (widget);
-#else
+#ifdef USE_GTK_ENTRY
        return GTK_IS_ENTRY (widget);
+#else
+       return HILDON_IS_ENTRY (widget);
 #endif
 }
 
@@ -524,6 +538,16 @@ modest_provider_selector_fill (GtkWidget *widget,
 #endif
 }
 
+void
+modest_provider_selector_refresh (GtkWidget *widget)
+{
+#ifdef USE_PROVIDER_COMBOBOX
+       modest_provider_combo_box_refresh (MODEST_PROVIDER_COMBO_BOX (widget));
+#else
+       modest_provider_picker_refresh (MODEST_PROVIDER_PICKER (widget));
+#endif
+}
+
 gchar *
 modest_provider_selector_get_active_provider_id (GtkWidget *widget)
 {
@@ -824,21 +848,21 @@ modest_is_text_view (GtkWidget *widget)
 
 GtkWidget *
 modest_toolkit_factory_create_selector (ModestToolkitFactory *self,
-                                       ModestPairList *pairs, GEqualFunc id_equal_func)
+                                       ModestPairList *pairs, GEqualFunc id_equal_func, gboolean center)
 {
-       return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_selector (self, pairs, id_equal_func);
+  return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_selector (self, pairs, id_equal_func, center);
 }
 
 static GtkWidget *
 modest_toolkit_factory_create_selector_default (ModestToolkitFactory *self,
-                                               ModestPairList *pairs, GEqualFunc id_equal_func)
+                                               ModestPairList *pairs, GEqualFunc id_equal_func, gboolean center)
 {
 #ifdef USE_SELECTOR_COMBOBOX
        return modest_combo_box_new (pairs, id_equal_func);
 #else
        return modest_selector_picker_new (MODEST_EDITABLE_SIZE, 
                                           HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
-                                          pairs, id_equal_func);
+                                          pairs, id_equal_func, center);
 #endif
 }
 
@@ -902,3 +926,46 @@ modest_selector_get_value_max_chars (GtkWidget *self)
        return modest_selector_picker_get_value_max_chars (MODEST_SELECTOR_PICKER (self));
 #endif
 }
+
+GtkWidget *
+modest_toolkit_factory_create_details_dialog_with_header (ModestToolkitFactory *self,
+                                                         GtkWindow *parent,
+                                                         TnyHeader *header,
+                                                         gboolean get_size)
+{
+       return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_details_dialog_with_header (self, parent, header, get_size);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_details_dialog_with_header_default (ModestToolkitFactory *self,
+                                                                 GtkWindow *parent,
+                                                                 TnyHeader *header, 
+                                                                 gboolean get_size)
+{
+#ifndef USE_GTK_DETAILS_DIALOG
+       return modest_hildon2_details_dialog_new_with_header (parent, header, get_size);
+#else
+       return modest_gtk_details_dialog_new_with_header (parent, header, get_size);
+#endif
+}
+
+GtkWidget *
+modest_toolkit_factory_create_details_dialog_with_folder (ModestToolkitFactory *self,
+                                                         GtkWindow *parent,
+                                                         TnyFolder *folder)
+{
+       return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_details_dialog_with_folder (self, parent, folder);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_details_dialog_with_folder_default (ModestToolkitFactory *self,
+                                                                 GtkWindow *parent,
+                                                                 TnyFolder *folder)
+{
+#ifndef USE_GTK_DETAILS_DIALOG
+       return modest_hildon2_details_dialog_new_with_folder (parent, folder);
+#else
+       return modest_gtk_details_dialog_new_with_folder (parent, folder);
+#endif
+}
+