1 /* Copyright (c) 2009, Igalia
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * * Neither the name of the Nokia Corporation nor the names of its
14 * contributors may be used to endorse or promote products derived from
15 * this software without specific prior written permission.
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
18 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
21 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 #include <glib/gi18n.h>
31 #ifdef MODEST_TOOLKIT_HILDON2
32 #include <hildon/hildon.h>
33 #include <hildon/hildon-file-chooser-dialog.h>
34 #include <modest-number-editor.h>
35 #include <modest-ui-constants.h>
37 #include "modest-toolkit-factory.h"
39 #ifndef MODEST_TOOLKIT_HILDON2
40 #define USE_SCROLLED_WINDOW
41 #define USE_GTK_FIND_TOOLBAR
42 #define USE_GTK_CHECK_BUTTON
43 #define USE_GTK_CHECK_MENU
45 #define USE_GTK_FILE_CHOOSER
46 #define USE_COUNTRY_COMBOBOX
47 #define USE_SERVERSECURITY_COMBOBOX
48 #define USE_SECUREAUTH_COMBOBOX
49 #define USE_GTK_SECURITY_OPTIONS_VIEW
50 #define USE_GTK_TEXT_VIEW
51 #define USE_SELECTOR_COMBOBOX
54 #ifdef USE_SCROLLED_WINDOW
55 #include <modest-scrolled-window-scrollable.h>
57 #include <modest-hildon-pannable-area-scrollable.h>
60 #ifdef USE_GTK_TOOLBAR
61 #include <modest-find-toolbar.h>
63 #include <modest-hildon-find-toolbar.h>
66 #ifdef USE_COUNTRY_COMBOBOX
67 #include <modest-country-combo-box.h>
69 #include <modest-country-picker.h>
72 #ifdef USE_PROVIDER_COMBOBOX
73 #include <modest-provider-combo-box.h>
75 #include <modest-provider-picker.h>
78 #ifdef USE_SERVERTYPE_COMBOBOX
79 #include <modest-servertype-combo-box.h>
81 #include <modest-servertype-picker.h>
84 #ifdef USE_SERVERSECURITY_COMBOBOX
85 #include <modest-serversecurity-combo-box.h>
87 #include <modest-serversecurity-picker.h>
90 #ifdef USE_SECUREAUTH_COMBOBOX
91 #include <modest-secureauth-combo-box.h>
93 #include <modest-secureauth-picker.h>
96 #ifdef USE_GTK_SECURITY_OPTIONS_VIEW
97 #include <modest-gtk-security-options-view.h>
99 #include <modest-maemo-security-options-view.h>
102 #ifdef USE_SELECTOR_COMBOBOX
103 #include <modest-combo-box.h>
105 #include <modest-selector-picker.h>
108 static void modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass);
109 static void modest_toolkit_factory_init (ModestToolkitFactory *self);
111 /* GObject interface */
112 static GtkWidget * modest_toolkit_factory_create_scrollable_default (ModestToolkitFactory *self);
113 static GtkWidget * modest_toolkit_factory_create_check_button_default (ModestToolkitFactory *self,
115 static GtkWidget * modest_toolkit_factory_create_check_menu_default (ModestToolkitFactory *self,
117 static GtkWidget * modest_toolkit_factory_create_isearch_toolbar_default (ModestToolkitFactory *self,
119 static GtkWidget * modest_toolkit_factory_create_entry_default (ModestToolkitFactory *self);
120 static GtkWidget * modest_toolkit_factory_create_number_entry_default (ModestToolkitFactory *self,
123 static GtkWidget * modest_toolkit_factory_create_file_chooser_dialog_default (ModestToolkitFactory *self,
126 GtkFileChooserAction action);
127 static GtkWidget * modest_toolkit_factory_create_country_selector_default (ModestToolkitFactory *self);
128 static GtkWidget * modest_toolkit_factory_create_provider_selector_default (ModestToolkitFactory *self);
129 static GtkWidget * modest_toolkit_factory_create_servertype_selector_default (ModestToolkitFactory *self,
130 gboolean filter_providers);
131 static GtkWidget * modest_toolkit_factory_create_serversecurity_selector_default (ModestToolkitFactory *self);
132 static GtkWidget * modest_toolkit_factory_create_secureauth_selector_default (ModestToolkitFactory *self);
133 static GtkWidget * modest_toolkit_factory_create_security_options_view_default (ModestToolkitFactory *self,
134 ModestSecurityOptionsType type,
136 GtkSizeGroup *title_size_group,
137 GtkSizeGroup *value_size_group);
138 static GtkWidget * modest_toolkit_factory_create_text_view_default (ModestToolkitFactory *self);
139 static GtkWidget * modest_toolkit_factory_create_selector_default (ModestToolkitFactory *self,
140 ModestPairList *pairs, GEqualFunc id_equal_func);
143 static GObjectClass *parent_class = NULL;
145 G_DEFINE_TYPE (ModestToolkitFactory,
146 modest_toolkit_factory,
149 ModestToolkitFactory *
150 modest_toolkit_factory_get_instance (void)
152 GObject* self = g_object_new (MODEST_TYPE_TOOLKIT_FACTORY, NULL);
154 return (ModestToolkitFactory *) self;
158 modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass)
160 parent_class = g_type_class_peek_parent (klass);
162 klass->create_scrollable = modest_toolkit_factory_create_scrollable_default;
163 klass->create_check_button = modest_toolkit_factory_create_check_button_default;
164 klass->create_check_menu = modest_toolkit_factory_create_check_menu_default;
165 klass->create_isearch_toolbar = modest_toolkit_factory_create_isearch_toolbar_default;
166 klass->create_entry = modest_toolkit_factory_create_entry_default;
167 klass->create_number_entry = modest_toolkit_factory_create_number_entry_default;
168 klass->create_file_chooser_dialog = modest_toolkit_factory_create_file_chooser_dialog_default;
169 klass->create_country_selector = modest_toolkit_factory_create_country_selector_default;
170 klass->create_provider_selector = modest_toolkit_factory_create_provider_selector_default;
171 klass->create_servertype_selector = modest_toolkit_factory_create_servertype_selector_default;
172 klass->create_serversecurity_selector = modest_toolkit_factory_create_serversecurity_selector_default;
173 klass->create_secureauth_selector = modest_toolkit_factory_create_secureauth_selector_default;
174 klass->create_security_options_view = modest_toolkit_factory_create_security_options_view_default;
175 klass->create_text_view = modest_toolkit_factory_create_text_view_default;
176 klass->create_selector = modest_toolkit_factory_create_selector_default;
180 modest_toolkit_factory_init (ModestToolkitFactory *self)
185 modest_toolkit_factory_create_scrollable (ModestToolkitFactory *self)
187 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_scrollable (self);
191 modest_toolkit_factory_create_scrollable_default (ModestToolkitFactory *self)
193 #ifdef USE_SCROLLED_WINDOW
194 return modest_scrolled_window_scrollable_new ();
196 return modest_hildon_pannable_area_scrollable_new ();
201 modest_toolkit_factory_create_check_button (ModestToolkitFactory *self, const gchar *label)
203 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_check_button (self, label);
207 modest_toolkit_factory_create_check_button_default (ModestToolkitFactory *self, const gchar *label)
210 #ifdef USE_GTK_CHECK_BUTTON
211 result = gtk_check_button_new_with_label (label);
213 result = hildon_check_button_new (HILDON_SIZE_FINGER_HEIGHT);
214 gtk_button_set_label (GTK_BUTTON (result), label);
215 gtk_button_set_alignment (GTK_BUTTON (result), 0.0, 0.5);
221 modest_toolkit_factory_create_check_menu (ModestToolkitFactory *self, const gchar *label)
223 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_check_menu (self, label);
227 modest_toolkit_factory_create_check_menu_default (ModestToolkitFactory *self, const gchar *label)
230 #ifdef USE_GTK_CHECK_MENU
231 result = gtk_check_menu_item_new_with_label (label);
233 result = hildon_check_button_new (0);
234 gtk_button_set_label (GTK_BUTTON (result), label);
235 gtk_button_set_alignment (GTK_BUTTON (result), 0.5, 0.5);
241 modest_togglable_get_active (GtkWidget *widget)
243 if (GTK_IS_CHECK_MENU_ITEM (widget)) {
244 return gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
245 } else if (GTK_IS_TOGGLE_BUTTON (widget)) {
246 return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
247 #ifdef MODEST_TOOLKIT_HILDON2
248 } else if (HILDON_IS_CHECK_BUTTON (widget)) {
249 return hildon_check_button_get_active (HILDON_CHECK_BUTTON (widget));
252 g_return_val_if_reached (FALSE);
257 modest_togglable_set_active (GtkWidget *widget, gboolean active)
259 if (GTK_IS_CHECK_MENU_ITEM (widget)) {
260 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), active);
261 } else if (GTK_IS_TOGGLE_BUTTON (widget)) {
262 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), active);
263 #ifdef MODEST_TOOLKIT_HILDON2
264 } else if (HILDON_IS_CHECK_BUTTON (widget)) {
265 hildon_check_button_set_active (HILDON_CHECK_BUTTON (widget), active);
271 modest_is_togglable (GtkWidget *widget)
273 return GTK_IS_CHECK_MENU_ITEM (widget)
274 || GTK_IS_TOGGLE_BUTTON (widget)
275 #ifdef MODEST_TOOLKIT_HILDON2
276 || HILDON_IS_CHECK_BUTTON (widget)
282 modest_toolkit_factory_create_isearch_toolbar (ModestToolkitFactory *self, const gchar *label)
284 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_isearch_toolbar (self, label);
288 modest_toolkit_factory_create_isearch_toolbar_default (ModestToolkitFactory *self, const gchar *label)
291 #ifdef USE_GTK_FIND_TOOLBAR
292 result = modest_find_toolbar_new (label);
294 result = modest_hildon_find_toolbar_new (label);
300 modest_toolkit_factory_create_entry (ModestToolkitFactory *self)
302 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_entry (self);
306 modest_toolkit_factory_create_entry_default (ModestToolkitFactory *self)
309 return gtk_entry_new ();
311 return hildon_entry_new (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH);
316 modest_entry_set_text (GtkWidget *widget, const gchar *text)
319 gtk_entry_set_text (GTK_ENTRY (widget), text);
321 hildon_entry_set_text (HILDON_ENTRY (widget), text);
326 modest_entry_get_text (GtkWidget *widget)
329 return gtk_entry_get_text (GTK_ENTRY (widget));
331 return hildon_entry_get_text (HILDON_ENTRY (widget));
336 modest_entry_set_hint (GtkWidget *widget, const gchar *hint)
339 gtk_widget_set_tooltip_text (widget, hint);
341 hildon_entry_set_placeholder (HILDON_ENTRY (widget), hint);
346 modest_is_entry (GtkWidget *widget)
349 return GTK_IS_ENTRY (widget);
351 return HILDON_IS_ENTRY (widget);
356 modest_toolkit_factory_create_number_entry (ModestToolkitFactory *self, gint min, gint max)
358 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_number_entry (self, min, max);
362 modest_toolkit_factory_create_number_entry_default (ModestToolkitFactory *self, gint min, gint max)
365 #ifdef USE_GTK_SPIN_BUTTON
366 result = gtk_spin_button_new_with_range (min, max, 1.0);
367 gtk_spin_button_set_digits (GTK_SPIN_BUTTON (result), 0);
369 result = modest_number_editor_new (min, max);
375 modest_number_entry_set_value (GtkWidget *widget, gint value)
377 #ifdef USE_GTK_SPIN_BUTTON
378 gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value);
380 modest_number_editor_set_value (MODEST_NUMBER_EDITOR (widget), value);
385 modest_number_entry_get_value (GtkWidget *widget)
387 #ifdef USE_GTK_SPIN_BUTTON
388 return gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget));
390 return modest_number_editor_get_value (MODEST_NUMBER_EDITOR (widget));
395 modest_number_entry_is_valid (GtkWidget *widget)
397 #ifdef USE_GTK_SPIN_BUTTON
400 return modest_number_editor_is_valid (MODEST_NUMBER_EDITOR (widget));
405 modest_is_number_entry (GtkWidget *widget)
407 #ifdef USE_GTK_SPIN_BUTTON
408 return GTK_IS_SPIN_BUTTON (widget);
410 return MODEST_IS_NUMBER_EDITOR (widget);
415 modest_toolkit_factory_create_file_chooser_dialog (ModestToolkitFactory *self,
418 GtkFileChooserAction action)
420 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_file_chooser_dialog (self, title, parent, action);
424 modest_toolkit_factory_create_file_chooser_dialog_default (ModestToolkitFactory *self,
427 GtkFileChooserAction action)
430 #ifdef USE_GTK_FILE_CHOOSER
431 result = gtk_file_chooser_dialog_new (title, parent, action,
432 (action == GTK_FILE_CHOOSER_ACTION_OPEN) ? GTK_STOCK_OPEN : GTK_STOCK_SAVE,
434 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
437 result = hildon_file_chooser_dialog_new (parent, action);
438 gtk_window_set_title ((GtkWindow *) result, title);
444 modest_toolkit_factory_create_country_selector (ModestToolkitFactory *self)
446 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_country_selector (self);
450 modest_toolkit_factory_create_country_selector_default (ModestToolkitFactory *self)
453 #ifdef USE_COUNTRY_COMBOBOX
454 result = modest_country_combo_box_new ();
456 result = GTK_WIDGET (modest_country_picker_new (MODEST_EDITABLE_SIZE,
457 HILDON_BUTTON_ARRANGEMENT_HORIZONTAL));
463 modest_country_selector_get_active_country_mcc (GtkWidget *widget)
465 #ifdef USE_COUNTRY_COMBOBOX
466 return modest_country_combo_box_get_active_country_mcc (MODEST_COUNTRY_COMBO_BOX (widget));
468 return modest_country_picker_get_active_country_mcc (MODEST_COUNTRY_PICKER (widget));
473 modest_country_selector_load_data (GtkWidget *widget)
475 #ifdef USE_COUNTRY_COMBOBOX
476 modest_country_combo_box_load_data (MODEST_COUNTRY_COMBO_BOX (widget));
478 modest_country_picker_load_data (MODEST_COUNTRY_PICKER (widget));
483 modest_country_selector_set_active_country_locale (GtkWidget *widget)
485 #ifdef USE_COUNTRY_COMBOBOX
486 return modest_country_combo_box_set_active_country_locale (MODEST_COUNTRY_COMBO_BOX (widget));
488 return modest_country_picker_set_active_country_locale (MODEST_COUNTRY_PICKER (widget));
493 modest_toolkit_factory_create_provider_selector (ModestToolkitFactory *self)
495 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_provider_selector (self);
499 modest_toolkit_factory_create_provider_selector_default (ModestToolkitFactory *self)
502 #ifdef USE_PROVIDER_COMBOBOX
503 result = GTK_WIDGET (modest_provider_combo_box_new ());
505 result = GTK_WIDGET (modest_provider_picker_new (MODEST_EDITABLE_SIZE,
506 HILDON_BUTTON_ARRANGEMENT_HORIZONTAL));
512 modest_provider_selector_fill (GtkWidget *widget,
513 ModestPresets *presets,
516 #ifdef USE_PROVIDER_COMBOBOX
517 modest_provider_combo_box_fill (MODEST_PROVIDER_COMBO_BOX (widget),
521 modest_provider_picker_fill (MODEST_PROVIDER_PICKER (widget),
528 modest_provider_selector_get_active_provider_id (GtkWidget *widget)
530 #ifdef USE_PROVIDER_COMBOBOX
531 return modest_provider_combo_box_get_active_provider_id (MODEST_PROVIDER_COMBO_BOX (widget));
533 return modest_provider_picker_get_active_provider_id (MODEST_PROVIDER_PICKER (widget));
538 modest_provider_selector_get_active_provider_label (GtkWidget *widget)
540 #ifdef USE_PROVIDER_COMBOBOX
542 return modest_provider_combo_box_get_active_provider_label (MODEST_PROVIDER_COMBO_BOX (widget));
546 selector = GTK_WIDGET (hildon_picker_button_get_selector (HILDON_PICKER_BUTTON (widget)));
547 return g_strdup (hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (selector)));
551 ModestProviderSelectorIdType
552 modest_provider_selector_get_active_id_type (GtkWidget *widget)
554 ModestProviderSelectorIdType result;
555 #ifdef USE_PROVIDER_COMBOBOX
556 ModestProviderComboBoxIdType id_type;
558 id_type = modest_provider_combo_box_get_active_id_type (MODEST_PROVIDER_COMBO_BOX (widget));
560 case MODEST_PROVIDER_COMBO_BOX_ID_PROVIDER:
561 result = MODEST_PROVIDER_SELECTOR_ID_PROVIDER;
563 case MODEST_PROVIDER_COMBO_BOX_ID_OTHER:
564 result = MODEST_PROVIDER_SELECTOR_ID_OTHER;
566 case MODEST_PROVIDER_COMBO_BOX_ID_PLUGIN_PROTOCOL:
567 result = MODEST_PROVIDER_SELECTOR_ID_PLUGIN_PROTOCOL;
570 result = MODEST_PROVIDER_SELECTOR_ID_OTHER;
574 ModestProviderPickerIdType id_type;
576 id_type = modest_provider_picker_get_active_id_type (MODEST_PROVIDER_PICKER (widget));
578 case MODEST_PROVIDER_PICKER_ID_PROVIDER:
579 result = MODEST_PROVIDER_SELECTOR_ID_PROVIDER;
581 case MODEST_PROVIDER_PICKER_ID_OTHER:
582 result = MODEST_PROVIDER_SELECTOR_ID_OTHER;
584 case MODEST_PROVIDER_PICKER_ID_PLUGIN_PROTOCOL:
585 result = MODEST_PROVIDER_SELECTOR_ID_PLUGIN_PROTOCOL;
588 result = MODEST_PROVIDER_SELECTOR_ID_OTHER;
595 modest_provider_selector_set_others_provider (GtkWidget *self)
597 #ifdef USE_PROVIDER_COMBOBOX
598 modest_provider_combo_box_set_others_provider (MODEST_PROVIDER_COMBO_BOX (self));
600 modest_provider_picker_set_others_provider (MODEST_PROVIDER_PICKER (self));
605 modest_toolkit_factory_create_servertype_selector (ModestToolkitFactory *self, gboolean filter_providers)
607 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_servertype_selector (self, filter_providers);
611 modest_toolkit_factory_create_servertype_selector_default (ModestToolkitFactory *self, gboolean filter_providers)
614 #ifdef USE_PROVIDER_COMBOBOX
615 result = GTK_WIDGET (modest_servertype_combo_box_new (filter_providers));
617 result = GTK_WIDGET (modest_servertype_picker_new (MODEST_EDITABLE_SIZE,
618 HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
625 modest_servertype_selector_get_active_servertype (GtkWidget *self)
627 #ifdef USE_SERVERTYPE_COMBOBOX
628 return modest_servertype_combo_box_get_active_servertype (MODEST_SERVERTYPE_COMBO_BOX (self));
630 return modest_servertype_picker_get_active_servertype (MODEST_SERVERTYPE_PICKER (self));
635 modest_servertype_selector_set_active_servertype (GtkWidget *self,
636 ModestProtocolType protocol_type_id)
638 #ifdef USE_SERVERTYPE_COMBOBOX
639 modest_servertype_combo_box_set_active_servertype (MODEST_SERVERTYPE_COMBO_BOX (self), protocol_type_id);
641 modest_servertype_picker_set_active_servertype (MODEST_SERVERTYPE_PICKER (self), protocol_type_id);
646 modest_toolkit_factory_create_serversecurity_selector (ModestToolkitFactory *self)
648 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_serversecurity_selector (self);
652 modest_toolkit_factory_create_serversecurity_selector_default (ModestToolkitFactory *self)
655 #ifdef USE_SERVERSECURITY_COMBOBOX
656 result = GTK_WIDGET (modest_serversecurity_combo_box_new ());
658 result = GTK_WIDGET (modest_serversecurity_picker_new (MODEST_EDITABLE_SIZE,
659 HILDON_BUTTON_ARRANGEMENT_HORIZONTAL));
665 modest_serversecurity_selector_fill (GtkWidget *combobox,
666 ModestProtocolType protocol)
668 #ifdef USE_SERVERSECURITY_COMBOBOX
669 modest_serversecurity_combo_box_fill (MODEST_SERVERSECURITY_COMBO_BOX (combobox),
672 modest_serversecurity_picker_fill (MODEST_SERVERSECURITY_PICKER (combobox),
678 modest_serversecurity_selector_get_active_serversecurity (GtkWidget *combobox)
680 #ifdef USE_SERVERSECURITY_COMBOBOX
681 return modest_serversecurity_combo_box_get_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (combobox));
683 return modest_serversecurity_picker_get_active_serversecurity (MODEST_SERVERSECURITY_PICKER (combobox));
688 modest_serversecurity_selector_set_active_serversecurity (GtkWidget *combobox,
689 ModestProtocolType serversecurity)
691 #ifdef USE_SERVERSECURITY_COMBOBOX
692 return modest_serversecurity_combo_box_set_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (combobox),
695 return modest_serversecurity_picker_set_active_serversecurity (MODEST_SERVERSECURITY_PICKER (combobox),
701 modest_serversecurity_selector_get_active_serversecurity_port (GtkWidget *combobox)
703 #ifdef USE_SERVERSECURITY_COMBOBOX
704 return modest_serversecurity_combo_box_get_active_serversecurity_port (MODEST_SERVERSECURITY_COMBO_BOX (combobox));
706 return modest_serversecurity_picker_get_active_serversecurity_port (MODEST_SERVERSECURITY_PICKER (combobox));
711 modest_toolkit_factory_create_secureauth_selector (ModestToolkitFactory *self)
713 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_secureauth_selector (self);
717 modest_toolkit_factory_create_secureauth_selector_default (ModestToolkitFactory *self)
720 #ifdef USE_SECUREAUTH_COMBOBOX
721 result = GTK_WIDGET (modest_secureauth_combo_box_new ());
723 result = GTK_WIDGET (modest_secureauth_picker_new (MODEST_EDITABLE_SIZE,
724 HILDON_BUTTON_ARRANGEMENT_HORIZONTAL));
730 modest_secureauth_selector_get_active_secureauth (GtkWidget *widget)
732 #ifdef USE_SECUREAUTH_COMBOBOX
733 return modest_secureauth_combo_box_get_active_secureauth (MODEST_SECUREAUTH_COMBO_BOX (widget));
735 return modest_secureauth_picker_get_active_secureauth (MODEST_SECUREAUTH_PICKER (widget));
740 modest_secureauth_selector_set_active_secureauth (GtkWidget *widget,
741 ModestProtocolType secureauth)
743 #ifdef USE_SECUREAUTH_COMBOBOX
744 return modest_secureauth_combo_box_set_active_secureauth (MODEST_SECUREAUTH_COMBO_BOX (widget),
747 return modest_secureauth_picker_set_active_secureauth (MODEST_SECUREAUTH_PICKER (widget),
753 modest_is_secureauth_selector (GtkWidget *widget)
755 #ifdef USE_SECUREAUTH_COMBOBOX
756 return MODEST_IS_SECUREAUTH_COMBO_BOX (widget);
758 return MODEST_IS_SECUREAUTH_PICKER (widget);
763 modest_toolkit_factory_create_security_options_view (ModestToolkitFactory *self,
764 ModestSecurityOptionsType type,
766 GtkSizeGroup *title_size_group,
767 GtkSizeGroup *value_size_group)
769 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_security_options_view (self, type, full,
770 title_size_group, value_size_group);
774 modest_toolkit_factory_create_security_options_view_default (ModestToolkitFactory *self,
775 ModestSecurityOptionsType type,
777 GtkSizeGroup *title_size_group,
778 GtkSizeGroup *value_size_group)
781 #ifdef USE_GTK_SECURITY_OPTIONS_VIEW
782 result = GTK_WIDGET (modest_gtk_security_options_view_new (type, full, title_size_group, value_size_group));
784 result = GTK_WIDGET (modest_maemo_security_options_view_new (type, full, title_size_group, value_size_group));
790 modest_toolkit_factory_create_text_view (ModestToolkitFactory *self)
792 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_text_view (self);
796 modest_toolkit_factory_create_text_view_default (ModestToolkitFactory *self)
798 #ifdef USE_GTK_TEXT_VIEW
799 return gtk_text_view_new ();
801 return hildon_text_view_new ();
806 modest_text_view_get_buffer (GtkWidget *widget)
808 #ifdef USE_GTK_TEXT_VIEW
809 return gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
811 return hildon_text_view_get_buffer (HILDON_TEXT_VIEW (widget));
816 modest_is_text_view (GtkWidget *widget)
818 #ifdef USE_GTK_TEXT_VIEW
819 return GTK_IS_TEXT_VIEW (widget);
821 return HILDON_IS_TEXT_VIEW (widget);
826 modest_toolkit_factory_create_selector (ModestToolkitFactory *self,
827 ModestPairList *pairs, GEqualFunc id_equal_func)
829 return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_selector (self, pairs, id_equal_func);
833 modest_toolkit_factory_create_selector_default (ModestToolkitFactory *self,
834 ModestPairList *pairs, GEqualFunc id_equal_func)
836 #ifdef USE_SELECTOR_COMBOBOX
837 return modest_combo_box_new (pairs, id_equal_func);
839 return modest_selector_picker_new (MODEST_EDITABLE_SIZE,
840 HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
841 pairs, id_equal_func);
846 modest_selector_set_pair_list (GtkWidget *widget,
847 ModestPairList *pairs)
849 #ifdef USE_SELECTOR_COMBOBOX
850 modest_combo_box_set_pair_list (MODEST_COMBO_BOX (widget),
853 modest_selector_picker_set_pair_list (MODEST_SELECTOR_PICKER (widget),
859 modest_selector_get_active_id (GtkWidget *self)
861 #ifdef USE_SELECTOR_COMBOBOX
862 return modest_combo_box_get_active_id (MODEST_COMBO_BOX (self));
864 return modest_selector_picker_get_active_id (MODEST_SELECTOR_PICKER (self));
869 modest_selector_set_active_id (GtkWidget *self, gpointer id)
871 #ifdef USE_SELECTOR_COMBOBOX
872 modest_combo_box_set_active_id (MODEST_COMBO_BOX (self), id);
874 modest_selector_picker_set_active_id (MODEST_SELECTOR_PICKER (self), id);
879 modest_selector_get_active_display_name (GtkWidget *self)
881 #ifdef USE_SELECTOR_COMBOBOX
882 return modest_combo_box_get_active_display_name (MODEST_COMBO_BOX (self));
884 return modest_selector_picker_get_active_display_name (MODEST_SELECTOR_PICKER (self));
889 modest_selector_set_value_max_chars (GtkWidget *self, gint value_max_width_chars)
891 #ifndef USE_SELECTOR_COMBOBOX
892 modest_selector_picker_set_value_max_chars (MODEST_SELECTOR_PICKER (self), value_max_width_chars);
897 modest_selector_get_value_max_chars (GtkWidget *self)
899 #ifdef USE_SELECTOR_COMBOBOX
902 return modest_selector_picker_get_value_max_chars (MODEST_SELECTOR_PICKER (self));