X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fgnome%2Fmodest-gnome-global-settings-dialog.c;h=600999d063bec931e34924fa89bfd9b1cf033093;hb=442e2f370967b8352386b33c6430cf9dd0cd80d8;hp=e855bcbd610a785101ab8db1ed254ca9e7035bcb;hpb=9ee9c1e0296c01b8bdf9f97123aad5a5a13e5643;p=modest diff --git a/src/gnome/modest-gnome-global-settings-dialog.c b/src/gnome/modest-gnome-global-settings-dialog.c index e855bcb..600999d 100644 --- a/src/gnome/modest-gnome-global-settings-dialog.c +++ b/src/gnome/modest-gnome-global-settings-dialog.c @@ -42,6 +42,8 @@ #include #include "widgets/modest-global-settings-dialog-priv.h" #include "widgets/modest-combo-box.h" +#include "modest-runtime.h" +#include "modest-defs.h" #include "gnome/modest-gnome-global-settings-dialog.h" #include "widgets/modest-ui-constants.h" @@ -60,6 +62,7 @@ enum { LAST_SIGNAL }; +static void modest_gnome_global_settings_dialog_load_settings (ModestGlobalSettingsDialog *self); static GtkWidget* create_updating_page (ModestGnomeGlobalSettingsDialog *self); static GtkWidget* create_composing_page (ModestGnomeGlobalSettingsDialog *self); static ModestConnectedVia current_connection (void); @@ -140,9 +143,6 @@ modest_gnome_global_settings_dialog_init (ModestGnomeGlobalSettingsDialog *self) gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (self)->action_area), 0); - /* Load current config */ - _modest_global_settings_dialog_load_conf (MODEST_GLOBAL_SETTINGS_DIALOG (self)); - /* Add the buttons: */ gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_SAVE, GTK_RESPONSE_OK); @@ -160,7 +160,12 @@ modest_gnome_global_settings_dialog_finalize (GObject *obj) GtkWidget* modest_gnome_global_settings_dialog_new (void) { - return GTK_WIDGET(g_object_new(MODEST_TYPE_GNOME_GLOBAL_SETTINGS_DIALOG, NULL)); + GtkWidget *self = GTK_WIDGET(g_object_new(MODEST_TYPE_GNOME_GLOBAL_SETTINGS_DIALOG, NULL)); + + /* Load settings */ + modest_gnome_global_settings_dialog_load_settings (MODEST_GLOBAL_SETTINGS_DIALOG (self)); + + return self; } @@ -320,3 +325,82 @@ current_connection (void) { return MODEST_CONNECTED_VIA_ANY; } + +static void +modest_gnome_global_settings_dialog_load_settings (ModestGlobalSettingsDialog *self) +{ + ModestConf *conf; + gboolean checked; + gint combo_id, value; + GError *error = NULL; + ModestGlobalSettingsDialogPrivate *priv; + + priv = 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 (priv->auto_update), checked); + priv->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 (priv->connect_via), + (gpointer) &combo_id); + priv->initial_state.connect_via = combo_id; + + /* 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 (priv->update_interval), + (gpointer) &combo_id); + priv->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 */ + gtk_spin_button_set_value (GTK_SPIN_BUTTON (priv->size_limit), value); + priv->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 (priv->play_sound), checked); + priv->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 (priv->msg_format), + (gpointer) &combo_id); + priv->initial_state.prefer_formatted_text = checked; +}