X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-global-settings-dialog.c;h=ee6fc929bc1ae00dd91ee85db19f918e3d16f278;hb=564a7388a2f74368147b0a241ca4a0b65c68167f;hp=936cd166a3585c6667afd4acb6383db57df06050;hpb=1c8928c2d9bf74d0df67eacf38aaf4947800dfb5;p=modest diff --git a/src/widgets/modest-global-settings-dialog.c b/src/widgets/modest-global-settings-dialog.c index 936cd16..ee6fc92 100644 --- a/src/widgets/modest-global-settings-dialog.c +++ b/src/widgets/modest-global-settings-dialog.c @@ -32,6 +32,7 @@ #include #include #include +#include #include "widgets/modest-global-settings-dialog.h" #include "widgets/modest-global-settings-dialog-priv.h" #include "modest-defs.h" @@ -40,13 +41,18 @@ #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 "modest-hildon-includes.h" +#else #include "widgets/modest-combo-box.h" -#ifdef MODEST_PLATFORM_MAEMO -#ifdef MODEST_HAVE_HILDON0_WIDGETS +#endif +#ifndef MODEST_TOOLKIT_GTK +#if MODEST_HILDON_API == 0 #include #else #include -#endif /*MODEST_HAVE_HILDON0_WIDGETS*/ +#endif /*MODEST_HILDON_API = 0*/ #endif /* include other impl specific header files */ @@ -95,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; } @@ -124,12 +136,7 @@ modest_global_settings_dialog_init (ModestGlobalSettingsDialog *self) priv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (self); priv->notebook = gtk_notebook_new (); - priv->changed = FALSE; - /* 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); - /* Connect to the dialog's response signal: */ g_signal_connect (G_OBJECT (self), "response", G_CALLBACK (on_response), self); @@ -166,17 +173,23 @@ add_to_modest_pair_list (const gint num, const gchar *str, GSList **list) *list = g_slist_prepend (*list, pair); } -/* - * Gets a list of pairs - */ ModestPairList * _modest_global_settings_dialog_get_connected_via (void) { GSList *list = NULL; + const gchar *message; - add_to_modest_pair_list (MODEST_CONNECTED_VIA_WLAN, - _("mcen_va_options_connectiontype_wlan"), - &list); +#ifndef MODEST_TOOLKIT_GTK + const gchar *env_var = getenv ("OSSO_PRODUCT_HARDWARE"); + /* Check if WIMAX is available */ + if (env_var && !strncmp (env_var, "RX-48", 5)) + message = _("mcen_va_options_connectiontype_wlan_wimax"); + else + message = _("mcen_va_options_connectiontype_wlan"); +#else + message = _("mcen_va_options_connectiontype_wlan"); +#endif + add_to_modest_pair_list (MODEST_CONNECTED_VIA_WLAN_OR_WIMAX, message, &list); add_to_modest_pair_list (MODEST_CONNECTED_VIA_ANY, _("mcen_va_options_connectiontype_all"), &list); @@ -251,7 +264,11 @@ _modest_global_settings_dialog_load_conf (ModestGlobalSettingsDialog *self) error = NULL; checked = FALSE; } +#ifdef MODEST_TOOLKIT_HILDON2 + hildon_check_button_set_active (HILDON_CHECK_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 */ @@ -259,14 +276,21 @@ _modest_global_settings_dialog_load_conf (ModestGlobalSettingsDialog *self) if (error) { g_error_free (error); error = NULL; - combo_id = MODEST_CONNECTED_VIA_WLAN; + 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 */ +#ifndef MODEST_TOOLKIT_HILDON2 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); @@ -275,8 +299,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 */ @@ -288,7 +317,7 @@ _modest_global_settings_dialog_load_conf (ModestGlobalSettingsDialog *self) } /* It's better to do this in the subclasses, but it's just one line, so we'll leave it here for the moment */ -#ifdef MODEST_PLATFORM_MAEMO +#ifndef MODEST_TOOLKIT_GTK hildon_number_editor_set_value (HILDON_NUMBER_EDITOR (priv->size_limit), value); #else gtk_spin_button_set_value (GTK_SPIN_BUTTON (priv->size_limit), value); @@ -302,7 +331,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 */ @@ -313,8 +344,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; } @@ -325,18 +361,33 @@ 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 (HILDON_CHECK_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; -#ifdef MODEST_PLATFORM_MAEMO +#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)); + state->play_sound = priv->initial_state.play_sound; +#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; } @@ -406,7 +457,7 @@ _modest_global_settings_dialog_save_conf (ModestGlobalSettingsDialog *self) /* Disable autoupdate in offline mode */ modest_platform_set_update_interval (0); } - g_object_unref (device); + g_object_unref (device); } exit: @@ -448,11 +499,11 @@ on_response (GtkDialog *dialog, saved = _modest_global_settings_dialog_save_conf (MODEST_GLOBAL_SETTINGS_DIALOG (dialog)); if (saved) { - modest_platform_run_information_dialog (GTK_WINDOW (user_data), - _("mcen_ib_advsetup_settings_saved")); + modest_platform_information_banner (NULL, NULL, + _("mcen_ib_advsetup_settings_saved")); } else { - modest_platform_run_information_dialog (GTK_WINDOW (user_data), - _("mail_ib_setting_failed")); + modest_platform_information_banner (NULL, NULL, + _("mail_ib_setting_failed")); } } } else { @@ -462,7 +513,7 @@ on_response (GtkDialog *dialog, _("imum_nc_wizard_confirm_lose_changes")); /* Do not close if the user Cancels */ if (response == GTK_RESPONSE_CANCEL) - g_signal_stop_emission_by_name (dialog, "response"); + g_signal_stop_emission_by_name (user_data, "response"); } } }