From cdbab669714f015b98fbce83b8e147df6ab27e82 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz Date: Wed, 1 Oct 2008 14:13:58 +0000 Subject: [PATCH] Changes for hildon2 port. * Fix build structure to expose the toolkit defines on building. * Replaced combo boxes with selector pickers in global settings dialog. * Now settings dialog does not have tabs. * Removed the play sound check button in global settings. * Removed cancel button in global settings. pmo-trunk-r5846 --- configure.ac | 4 +- src/Makefile.am | 1 + src/dbus_api/Makefile.am | 1 + src/gnome/Makefile.am | 1 + src/hildon2/Makefile.am | 1 + src/hildon2/modest-maemo-global-settings-dialog.c | 259 ++++----------------- src/maemo/Makefile.am | 1 + src/maemo/easysetup/Makefile.am | 1 + src/widgets/Makefile.am | 1 + src/widgets/modest-global-settings-dialog.c | 52 ++++- src/widgets/modest-global-settings-dialog.h | 12 + 11 files changed, 116 insertions(+), 218 deletions(-) diff --git a/configure.ac b/configure.ac index 8efe412..6492937 100644 --- a/configure.ac +++ b/configure.ac @@ -211,9 +211,9 @@ fi if test "$with_toolkit" = "hildon1"; then MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_HILDON1" -elif test "$with_platform" = "hildon2"; then +elif test "$with_toolkit" = "hildon2"; then MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_HILDON2" -elif test "$with_platform" = "gtk"; then +elif test "$with_toolkit" = "gtk"; then MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_GNOME" fi diff --git a/src/Makefile.am b/src/Makefile.am index 993d1ba..f3faae2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -9,6 +9,7 @@ INCLUDES=\ $(MODEST_GSTUFF_CFLAGS) \ $(MODEST_PLATFORM_CFLAGS) \ $(MODEST_TOOLKIT_CFLAGS) \ + $(MODEST_PLUGIN_DEFINES) \ $(MODEST_OGS_CFLAGS) \ $(MODEST_HILDON_HELP_CFLAGS) \ $(MODEST_LIBCONIC_CFLAGS) \ diff --git a/src/dbus_api/Makefile.am b/src/dbus_api/Makefile.am index 2b6f2d1..9740138 100644 --- a/src/dbus_api/Makefile.am +++ b/src/dbus_api/Makefile.am @@ -31,6 +31,7 @@ INCLUDES=\ $(MODEST_GSTUFF_CFLAGS) \ $(MODEST_PLATFORM_CFLAGS) \ $(MODEST_TOOLKIT_CFLAGS)\ + $(MODEST_PLUGIN_DEFINES)\ $(MODEST_OGS_CFLAGS) \ -I ${top_srcdir}/src/widgets \ -I ${top_srcdir}/src \ diff --git a/src/gnome/Makefile.am b/src/gnome/Makefile.am index e7c8c75..e773362 100644 --- a/src/gnome/Makefile.am +++ b/src/gnome/Makefile.am @@ -10,6 +10,7 @@ INCLUDES=\ $(MODEST_GSTUFF_CFLAGS) \ $(MODEST_PLATFORM_CFLAGS) \ $(MODEST_TOOLKIT_CFLAGS) \ + $(MODEST_PLUGIN_DEFINES) \ -I ${top_srcdir}/src \ -DPREFIX=\"@prefix@\" \ -DPIXMAP_PREFIX=\"${datadir}/pixmaps/modest/\" \ diff --git a/src/hildon2/Makefile.am b/src/hildon2/Makefile.am index 66a652a..ed55eb6 100644 --- a/src/hildon2/Makefile.am +++ b/src/hildon2/Makefile.am @@ -31,6 +31,7 @@ INCLUDES=\ $(MODEST_WPEDITOR_CFLAGS) \ $(MODEST_PLATFORM_CFLAGS) \ $(MODEST_TOOLKIT_CFLAGS) \ + $(MODEST_PLUGIN_DEFINES) \ $(MODEST_ABOOK_CFLAGS) \ $(MODEST_HILDON_HELP_CFLAGS) \ $(MODEST_LIBCONIC_CFLAGS) \ diff --git a/src/hildon2/modest-maemo-global-settings-dialog.c b/src/hildon2/modest-maemo-global-settings-dialog.c index 6d96477..4ed2a82 100644 --- a/src/hildon2/modest-maemo-global-settings-dialog.c +++ b/src/hildon2/modest-maemo-global-settings-dialog.c @@ -44,9 +44,12 @@ #include #include "modest-runtime.h" #include "widgets/modest-global-settings-dialog-priv.h" -#include "widgets/modest-combo-box.h" +#include "modest-selector-picker.h" +#include "hildon/hildon-check-button.h" +#include "hildon/hildon-pannable-area.h" #include "modest-maemo-global-settings-dialog.h" #include "widgets/modest-ui-constants.h" +#include "modest-text-utils.h" #include @@ -63,15 +66,7 @@ static void modest_maemo_global_settings_dialog_finalize (GObject *obj); static ModestConnectedVia current_connection (void); -/* list my signals */ -enum { - /* MY_SIGNAL_1, */ - /* MY_SIGNAL_2, */ - LAST_SIGNAL -}; - static GtkWidget* create_updating_page (ModestMaemoGlobalSettingsDialog *self); -static GtkWidget* create_composing_page (ModestMaemoGlobalSettingsDialog *self); static gboolean on_range_error (HildonNumberEditor *editor, HildonNumberEditorErrorType type, @@ -81,17 +76,12 @@ static void on_size_notify (HildonNumberEditor *editor, GParamSpec *arg1, gpointer user_data); -static void on_auto_update_toggled (GtkToggleButton *togglebutton, +static void on_auto_update_clicked (GtkButton *button, gpointer user_data); -static gboolean on_inner_tabs_key_pressed (GtkWidget *widget, - GdkEventKey *event, - gpointer user_data); - typedef struct _ModestMaemoGlobalSettingsDialogPrivate ModestMaemoGlobalSettingsDialogPrivate; struct _ModestMaemoGlobalSettingsDialogPrivate { ModestPairList *connect_via_list; - gint switch_handler; }; #define MODEST_MAEMO_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \ MODEST_TYPE_MAEMO_GLOBAL_SETTINGS_DIALOG, \ @@ -99,9 +89,6 @@ struct _ModestMaemoGlobalSettingsDialogPrivate { /* globals */ static GtkDialogClass *parent_class = NULL; -/* uncomment the following if you have defined any signals */ -/* static guint signals[LAST_SIGNAL] = {0}; */ - GType modest_maemo_global_settings_dialog_get_type (void) { @@ -145,61 +132,6 @@ typedef struct { GtkWidget *focus_widget; } SwitchPageHelper; -static gboolean -idle_select_default_focus (gpointer data) -{ - ModestGlobalSettingsDialogPrivate *ppriv; - ModestMaemoGlobalSettingsDialogPrivate *priv; - SwitchPageHelper *helper; - - helper = (SwitchPageHelper *) data; - priv = MODEST_MAEMO_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (helper->dia); - ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (helper->dia); - - /* Grab focus, we need to block in order to prevent a - recursive call to this callback */ - g_signal_handler_block (G_OBJECT (ppriv->notebook), priv->switch_handler); - - /* This is a GDK lock because we are an idle callback and - * the code below is or does Gtk+ code */ - - gdk_threads_enter (); /* CHECKED */ - gtk_widget_grab_focus (helper->focus_widget); - gdk_threads_leave (); /* CHECKED */ - - g_signal_handler_unblock (G_OBJECT (ppriv->notebook), priv->switch_handler); - g_free (helper); - - return FALSE; -} - - -static void -on_switch_page (GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, gpointer user_data) -{ - /* grab the focus to the default element in the current page */ - GtkWidget *selected_page = NULL, *focus_item = NULL; - SwitchPageHelper *helper; - - selected_page = gtk_notebook_get_nth_page (notebook, page_num); - focus_item = GTK_WIDGET(g_object_get_data (G_OBJECT(selected_page), DEFAULT_FOCUS_WIDGET)); - if (!focus_item) { - g_printerr ("modest: cannot get focus item\n"); - return; - } - - /* Create the helper */ - helper = g_malloc0 (sizeof (SwitchPageHelper)); - helper->dia = MODEST_MAEMO_GLOBAL_SETTINGS_DIALOG (user_data); - helper->focus_widget = focus_item; - - /* Focus the widget in an idle. We need to do this in an idle, - because this handler is executed *before* the page was - really switched, so the focus is not placed in the right - widget */ - g_idle_add (idle_select_default_focus, helper); -} - static void modest_maemo_global_settings_dialog_init (ModestMaemoGlobalSettingsDialog *self) @@ -211,40 +143,23 @@ modest_maemo_global_settings_dialog_init (ModestMaemoGlobalSettingsDialog *self) ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (self); ppriv->updating_page = create_updating_page (self); - ppriv->composing_page = create_composing_page (self); /* Add the buttons: */ - gtk_dialog_add_button (GTK_DIALOG (self), _("mcen_bd_dialog_ok"), GTK_RESPONSE_OK); - gtk_dialog_add_button (GTK_DIALOG (self), _("mcen_bd_dialog_cancel"), GTK_RESPONSE_CANCEL); + gtk_dialog_add_button (GTK_DIALOG (self), _HL("wdgt_bd_save "), GTK_RESPONSE_OK); /* Set the default focusable widgets */ g_object_set_data (G_OBJECT(ppriv->updating_page), DEFAULT_FOCUS_WIDGET, (gpointer)ppriv->auto_update); - g_object_set_data (G_OBJECT(ppriv->composing_page), DEFAULT_FOCUS_WIDGET, - (gpointer)ppriv->msg_format); - - /* Add the notebook pages: */ - gtk_notebook_append_page (GTK_NOTEBOOK (ppriv->notebook), ppriv->updating_page, - gtk_label_new (_("mcen_ti_options_updating"))); - gtk_notebook_append_page (GTK_NOTEBOOK (ppriv->notebook), ppriv->composing_page, - gtk_label_new (_("mcen_ti_options_composing"))); - - gtk_container_add (GTK_CONTAINER (GTK_DIALOG (self)->vbox), ppriv->notebook); - gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (self)->vbox), MODEST_MARGIN_HALF); - gtk_window_set_default_size (GTK_WINDOW (self), 700, 300); + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (self)->vbox), ppriv->updating_page); + gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (self)->vbox), MODEST_MARGIN_HALF); - g_signal_connect (G_OBJECT (self), "key-press-event", - G_CALLBACK (on_inner_tabs_key_pressed), self); - priv->switch_handler = g_signal_connect (G_OBJECT(ppriv->notebook), "switch-page", - G_CALLBACK(on_switch_page), self); + /* gtk_window_set_default_size (GTK_WINDOW (self), 700, 300); */ /* Load current config */ _modest_global_settings_dialog_load_conf (MODEST_GLOBAL_SETTINGS_DIALOG (self)); /* Set first page */ - gtk_notebook_set_current_page (GTK_NOTEBOOK (ppriv->notebook), 0); - hildon_help_dialog_help_enable (GTK_DIALOG(self), "applications_email_options_dialog", modest_maemo_utils_get_osso_context()); } @@ -258,12 +173,6 @@ modest_maemo_global_settings_dialog_finalize (GObject *obj) priv = MODEST_MAEMO_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (obj); ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (obj); - if (priv->switch_handler && ppriv->notebook) { - /* TODO: This causes a g_warning and a valgrind mem error: */ - /* g_signal_handler_disconnect (G_OBJECT (ppriv->notebook), priv->switch_handler);*/ - priv->switch_handler = 0; - } - /* free/unref instance resources here */ G_OBJECT_CLASS(parent_class)->finalize (obj); } @@ -280,61 +189,41 @@ modest_maemo_global_settings_dialog_new (void) static GtkWidget* create_updating_page (ModestMaemoGlobalSettingsDialog *self) { - GtkWidget *vbox, *vbox_update, *vbox_limit, *caption; + GtkWidget *vbox, *vbox_update, *vbox_limit, *label, *hbox; GtkSizeGroup *size_group; ModestGlobalSettingsDialogPrivate *ppriv; - GtkWidget *scrollwin = NULL; - GtkAdjustment *focus_adjustment = NULL; ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (self); - scrollwin = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), - GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - vbox = gtk_vbox_new (FALSE, MODEST_MARGIN_DEFAULT); vbox_update = gtk_vbox_new (FALSE, MODEST_MARGIN_DEFAULT); size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); /* Auto update */ - ppriv->auto_update = gtk_check_button_new (); - caption = hildon_caption_new (size_group, - _("mcen_fi_options_autoupdate"), - ppriv->auto_update, - NULL, - HILDON_CAPTION_MANDATORY); - gtk_box_pack_start (GTK_BOX (vbox_update), caption, FALSE, FALSE, MODEST_MARGIN_HALF); - g_signal_connect (ppriv->auto_update, "toggled", G_CALLBACK (on_auto_update_toggled), self); + ppriv->auto_update = hildon_check_button_new (HILDON_SIZE_AUTO); + gtk_button_set_label (GTK_BUTTON (ppriv->auto_update), _("mcen_fi_options_autoupdate")); + gtk_box_pack_start (GTK_BOX (vbox_update), ppriv->auto_update, FALSE, FALSE, MODEST_MARGIN_HALF); + g_signal_connect (ppriv->auto_update, "clicked", G_CALLBACK (on_auto_update_clicked), self); /* Connected via */ - /* Note: This ModestPairList* must exist for as long as the combo - * that uses it, because the ModestComboBox uses the ID opaquely, + /* Note: This ModestPairList* must exist for as long as the picker + * that uses it, because the ModestSelectorPicker uses the ID opaquely, * so it can't know how to manage its memory. */ ppriv->connect_via_list = _modest_global_settings_dialog_get_connected_via (); - ppriv->connect_via = modest_combo_box_new (ppriv->connect_via_list, g_int_equal); - - caption = hildon_caption_new (size_group, - _("mcen_fi_options_connectiontype"), - ppriv->connect_via, - NULL, - HILDON_CAPTION_MANDATORY); - gtk_box_pack_start (GTK_BOX (vbox_update), caption, FALSE, FALSE, MODEST_MARGIN_HALF); + ppriv->connect_via = modest_selector_picker_new (ppriv->connect_via_list, g_int_equal); + hildon_button_set_title (HILDON_BUTTON (ppriv->connect_via), _("mcen_fi_options_connectiontype")); + gtk_box_pack_start (GTK_BOX (vbox_update), ppriv->connect_via, FALSE, FALSE, MODEST_MARGIN_HALF); /* Update interval */ - /* Note: This ModestPairList* must exist for as long as the combo - * that uses it, because the ModestComboBox uses the ID opaquely, + /* Note: This ModestPairList* must exist for as long as the picker + * that uses it, because the ModestSelectorPicker uses the ID opaquely, * so it can't know how to manage its memory. */ ppriv->update_interval_list = _modest_global_settings_dialog_get_update_interval (); - ppriv->update_interval = modest_combo_box_new (ppriv->update_interval_list, g_int_equal); - - caption = hildon_caption_new (size_group, - _("mcen_fi_options_updateinterval"), - ppriv->update_interval, - NULL, - HILDON_CAPTION_MANDATORY); - gtk_box_pack_start (GTK_BOX (vbox_update), caption, FALSE, FALSE, MODEST_MARGIN_HALF); + ppriv->update_interval = modest_selector_picker_new (ppriv->update_interval_list, g_int_equal); + hildon_button_set_title (HILDON_BUTTON (ppriv->update_interval), _("mcen_fi_options_updateinterval")); + gtk_box_pack_start (GTK_BOX (vbox_update), ppriv->update_interval, FALSE, FALSE, MODEST_MARGIN_HALF); /* Add to vbox */ gtk_box_pack_start (GTK_BOX (vbox), vbox_update, FALSE, FALSE, MODEST_MARGIN_HALF); @@ -351,82 +240,44 @@ create_updating_page (ModestMaemoGlobalSettingsDialog *self) hildon_number_editor_set_value (HILDON_NUMBER_EDITOR (ppriv->size_limit), MSG_SIZE_DEF_VAL); g_signal_connect (ppriv->size_limit, "range_error", G_CALLBACK (on_range_error), self); g_signal_connect (ppriv->size_limit, "notify", G_CALLBACK (on_size_notify), self); - caption = hildon_caption_new (size_group, - _("mcen_fi_advsetup_sizelimit"), - ppriv->size_limit, - NULL, - HILDON_CAPTION_MANDATORY); - gtk_box_pack_start (GTK_BOX (vbox_limit), caption, FALSE, FALSE, MODEST_MARGIN_HALF); - - /* Play sound */ - ppriv->play_sound = gtk_check_button_new (); - caption = hildon_caption_new (size_group, - _("mcen_fi_options_playsound"), - ppriv->play_sound, - NULL, - HILDON_CAPTION_MANDATORY); - gtk_box_pack_start (GTK_BOX (vbox_limit), caption, FALSE, FALSE, MODEST_MARGIN_HALF); - - /* Add to vbox */ + label = gtk_label_new (_("mcen_fi_advsetup_sizelimit")); + hbox = gtk_hbox_new (FALSE, MODEST_MARGIN_HALF); + gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), ppriv->size_limit, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox_limit), hbox, FALSE, FALSE, MODEST_MARGIN_HALF); gtk_box_pack_start (GTK_BOX (vbox), vbox_limit, FALSE, FALSE, MODEST_MARGIN_HALF); - gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrollwin), vbox); - focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrollwin)); - gtk_container_set_focus_vadjustment (GTK_CONTAINER (vbox), focus_adjustment); - gtk_widget_show (scrollwin); - - return scrollwin; -} + gtk_widget_show_all (vbox_limit); -/* - * Creates the composing page - */ -static GtkWidget* -create_composing_page (ModestMaemoGlobalSettingsDialog *self) -{ - GtkWidget *vbox; - GtkSizeGroup *size_group; - ModestGlobalSettingsDialogPrivate *ppriv; - GtkWidget *caption; - - ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (self); - size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); - vbox = gtk_vbox_new (FALSE, MODEST_MARGIN_DEFAULT); - - /* Update interval */ + /* Separator */ + gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, MODEST_MARGIN_HALF); - /* Note: This ModestPairList* must exist for as long as the combo - * that uses it, because the ModestComboBox uses the ID opaquely, + /* Note: This ModestPairList* must exist for as long as the picker + * that uses it, because the ModestSelectorPicker uses the ID opaquely, * so it can't know how to manage its memory. */ ppriv->msg_format_list = _modest_global_settings_dialog_get_msg_formats (); - ppriv->msg_format = modest_combo_box_new (ppriv->msg_format_list, g_int_equal); + ppriv->msg_format = modest_selector_picker_new (ppriv->msg_format_list, g_int_equal); + hildon_button_set_title (HILDON_BUTTON (ppriv->msg_format), _("mcen_fi_options_messageformat")); - caption = hildon_caption_new (size_group, - _("mcen_fi_options_messageformat"), - ppriv->msg_format, - NULL, - HILDON_CAPTION_MANDATORY); - gtk_box_pack_start (GTK_BOX (vbox), caption, FALSE, FALSE, MODEST_MARGIN_HALF); + gtk_box_pack_start (GTK_BOX (vbox), ppriv->msg_format, FALSE, FALSE, MODEST_MARGIN_HALF); return vbox; } + static void -on_auto_update_toggled (GtkToggleButton *togglebutton, +on_auto_update_clicked (GtkButton *button, gpointer user_data) { ModestGlobalSettingsDialogPrivate *ppriv; - GtkWidget *caption1, *caption2; ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (user_data); - caption1 = gtk_widget_get_ancestor (ppriv->connect_via, HILDON_TYPE_CAPTION); - caption2 = gtk_widget_get_ancestor (ppriv->update_interval, HILDON_TYPE_CAPTION); - if (gtk_toggle_button_get_active (togglebutton)) { - gtk_widget_set_sensitive (caption1, TRUE); - gtk_widget_set_sensitive (caption2, TRUE); + if (hildon_check_button_get_active (button)) { + gtk_widget_set_sensitive (ppriv->connect_via, TRUE); + gtk_widget_set_sensitive (ppriv->update_interval, TRUE); } else { - gtk_widget_set_sensitive (caption1, FALSE); - gtk_widget_set_sensitive (caption2, FALSE); + gtk_widget_set_sensitive (ppriv->connect_via, FALSE); + gtk_widget_set_sensitive (ppriv->update_interval, FALSE); } } @@ -499,25 +350,3 @@ current_connection (void) return modest_platform_get_current_connection (); } -static gboolean -on_inner_tabs_key_pressed (GtkWidget *widget, - GdkEventKey *event, - gpointer user_data) -{ - ModestGlobalSettingsDialogPrivate *ppriv; - gboolean retval = FALSE; - - ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (user_data); - - if (widget == ppriv->notebook) { - if (event->keyval == GDK_Right) { - gtk_notebook_next_page (GTK_NOTEBOOK (ppriv->notebook)); - retval = TRUE; - } else if (event->keyval == GDK_Left) { - gtk_notebook_prev_page (GTK_NOTEBOOK (ppriv->notebook)); - retval = TRUE; - } - } - - return retval; -} diff --git a/src/maemo/Makefile.am b/src/maemo/Makefile.am index f4a8a34..fb3e01e 100644 --- a/src/maemo/Makefile.am +++ b/src/maemo/Makefile.am @@ -33,6 +33,7 @@ INCLUDES=\ $(MODEST_WPEDITOR_CFLAGS) \ $(MODEST_PLATFORM_CFLAGS) \ $(MODEST_TOOLKIT_CFLAGS) \ + $(MODEST_PLUGIN_DEFINES) \ $(MODEST_ABOOK_CFLAGS) \ $(MODEST_HILDON_HELP_CFLAGS) \ $(MODEST_LIBCONIC_CFLAGS) \ diff --git a/src/maemo/easysetup/Makefile.am b/src/maemo/easysetup/Makefile.am index b921c7c..57e62e8 100644 --- a/src/maemo/easysetup/Makefile.am +++ b/src/maemo/easysetup/Makefile.am @@ -31,6 +31,7 @@ INCLUDES=\ $(MODEST_GSTUFF_CFLAGS) \ $(MODEST_PLATFORM_CFLAGS) \ $(MODEST_TOOLKIT_CFLAGS) \ + $(MODETS_PLUGIN_DEFINES) \ $(MODEST_HILDON_HELP_CFLAGS) \ $(MODEST_HILDON_NOTIFY_CFLAGS)\ -I ${top_srcdir}/src/widgets \ diff --git a/src/widgets/Makefile.am b/src/widgets/Makefile.am index a4d31d1..6d85a60 100644 --- a/src/widgets/Makefile.am +++ b/src/widgets/Makefile.am @@ -6,6 +6,7 @@ INCLUDES=\ $(MODEST_GSTUFF_CFLAGS) \ $(MODEST_PLATFORM_CFLAGS) \ $(MODEST_TOOLKIT_CFLAGS) \ + $(MODEST_PLUGIN_DEFINES) \ $(MODEST_HILDON_HELP_CFLAGS) \ $(MODEST_MOZEMBED_CFLAGS) \ $(MODEST_HILDON_NOTIFY_CFLAGS) \ diff --git a/src/widgets/modest-global-settings-dialog.c b/src/widgets/modest-global-settings-dialog.c index 69b0ef5..7f60078 100644 --- a/src/widgets/modest-global-settings-dialog.c +++ b/src/widgets/modest-global-settings-dialog.c @@ -41,7 +41,12 @@ #include "modest-ui-constants.h" #include "modest-tny-msg.h" #include "modest-platform.h" +#ifdef MODEST_TOOLKIT_HILDON2 +#include "hildon2/modest-selector-picker.h" +#include "hildon/hildon-check-button.h" +#else #include "widgets/modest-combo-box.h" +#endif #ifndef MODEST_TOOLKIT_GTK #if MODEST_HILDON_API == 0 #include @@ -96,9 +101,15 @@ modest_global_settings_dialog_get_type (void) (GInstanceInitFunc) modest_global_settings_dialog_init, NULL }; +#ifdef MODEST_TOOLKIT_HILDON2 + my_type = g_type_register_static (HILDON_TYPE_DIALOG, + "ModestGlobalSettingsDialog", + &my_info, 0); +#else my_type = g_type_register_static (GTK_TYPE_DIALOG, "ModestGlobalSettingsDialog", &my_info, 0); +#endif } return my_type; } @@ -253,7 +264,11 @@ _modest_global_settings_dialog_load_conf (ModestGlobalSettingsDialog *self) error = NULL; checked = FALSE; } +#ifdef MODEST_TOOLKIT_HILDON2 + hildon_check_button_set_active (GTK_BUTTON (priv->auto_update), checked); +#else gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->auto_update), checked); +#endif priv->initial_state.auto_update = checked; /* Connected by */ @@ -263,12 +278,21 @@ _modest_global_settings_dialog_load_conf (ModestGlobalSettingsDialog *self) error = NULL; combo_id = MODEST_CONNECTED_VIA_WLAN_OR_WIMAX; } +#ifdef MODEST_TOOLKIT_HILDON2 + modest_selector_picker_set_active_id (MODEST_SELECTOR_PICKER (priv->connect_via), + (gpointer) &combo_id); +#else modest_combo_box_set_active_id (MODEST_COMBO_BOX (priv->connect_via), (gpointer) &combo_id); +#endif priv->initial_state.connect_via = combo_id; /* Emit toggled to update the visibility of connect_by caption */ +#ifdef MODEST_TOOLKIT_HILDON2 + gtk_button_clicked (GTK_BUTTON (priv->auto_update)); +#else gtk_toggle_button_toggled (GTK_TOGGLE_BUTTON (priv->auto_update)); +#endif /* Update interval */ combo_id = modest_conf_get_int (conf, MODEST_CONF_UPDATE_INTERVAL, &error); @@ -277,8 +301,13 @@ _modest_global_settings_dialog_load_conf (ModestGlobalSettingsDialog *self) error = NULL; combo_id = MODEST_UPDATE_INTERVAL_15_MIN; } +#ifdef MODEST_TOOLKIT_HILDON2 + modest_selector_picker_set_active_id (MODEST_SELECTOR_PICKER (priv->update_interval), + (gpointer) &combo_id); +#else modest_combo_box_set_active_id (MODEST_COMBO_BOX (priv->update_interval), (gpointer) &combo_id); +#endif priv->initial_state.update_interval = combo_id; /* Size limit */ @@ -304,7 +333,9 @@ _modest_global_settings_dialog_load_conf (ModestGlobalSettingsDialog *self) error = NULL; checked = FALSE; } +#ifndef MODEST_TOOLKIT_HILDON2 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->play_sound), checked); +#endif priv->initial_state.play_sound = checked; /* Msg format */ @@ -315,8 +346,13 @@ _modest_global_settings_dialog_load_conf (ModestGlobalSettingsDialog *self) combo_id = MODEST_FILE_FORMAT_FORMATTED_TEXT; } combo_id = (checked) ? MODEST_FILE_FORMAT_FORMATTED_TEXT : MODEST_FILE_FORMAT_PLAIN_TEXT; +#ifdef MODEST_TOOLKIT_HILDON2 + modest_selector_picker_set_active_id (MODEST_SELECTOR_PICKER (priv->msg_format), + (gpointer) &combo_id); +#else modest_combo_box_set_active_id (MODEST_COMBO_BOX (priv->msg_format), (gpointer) &combo_id); +#endif priv->initial_state.prefer_formatted_text = checked; } @@ -327,18 +363,32 @@ get_current_settings (ModestGlobalSettingsDialogPrivate *priv, gint *id; /* Get values from UI */ - state->auto_update = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->auto_update)); +#ifdef MODEST_TOOLKIT_HILDON2 + id = modest_selector_picker_get_active_id (MODEST_SELECTOR_PICKER (priv->connect_via)); + state->auto_update = hildon_check_button_get_active (GTK_BUTTON (priv->auto_update)); +#else id = modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->connect_via)); + state->auto_update = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->auto_update)); +#endif state->connect_via = *id; #ifndef MODEST_TOOLKIT_GTK state->size_limit = hildon_number_editor_get_value (HILDON_NUMBER_EDITOR (priv->size_limit)); #else state->size_limit = gtk_spin_button_get_value (GTK_SPIN_BUTTON (priv->size_limit)); #endif + +#ifdef MODEST_TOOLKIT_HILDON2 + id = modest_selector_picker_get_active_id (MODEST_SELECTOR_PICKER (priv->update_interval)); +#else id = modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->update_interval)); +#endif state->update_interval = *id; +#ifdef MODEST_TOOLKIT_HILDON2 + id = modest_selector_picker_get_active_id (MODEST_SELECTOR_PICKER (priv->msg_format)); +#else state->play_sound = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->play_sound)); id = modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->msg_format)); +#endif state->prefer_formatted_text = (*id == MODEST_FILE_FORMAT_FORMATTED_TEXT) ? TRUE : FALSE; } diff --git a/src/widgets/modest-global-settings-dialog.h b/src/widgets/modest-global-settings-dialog.h index 9c487e4..79c988b 100644 --- a/src/widgets/modest-global-settings-dialog.h +++ b/src/widgets/modest-global-settings-dialog.h @@ -30,7 +30,11 @@ #ifndef __MODEST_GLOBAL_SETTINGS_DIALOG_H__ #define __MODEST_GLOBAL_SETTINGS_DIALOG_H__ +#ifdef MODEST_TOOLKIT_HILDON2 +#include +#else #include +#endif #include "widgets/modest-global-settings-dialog-priv.h" #include "modest-platform.h" /* other include files */ @@ -59,11 +63,19 @@ typedef struct _ModestGlobalSettingsDialog ModestGlobalSettingsDialog; typedef struct _ModestGlobalSettingsDialogClass ModestGlobalSettingsDialogClass; struct _ModestGlobalSettingsDialog { +#ifdef MODEST_TOOLKIT_HILDON2 + HildonDialog parent; +#else GtkDialog parent; +#endif }; struct _ModestGlobalSettingsDialogClass { +#ifdef MODEST_TOOLKIT_HILDON2 + HildonDialogClass parent_class; +#else GtkDialogClass parent_class; +#endif /* Returns the current connection method. Assumes that the device is online */ ModestConnectedVia (*current_connection_func) (void); -- 1.7.9.5