X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-toolkit-factory.c;h=42de49b9bf2405f3a6ecde975fda0d277c58d40b;hb=85ce6e0c41057151074f5bc86cda5d07a60c49d2;hp=c1af2dfd19ebb2da5ae79b9d949d7aecd82ebf34;hpb=5daad559fb72afbe50300a9941c71bcba5ad92df;p=modest diff --git a/src/widgets/modest-toolkit-factory.c b/src/widgets/modest-toolkit-factory.c index c1af2df..42de49b 100644 --- a/src/widgets/modest-toolkit-factory.c +++ b/src/widgets/modest-toolkit-factory.c @@ -48,6 +48,8 @@ #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 @@ -56,7 +58,7 @@ #include #endif -#ifdef USE_GTK_TOOLBAR +#ifdef USE_GTK_FIND_TOOLBAR #include #else #include @@ -98,6 +100,18 @@ #include #endif +#ifdef USE_SELECTOR_COMBOBOX +#include +#else +#include +#endif + +#ifdef USE_GTK_DETAILS_DIALOG +#include +#else +#include +#endif + static void modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass); static void modest_toolkit_factory_init (ModestToolkitFactory *self); @@ -129,6 +143,13 @@ static GtkWidget * modest_toolkit_factory_create_security_options_view_default ( 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); +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; @@ -163,6 +184,9 @@ modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass) 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 @@ -304,40 +328,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 } @@ -513,6 +537,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) { @@ -811,3 +845,126 @@ modest_is_text_view (GtkWidget *widget) #endif } +GtkWidget * +modest_toolkit_factory_create_selector (ModestToolkitFactory *self, + ModestPairList *pairs, GEqualFunc id_equal_func) +{ + return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_selector (self, pairs, id_equal_func); +} + +static GtkWidget * +modest_toolkit_factory_create_selector_default (ModestToolkitFactory *self, + ModestPairList *pairs, GEqualFunc id_equal_func) +{ +#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); +#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 +} +