X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-toolkit-factory.c;h=42de49b9bf2405f3a6ecde975fda0d277c58d40b;hb=85ce6e0c41057151074f5bc86cda5d07a60c49d2;hp=a9dd28ad511256c80bce974eb9412d09daea3572;hpb=90935ec876afaaaca360178e960f5aaadaaaa19b;p=modest diff --git a/src/widgets/modest-toolkit-factory.c b/src/widgets/modest-toolkit-factory.c index a9dd28a..42de49b 100644 --- a/src/widgets/modest-toolkit-factory.c +++ b/src/widgets/modest-toolkit-factory.c @@ -30,7 +30,9 @@ #include #ifdef MODEST_TOOLKIT_HILDON2 #include +#include #include +#include #endif #include "modest-toolkit-factory.h" @@ -40,7 +42,14 @@ #define USE_GTK_CHECK_BUTTON #define USE_GTK_CHECK_MENU #define USE_GTK_ENTRY -#define USE_GTK_SPIN_BUTTON +#define USE_GTK_FILE_CHOOSER +#define USE_COUNTRY_COMBOBOX +#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 @@ -49,22 +58,98 @@ #include #endif -#ifdef USE_GTK_TOOLBAR +#ifdef USE_GTK_FIND_TOOLBAR #include #else #include #endif +#ifdef USE_COUNTRY_COMBOBOX +#include +#else +#include +#endif + +#ifdef USE_PROVIDER_COMBOBOX +#include +#else +#include +#endif + +#ifdef USE_SERVERTYPE_COMBOBOX +#include +#else +#include +#endif + +#ifdef USE_SERVERSECURITY_COMBOBOX +#include +#else +#include +#endif + +#ifdef USE_SECUREAUTH_COMBOBOX +#include +#else +#include +#endif + +#ifdef USE_GTK_SECURITY_OPTIONS_VIEW +#include +#else +#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); /* GObject interface */ -static GtkWidget * modest_toolkit_factory_create_scrollable_default (ModestToolkitFactory *self); -static GtkWidget * modest_toolkit_factory_create_check_button_default (ModestToolkitFactory *self, const gchar *label); -static GtkWidget * modest_toolkit_factory_create_check_menu_default (ModestToolkitFactory *self, const gchar *label); -static GtkWidget * modest_toolkit_factory_create_isearch_toolbar_default (ModestToolkitFactory *self, const gchar *label); -static GtkWidget * modest_toolkit_factory_create_entry_default (ModestToolkitFactory *self); -static GtkWidget * modest_toolkit_factory_create_number_entry_default (ModestToolkitFactory *self, gint min, gint max); +static GtkWidget * modest_toolkit_factory_create_scrollable_default (ModestToolkitFactory *self); +static GtkWidget * modest_toolkit_factory_create_check_button_default (ModestToolkitFactory *self, + const gchar *label); +static GtkWidget * modest_toolkit_factory_create_check_menu_default (ModestToolkitFactory *self, + const gchar *label); +static GtkWidget * modest_toolkit_factory_create_isearch_toolbar_default (ModestToolkitFactory *self, + const gchar *label); +static GtkWidget * modest_toolkit_factory_create_entry_default (ModestToolkitFactory *self); +static GtkWidget * modest_toolkit_factory_create_number_entry_default (ModestToolkitFactory *self, + gint min, + gint max); +static GtkWidget * modest_toolkit_factory_create_file_chooser_dialog_default (ModestToolkitFactory *self, + const gchar *title, + GtkWindow *parent, + GtkFileChooserAction action); +static GtkWidget * modest_toolkit_factory_create_country_selector_default (ModestToolkitFactory *self); +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_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); +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; @@ -91,6 +176,17 @@ modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass) klass->create_isearch_toolbar = modest_toolkit_factory_create_isearch_toolbar_default; klass->create_entry = modest_toolkit_factory_create_entry_default; klass->create_number_entry = modest_toolkit_factory_create_number_entry_default; + klass->create_file_chooser_dialog = modest_toolkit_factory_create_file_chooser_dialog_default; + 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; + 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 @@ -232,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 } @@ -328,3 +424,547 @@ modest_is_number_entry (GtkWidget *widget) #endif } +GtkWidget * +modest_toolkit_factory_create_file_chooser_dialog (ModestToolkitFactory *self, + const gchar *title, + GtkWindow *parent, + GtkFileChooserAction action) +{ + return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_file_chooser_dialog (self, title, parent, action); +} + +static GtkWidget * +modest_toolkit_factory_create_file_chooser_dialog_default (ModestToolkitFactory *self, + const gchar *title, + GtkWindow *parent, + GtkFileChooserAction action) +{ + GtkWidget *result; +#ifdef USE_GTK_FILE_CHOOSER + result = gtk_file_chooser_dialog_new (title, parent, action, + (action == GTK_FILE_CHOOSER_ACTION_OPEN) ? GTK_STOCK_OPEN : GTK_STOCK_SAVE, + GTK_RESPONSE_OK, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + NULL); +#else + result = hildon_file_chooser_dialog_new (parent, action); + gtk_window_set_title ((GtkWindow *) result, title); +#endif + return result; +} + +GtkWidget * +modest_toolkit_factory_create_country_selector (ModestToolkitFactory *self) +{ + return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_country_selector (self); +} + +static GtkWidget * +modest_toolkit_factory_create_country_selector_default (ModestToolkitFactory *self) +{ + GtkWidget *result; +#ifdef USE_COUNTRY_COMBOBOX + result = modest_country_combo_box_new (); +#else + result = GTK_WIDGET (modest_country_picker_new (MODEST_EDITABLE_SIZE, + HILDON_BUTTON_ARRANGEMENT_HORIZONTAL)); +#endif + return result; +} + +gint +modest_country_selector_get_active_country_mcc (GtkWidget *widget) +{ +#ifdef USE_COUNTRY_COMBOBOX + return modest_country_combo_box_get_active_country_mcc (MODEST_COUNTRY_COMBO_BOX (widget)); +#else + return modest_country_picker_get_active_country_mcc (MODEST_COUNTRY_PICKER (widget)); +#endif +} + +void +modest_country_selector_load_data (GtkWidget *widget) +{ +#ifdef USE_COUNTRY_COMBOBOX + modest_country_combo_box_load_data (MODEST_COUNTRY_COMBO_BOX (widget)); +#else + modest_country_picker_load_data (MODEST_COUNTRY_PICKER (widget)); +#endif +} + +gboolean +modest_country_selector_set_active_country_locale (GtkWidget *widget) +{ +#ifdef USE_COUNTRY_COMBOBOX + return modest_country_combo_box_set_active_country_locale (MODEST_COUNTRY_COMBO_BOX (widget)); +#else + return modest_country_picker_set_active_country_locale (MODEST_COUNTRY_PICKER (widget)); +#endif +} + +GtkWidget * +modest_toolkit_factory_create_provider_selector (ModestToolkitFactory *self) +{ + return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_provider_selector (self); +} + +static GtkWidget * +modest_toolkit_factory_create_provider_selector_default (ModestToolkitFactory *self) +{ + GtkWidget *result; +#ifdef USE_PROVIDER_COMBOBOX + result = GTK_WIDGET (modest_provider_combo_box_new ()); +#else + result = GTK_WIDGET (modest_provider_picker_new (MODEST_EDITABLE_SIZE, + HILDON_BUTTON_ARRANGEMENT_HORIZONTAL)); +#endif + return result; +} + +void +modest_provider_selector_fill (GtkWidget *widget, + ModestPresets *presets, + gint mcc) +{ +#ifdef USE_PROVIDER_COMBOBOX + modest_provider_combo_box_fill (MODEST_PROVIDER_COMBO_BOX (widget), + presets, + mcc); +#else + modest_provider_picker_fill (MODEST_PROVIDER_PICKER (widget), + presets, + mcc); +#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) +{ +#ifdef USE_PROVIDER_COMBOBOX + return modest_provider_combo_box_get_active_provider_id (MODEST_PROVIDER_COMBO_BOX (widget)); +#else + 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)); +#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) +{ + 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 +} +