* Makefile.am:
[modest] / src / modest-widget-memory.c
index 5ccd5cc..3dacf35 100644 (file)
@@ -30,6 +30,7 @@
 #include "modest-widget-memory.h"
 
 #include <modest-tny-platform-factory.h>
+#include <modest-tny-folder.h>
 #include <widgets/modest-header-view.h>
 #include <widgets/modest-msg-view.h>
 #include <widgets/modest-folder-view.h>
@@ -47,7 +48,7 @@ static gchar*
 get_keyname (ModestConf *conf, const gchar *name, const gchar *param)
 {
        gchar *esc_name, *keyname;
-       esc_name = modest_conf_key_escape (conf, name);
+       esc_name = modest_conf_key_escape (name);
 
        keyname = g_strdup_printf ("%s/%s/%s",
                                   MODEST_CONF_WIDGET_NAMESPACE, 
@@ -61,7 +62,7 @@ static gchar*
 get_keyname_with_type (ModestConf *conf, const gchar *name, guint type, const gchar *param)
 {
        gchar *esc_name, *keyname;
-       esc_name = modest_conf_key_escape (conf, name);
+       esc_name = modest_conf_key_escape (name);
 
        keyname = g_strdup_printf ("%s/%s/%s_%d",
                                   MODEST_CONF_WIDGET_NAMESPACE, 
@@ -205,11 +206,15 @@ save_settings_header_view (ModestConf *conf, ModestHeaderView *header_view,
        TnyFolder *folder;
        TnyFolderType type;
 
+       if (modest_header_view_get_state (header_view) &
+           MODEST_HEADER_VIEW_STATE_IS_EMPTY)
+               return TRUE; /* don't save the settings in the empty case */
+
        folder = modest_header_view_get_folder (header_view);
        if (!folder) 
                return TRUE; /* no folder: no settings */ 
        
-       type = modest_folder_view_guess_folder_type (folder);
+       type = modest_tny_folder_guess_folder_type (folder);
        key = get_keyname_with_type (conf, name, type, PARAM_COLUMN_WIDTH);
 
        cursor = cols = modest_header_view_get_columns (header_view);
@@ -232,8 +237,6 @@ save_settings_header_view (ModestConf *conf, ModestHeaderView *header_view,
 
        modest_conf_set_string (conf, key, str->str, NULL);
 
-       g_warning ("save %s", key);
-       
        g_free (key);   
        g_string_free (str, TRUE);
        g_list_free (cols);
@@ -254,7 +257,7 @@ restore_settings_header_view (ModestConf *conf, ModestHeaderView *header_view,
        if (!folder) 
                return TRUE; /* no folder: no settings */ 
        
-       type = modest_folder_view_guess_folder_type (folder);
+       type = modest_tny_folder_guess_folder_type (folder);
        
        key = get_keyname_with_type (conf, name, type, PARAM_COLUMN_WIDTH);
        if (modest_conf_key_exists (conf, key, NULL)) {
@@ -279,8 +282,10 @@ restore_settings_header_view (ModestConf *conf, ModestHeaderView *header_view,
                        widthcursor = colwidths;
                        colcursor = viewcolumns = gtk_tree_view_get_columns (GTK_TREE_VIEW(header_view));
                        while (colcursor && widthcursor) {
-                               gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN(colcursor->data),
-                                                                    GPOINTER_TO_INT(widthcursor->data));
+                               int width = GPOINTER_TO_INT(widthcursor->data);
+                               if (width > 0)
+                                       gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN(colcursor->data),
+                                                                            width);
                                colcursor = g_list_next (colcursor);
                                widthcursor = g_list_next (widthcursor);
                        }
@@ -290,8 +295,6 @@ restore_settings_header_view (ModestConf *conf, ModestHeaderView *header_view,
                }
        }
 
-       g_warning ("restore %s", key);
-
        g_free (key);
        return TRUE;
 }
@@ -347,7 +350,7 @@ modest_widget_memory_save (ModestConf *conf, GObject *widget, const gchar *name)
        else if (MODEST_IS_MSG_VIEW(widget))
                return save_settings_msg_view (conf, MODEST_MSG_VIEW(widget), name);
        else if (GTK_IS_WIDGET(widget))
-               return save_settings_widget (conf, widget, name);
+               return save_settings_widget (conf, GTK_WIDGET(widget), name);
        
        g_printerr ("modest: %p (%s) is not a known widget\n", widget, name);   
        return FALSE;
@@ -373,7 +376,7 @@ modest_widget_memory_restore (ModestConf *conf, GObject *widget, const gchar *na
        else if (MODEST_IS_MSG_VIEW(widget))
                return restore_settings_msg_view (conf, MODEST_MSG_VIEW(widget), name);
        else if (GTK_IS_WIDGET(widget))
-               return restore_settings_widget (conf, widget, name);
+               return restore_settings_widget (conf, GTK_WIDGET(widget), name);
        
        g_printerr ("modest: %p (%s) is not a known widget\n", widget, name);
        return FALSE;