X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-widget-memory.c;h=9044e1e89f7a6ad462a1f8cb6d9519197abd1657;hb=bc9bbede5d63979b331c72fbc291379be01df0ad;hp=9af2603faf7cf359c82694db56af2e78cb3f15f7;hpb=ef8d9eace62dfef5a488fdde544d55566ce2c50f;p=modest diff --git a/src/modest-widget-memory.c b/src/modest-widget-memory.c index 9af2603..9044e1e 100644 --- a/src/modest-widget-memory.c +++ b/src/modest-widget-memory.c @@ -35,6 +35,7 @@ #include #include #include +#include "widgets/modest-main-window.h" #include gchar* @@ -154,6 +155,15 @@ save_settings_window (ModestConf *conf, GtkWindow *win, const gchar *name) key = _modest_widget_memory_get_keyname (name, MODEST_WIDGET_MEMORY_PARAM_WIDTH); modest_conf_set_int (conf, key, width, NULL); g_free (key); + + /* Save also the main window style */ + if (MODEST_IS_MAIN_WINDOW (win)) { + ModestMainWindowStyle style = modest_main_window_get_style (MODEST_MAIN_WINDOW (win)); + + key = _modest_widget_memory_get_keyname (name, MODEST_WIDGET_MEMORY_PARAM_WINDOW_STYLE); + modest_conf_set_int (conf, key, style, NULL); + g_free (key); + } return TRUE; } @@ -181,6 +191,18 @@ restore_settings_window (ModestConf *conf, GtkWindow *win, const gchar *name) if (height && width) gtk_window_set_default_size (win, width, height); + /* Restore also the main window style */ + if (MODEST_IS_MAIN_WINDOW (win)) { + ModestMainWindowStyle style; + + key = _modest_widget_memory_get_keyname (name, MODEST_WIDGET_MEMORY_PARAM_WINDOW_STYLE); + if (modest_conf_key_exists (conf, key, NULL)) + style = (ModestMainWindowStyle) modest_conf_get_int (conf, key, NULL); + g_free (key); + + modest_main_window_set_style (MODEST_MAIN_WINDOW (win), style); + } + return TRUE; } @@ -229,10 +251,10 @@ save_settings_header_view (ModestConf *conf, ModestHeaderView *header_view, TnyFolder *folder; TnyFolderType type; ModestHeaderViewStyle style; - + folder = modest_header_view_get_folder (header_view); - if (!folder) - return TRUE; /* no folder: no settings */ + if (!folder || modest_header_view_is_empty (header_view)) + return TRUE; /* no non-empty folder: no settings */ type = modest_tny_folder_guess_folder_type (folder); style = modest_header_view_get_style (header_view); @@ -240,7 +262,6 @@ save_settings_header_view (ModestConf *conf, ModestHeaderView *header_view, key = _modest_widget_memory_get_keyname_with_double_type (name, type, style, MODEST_WIDGET_MEMORY_PARAM_COLUMN_WIDTH); - g_warning ("saving %s", key); cursor = cols = modest_header_view_get_columns (header_view); str = g_string_new (NULL); @@ -257,8 +278,7 @@ save_settings_header_view (ModestConf *conf, ModestHeaderView *header_view, MODEST_HEADER_VIEW_COLUMN)); width = gtk_tree_view_column_get_width (col); - g_string_append_printf (str, "%d:%d ", col_id, width); - + g_string_append_printf (str, "%d:%d ", col_id, width); cursor = g_list_next (cursor); } @@ -267,6 +287,7 @@ save_settings_header_view (ModestConf *conf, ModestHeaderView *header_view, g_free (key); g_string_free (str, TRUE); g_list_free (cols); + g_object_unref (G_OBJECT (folder)); return TRUE; } @@ -282,17 +303,14 @@ restore_settings_header_view (ModestConf *conf, ModestHeaderView *header_view, ModestHeaderViewStyle style; folder = modest_header_view_get_folder (header_view); - if (!folder) - return TRUE; /* no folder: no settings */ + if (!folder || modest_header_view_is_empty (header_view)) + return TRUE; /* no non-empty folder: no settings */ type = modest_tny_folder_guess_folder_type (folder); style = modest_header_view_get_style (header_view); key = _modest_widget_memory_get_keyname_with_double_type (name, type, style, MODEST_WIDGET_MEMORY_PARAM_COLUMN_WIDTH); - - g_warning ("restoring %s", key); - if (modest_conf_key_exists (conf, key, NULL)) { gchar *data, *cursor; @@ -329,6 +347,8 @@ restore_settings_header_view (ModestConf *conf, ModestHeaderView *header_view, } g_free (key); + g_object_unref (G_OBJECT (folder)); + return TRUE; }