X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmaemo%2Fmodest-maemo-global-settings-dialog.c;h=64fc50f94d9d9c36b03e26e7786b2bc26cfe8a7a;hb=12a672c559d983c4e49a7e4054ee14c0177ecb1c;hp=48c96bf6acde5b9e5e0d9acd6dacdcbff39f41fe;hpb=9ee9c1e0296c01b8bdf9f97123aad5a5a13e5643;p=modest diff --git a/src/maemo/modest-maemo-global-settings-dialog.c b/src/maemo/modest-maemo-global-settings-dialog.c index 48c96bf..64fc50f 100644 --- a/src/maemo/modest-maemo-global-settings-dialog.c +++ b/src/maemo/modest-maemo-global-settings-dialog.c @@ -31,10 +31,6 @@ #include #endif /*HAVE_CONFIG_H*/ -#ifdef MODEST_HAVE_CONIC -#include -#endif /*MODEST_HAVE_CONIC*/ - #include #include @@ -47,12 +43,12 @@ #include #include #include "modest-runtime.h" +#include "modest-defs.h" #include "widgets/modest-global-settings-dialog-priv.h" #include "widgets/modest-combo-box.h" #include "maemo/modest-maemo-global-settings-dialog.h" #include "widgets/modest-ui-constants.h" #include -#include #define MSG_SIZE_MAX_VAL 5000 @@ -93,6 +89,8 @@ static gboolean on_inner_tabs_key_pressed (GtkWidget *widget, GdkEventKey *event, gpointer user_data); +static void modest_maemo_global_settings_dialog_load_settings (ModestGlobalSettingsDialog *self); + typedef struct _ModestMaemoGlobalSettingsDialogPrivate ModestMaemoGlobalSettingsDialogPrivate; struct _ModestMaemoGlobalSettingsDialogPrivate { ModestPairList *connect_via_list; @@ -233,7 +231,7 @@ modest_maemo_global_settings_dialog_init (ModestMaemoGlobalSettingsDialog *self) 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); @@ -244,9 +242,6 @@ modest_maemo_global_settings_dialog_init (ModestMaemoGlobalSettingsDialog *self) priv->switch_handler = g_signal_connect (G_OBJECT(ppriv->notebook), "switch-page", G_CALLBACK(on_switch_page), self); - /* 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); @@ -276,7 +271,12 @@ modest_maemo_global_settings_dialog_finalize (GObject *obj) GtkWidget* modest_maemo_global_settings_dialog_new (void) { - return GTK_WIDGET(g_object_new(MODEST_TYPE_MAEMO_GLOBAL_SETTINGS_DIALOG, NULL)); + GtkWidget *self = GTK_WIDGET(g_object_new(MODEST_TYPE_MAEMO_GLOBAL_SETTINGS_DIALOG, NULL)); + + /* Load settings */ + modest_maemo_global_settings_dialog_load_settings (MODEST_GLOBAL_SETTINGS_DIALOG (self)); + + return self; } /* @@ -444,27 +444,15 @@ on_range_error (HildonNumberEditor *editor, gint new_val; switch (type) { -#ifdef MODEST_HAVE_HILDON0_WIDGETS - case MAXIMUM_VALUE_EXCEED: -#else case HILDON_NUMBER_EDITOR_ERROR_MAXIMUM_VALUE_EXCEED: -#endif msg = g_strdup_printf (dgettext("hildon-libs", "ckct_ib_maximum_value"), MSG_SIZE_MAX_VAL); new_val = MSG_SIZE_MAX_VAL; break; -#ifdef MODEST_HAVE_HILDON0_WIDGETS - case MINIMUM_VALUE_EXCEED: -#else case HILDON_NUMBER_EDITOR_ERROR_MINIMUM_VALUE_EXCEED: -#endif msg = g_strdup_printf (dgettext("hildon-libs", "ckct_ib_minimum_value"), MSG_SIZE_MIN_VAL); new_val = MSG_SIZE_MIN_VAL; break; -#ifdef MODEST_HAVE_HILDON0_WIDGETS - case ERRONEOUS_VALUE: -#else case HILDON_NUMBER_EDITOR_ERROR_ERRONEOUS_VALUE: -#endif msg = g_strdup_printf (dgettext("hildon-libs", "ckct_ib_set_a_value_within_range"), MSG_SIZE_MIN_VAL, MSG_SIZE_MAX_VAL); @@ -514,7 +502,7 @@ on_inner_tabs_key_pressed (GtkWidget *widget, ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (user_data); - if (widget == user_data) { + if (widget == ppriv->notebook) { if (event->keyval == GDK_Right) { gtk_notebook_next_page (GTK_NOTEBOOK (ppriv->notebook)); retval = TRUE; @@ -526,3 +514,85 @@ on_inner_tabs_key_pressed (GtkWidget *widget, return retval; } + +static void +modest_maemo_global_settings_dialog_load_settings (ModestGlobalSettingsDialog *self) +{ + ModestConf *conf; + gboolean checked; + gint combo_id, value; + GError *error = NULL; + ModestGlobalSettingsDialogPrivate *ppriv; + + ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (self); + conf = modest_runtime_get_conf (); + + /* Autoupdate */ + checked = modest_conf_get_bool (conf, MODEST_CONF_AUTO_UPDATE, &error); + if (error) { + g_clear_error (&error); + error = NULL; + checked = FALSE; + } + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ppriv->auto_update), checked); + ppriv->initial_state.auto_update = checked; + + /* Connected by */ + combo_id = modest_conf_get_int (conf, MODEST_CONF_UPDATE_WHEN_CONNECTED_BY, &error); + if (error) { + g_error_free (error); + error = NULL; + combo_id = MODEST_CONNECTED_VIA_WLAN_OR_WIMAX; + } + modest_combo_box_set_active_id (MODEST_COMBO_BOX (ppriv->connect_via), + (gpointer) &combo_id); + ppriv->initial_state.connect_via = combo_id; + + /* Emit toggled to update the visibility of connect_by caption */ + gtk_toggle_button_toggled (GTK_TOGGLE_BUTTON (ppriv->auto_update)); + + /* Update interval */ + combo_id = modest_conf_get_int (conf, MODEST_CONF_UPDATE_INTERVAL, &error); + if (error) { + g_error_free (error); + error = NULL; + combo_id = MODEST_UPDATE_INTERVAL_15_MIN; + } + modest_combo_box_set_active_id (MODEST_COMBO_BOX (ppriv->update_interval), + (gpointer) &combo_id); + ppriv->initial_state.update_interval = combo_id; + + /* Size limit */ + value = modest_conf_get_int (conf, MODEST_CONF_MSG_SIZE_LIMIT, &error); + if (error) { + g_error_free (error); + error = NULL; + value = 1000; + } + /* It's better to do this in the subclasses, but it's just one + line, so we'll leave it here for the moment */ + hildon_number_editor_set_value (HILDON_NUMBER_EDITOR (ppriv->size_limit), value); + ppriv->initial_state.size_limit = value; + + /* Play sound */ + checked = modest_conf_get_bool (conf, MODEST_CONF_PLAY_SOUND_MSG_ARRIVE, &error); + if (error) { + g_error_free (error); + error = NULL; + checked = FALSE; + } + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ppriv->play_sound), checked); + ppriv->initial_state.play_sound = checked; + + /* Msg format */ + checked = modest_conf_get_bool (conf, MODEST_CONF_PREFER_FORMATTED_TEXT, &error); + if (error) { + g_error_free (error); + error = NULL; + combo_id = MODEST_FILE_FORMAT_FORMATTED_TEXT; + } + combo_id = (checked) ? MODEST_FILE_FORMAT_FORMATTED_TEXT : MODEST_FILE_FORMAT_PLAIN_TEXT; + modest_combo_box_set_active_id (MODEST_COMBO_BOX (ppriv->msg_format), + (gpointer) &combo_id); + ppriv->initial_state.prefer_formatted_text = checked; +}