#define USE_GTK_ENTRY
#define USE_GTK_FILE_CHOOSER
#define USE_COUNTRY_COMBOBOX
-#define USE_SERVERSECURITY_PICKER
+#define USE_SERVERSECURITY_COMBOBOX
+#define USE_SECUREAUTH_COMBOBOX
+#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
#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-serversecurity-picker.h>
#endif
+#ifdef USE_SECUREAUTH_COMBOBOX
+#include <modest-secureauth-combo-box.h>
+#else
+#include <modest-secureauth-picker.h>
+#endif
+
+#ifdef USE_GTK_SECURITY_OPTIONS_VIEW
+#include <modest-gtk-security-options-view.h>
+#else
+#include <modest-maemo-security-options-view.h>
+#endif
+
+#ifdef USE_SELECTOR_COMBOBOX
+#include <modest-combo-box.h>
+#else
+#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);
static GtkWidget * modest_toolkit_factory_create_servertype_selector_default (ModestToolkitFactory *self,
gboolean filter_providers);
static GtkWidget * modest_toolkit_factory_create_serversecurity_selector_default (ModestToolkitFactory *self);
+static GtkWidget * modest_toolkit_factory_create_secureauth_selector_default (ModestToolkitFactory *self);
+static GtkWidget * modest_toolkit_factory_create_security_options_view_default (ModestToolkitFactory *self,
+ ModestSecurityOptionsType type,
+ gboolean full,
+ GtkSizeGroup *title_size_group,
+ 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,
+ 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;
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;
+ klass->create_secureauth_selector = modest_toolkit_factory_create_secureauth_selector_default;
+ 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
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
}
{
GtkWidget *result;
#ifdef USE_PROVIDER_COMBOBOX
- result = modest_provider_combo_box_new ();
+ result = GTK_WIDGET (modest_provider_combo_box_new ());
#else
result = GTK_WIDGET (modest_provider_picker_new (MODEST_EDITABLE_SIZE,
HILDON_BUTTON_ARRANGEMENT_HORIZONTAL));
#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)
{
modest_toolkit_factory_create_serversecurity_selector_default (ModestToolkitFactory *self)
{
GtkWidget *result;
-#ifdef USE_PROVIDER_COMBOBOX
+#ifdef USE_SERVERSECURITY_COMBOBOX
result = GTK_WIDGET (modest_serversecurity_combo_box_new ());
#else
result = GTK_WIDGET (modest_serversecurity_picker_new (MODEST_EDITABLE_SIZE,
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));
+#endif
+ return result;
+}
+
+GtkWidget *
+modest_toolkit_factory_create_text_view (ModestToolkitFactory *self)
+{
+ return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_text_view (self);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_text_view_default (ModestToolkitFactory *self)
+{
+#ifdef USE_GTK_TEXT_VIEW
+ return gtk_text_view_new ();
+#else
+ return hildon_text_view_new ();
+#endif
+}
+
+GtkTextBuffer *
+modest_text_view_get_buffer (GtkWidget *widget)
+{
+#ifdef USE_GTK_TEXT_VIEW
+ return gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+#else
+ return hildon_text_view_get_buffer (HILDON_TEXT_VIEW (widget));
+#endif
+}
+
+gboolean
+modest_is_text_view (GtkWidget *widget)
+{
+#ifdef USE_GTK_TEXT_VIEW
+ return GTK_IS_TEXT_VIEW (widget);
+#else
+ return HILDON_IS_TEXT_VIEW (widget);
+#endif
+}
+
+GtkWidget *
+modest_toolkit_factory_create_selector (ModestToolkitFactory *self,
+ ModestPairList *pairs, GEqualFunc id_equal_func, gboolean center)
+{
+ 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, 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, center);
+#endif
+}
+
+void
+modest_selector_set_pair_list (GtkWidget *widget,
+ ModestPairList *pairs)
+{
+#ifdef USE_SELECTOR_COMBOBOX
+ modest_combo_box_set_pair_list (MODEST_COMBO_BOX (widget),
+ pairs);
+#else
+ modest_selector_picker_set_pair_list (MODEST_SELECTOR_PICKER (widget),
+ pairs);
+#endif
+}
+
+gpointer
+modest_selector_get_active_id (GtkWidget *self)
+{
+#ifdef USE_SELECTOR_COMBOBOX
+ return modest_combo_box_get_active_id (MODEST_COMBO_BOX (self));
+#else
+ return modest_selector_picker_get_active_id (MODEST_SELECTOR_PICKER (self));
+#endif
+}
+
+void
+modest_selector_set_active_id (GtkWidget *self, gpointer id)
+{
+#ifdef USE_SELECTOR_COMBOBOX
+ modest_combo_box_set_active_id (MODEST_COMBO_BOX (self), id);
+#else
+ modest_selector_picker_set_active_id (MODEST_SELECTOR_PICKER (self), id);
+#endif
+}
+
+const gchar*
+modest_selector_get_active_display_name (GtkWidget *self)
+{
+#ifdef USE_SELECTOR_COMBOBOX
+ return modest_combo_box_get_active_display_name (MODEST_COMBO_BOX (self));
+#else
+ return modest_selector_picker_get_active_display_name (MODEST_SELECTOR_PICKER (self));
+#endif
+}
+
+void
+modest_selector_set_value_max_chars (GtkWidget *self, gint value_max_width_chars)
+{
+#ifndef USE_SELECTOR_COMBOBOX
+ modest_selector_picker_set_value_max_chars (MODEST_SELECTOR_PICKER (self), value_max_width_chars);
+#endif
+}
+
+gint
+modest_selector_get_value_max_chars (GtkWidget *self)
+{
+#ifdef USE_SELECTOR_COMBOBOX
+ return G_MAXINT;
+#else
+ 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
+}
+