Update of /cvsroot/gtkpod/gtkpod/src
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv7784/src

Modified Files:
        display_songs.c prefs.c prefs.h prefs_window.c 
Log Message:

Move tm_col_order to new prefs. Also added a finalize_prefs function to 
allow prefs to do things before the file gets saved.


Index: display_songs.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display_songs.c,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- display_songs.c     6 Jun 2006 07:55:25 -0000       1.101
+++ display_songs.c     7 Jun 2006 01:58:58 -0000       1.102
@@ -704,7 +704,7 @@
     for (i=0; i<TM_NUM_COLUMNS; ++i)
     {
        col = gtk_tree_view_get_column (track_treeview, i);
-       prefs_set_col_order (i, col->sort_column_id);
+       prefs_set_int_index("col_order", i, col->sort_column_id);
     }
 }
 
@@ -2006,7 +2006,7 @@
 
     for (i=0; i<TM_NUM_COLUMNS; ++i)
     {
-       tm_add_column (prefs_get_col_order (i), -1);
+       tm_add_column (prefs_get_int_index("col_order", i), -1);
     }
     tm_show_preferred_columns();
 }
@@ -2200,7 +2200,8 @@
     for (i=0; i<TM_NUM_COLUMNS; ++i)
     {
        tvc = gtk_tree_view_get_column (track_treeview, i);
-       visible = prefs_get_int_index("col_visible", prefs_get_col_order (i));
+       visible = prefs_get_int_index("col_visible", 
+      prefs_get_int_index("col_order", i));
        gtk_tree_view_column_set_visible (tvc, visible);
     }
 }

Index: prefs.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/prefs.c,v
retrieving revision 1.201
retrieving revision 1.202
diff -u -d -r1.201 -r1.202
--- prefs.c     6 Jun 2006 07:55:26 -0000       1.201
+++ prefs.c     7 Jun 2006 01:58:58 -0000       1.202
@@ -175,6 +175,7 @@
     {
       prefs_set_int_index("tm_col_width", i, 80);
       prefs_set_int_index("col_visible", i, FALSE);
+      prefs_set_int_index("col_order", i, i);
     }
     
     prefs_set_int_index("col_visible", TM_COLUMN_ARTIST, TRUE);
@@ -826,6 +827,13 @@
   prefs_set_string ("version", VERSION);
 }
 
+/* Do things that need to be done before saving prefs */
+static void finalize_prefs()
+{
+  /* Sort column order needs to be stored */
+  tm_store_col_order();
+}
+
 /* Initialize the prefs table and read configuration */
 void init_prefs(int argc, char *argv[])
 {
@@ -856,7 +864,10 @@
 {
        if (prefs_table)
        {
-               /* Save prefs */
+               /* Let prefs do some things before saving */
+    finalize_prefs();
+    
+    /* Save prefs */
                save_prefs();
                
                /* Delete the prefs hash table */
@@ -1698,10 +1709,6 @@
     mycfg->size_prefs.y = 480;
     mycfg->size_info.x = 510;
     mycfg->size_info.y = 300;
-    for (i=0; i<TM_NUM_COLUMNS; ++i)
-    {
-       mycfg->col_order[i] = i;
-    }
     for (i=0; i<TM_NUM_TAGS_PREFS; ++i)
     {
        mycfg->autosettags[i] = FALSE;
@@ -1949,11 +1956,6 @@
          {
              prefs_set_coverart_template(strdup(arg));
          }
-         else if(arg_comp (line, "col_order", &off) == 0)
-         {
-             gint i = atoi (line+off);
-             prefs_set_col_order (i, atoi (arg));
-         }
          else if(arg_comp (line, "paned_pos_", &off) == 0)
          {
              gint i = atoi (line+off);
@@ -2365,8 +2367,6 @@
     /* update column widths, x,y-size of main window and GtkPaned
      * positions */
     display_update_default_sizes ();
-    /* update order of track view columns */
-    tm_store_col_order ();
 
     if (cfg->charset)
     {
@@ -2382,15 +2382,9 @@
 
     fprintf(fp, _("# autoselect master playlist?\n"));
     fprintf(fp, "mpl_autoselect=%d\n", prefs_get_mpl_autoselect ());
-    fprintf(fp, _("# title=0, artist, album, genre, composer\n"));
-    fprintf(fp, _("# track_nr=5, ipod_id, pc_path, transferred\n"));
-    fprintf(fp, _("# autoset: set empty tag to filename?\n"));
-    for (i=0; i<TM_NUM_COLUMNS; ++i)
-    {
-       fprintf(fp, "col_order%d=%d\n",  i, prefs_get_col_order (i));
        if (i < TM_NUM_TAGS_PREFS)
            fprintf(fp, "tag_autoset%d=%d\n", i, prefs_get_autosettags (i));
-    }
+  
     fprintf(fp, "readtags=%d\n", prefs_get_readtags());
     fprintf(fp, "parsetags=%d\n", prefs_get_parsetags());
     fprintf(fp, "parsetags_overwrite=%d\n", prefs_get_parsetags_overwrite());
@@ -2880,22 +2874,6 @@
     }
 }
 
-/* Display which column at nr @pos? */
-void prefs_set_col_order (gint pos, TM_item tm_item)
-{
-    if (pos < TM_NUM_COLUMNS)
-       cfg->col_order[pos] = tm_item;
-}
-
-
-/* Display column nr @pos? */
-TM_item prefs_get_col_order (gint pos)
-{
-    if (pos < TM_NUM_COLUMNS)
-       return cfg->col_order[pos];
-    return -1;
-}
-
 /* get position of GtkPaned element nr. "i" */
 /* return value: -1: don't change position */
 gint prefs_get_paned_pos (gint i)

Index: prefs.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/prefs.h,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -d -r1.128 -r1.129
--- prefs.h     6 Jun 2006 07:55:26 -0000       1.128
+++ prefs.h     7 Jun 2006 01:58:59 -0000       1.129
@@ -132,7 +132,6 @@
   struct win_size size_dirbr;   /* last size of dirbrowser window */
   struct win_size size_prefs;   /* last size of prefs window */
   struct win_size size_info;    /* last size of info window */
-  TM_item col_order[TM_NUM_COLUMNS];    /* order of columns */
   gboolean readtags;            /* Read tags from file contents? */
   gboolean parsetags;           /* Get tags by parsing filename? */
   gchar   *parsetags_template;  /* template for parsing tags */
@@ -344,7 +343,6 @@
 void prefs_set_size_dirbr (gint x, gint y);
 void prefs_set_size_prefs (gint x, gint y);
 void prefs_set_size_info (gint x, gint y);
-void prefs_set_col_order (gint pos, TM_item col);
 void prefs_set_paned_pos (gint i, gint pos);
 void prefs_set_statusbar_timeout (guint32 val);
 void prefs_set_automount(gboolean val);
@@ -368,7 +366,6 @@
 void prefs_get_size_dirbr (gint *x, gint *y);
 void prefs_get_size_prefs (gint *x, gint *y);
 void prefs_get_size_info (gint *x, gint *y);
-TM_item prefs_get_col_order (gint pos);
 gboolean prefs_get_md5tracks(void);
 gboolean prefs_get_block_display(void);
 gint prefs_get_paned_pos (gint i);

Index: prefs_window.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/prefs_window.c,v
retrieving revision 1.131
retrieving revision 1.132
diff -u -d -r1.131 -r1.132
--- prefs_window.c      6 Jun 2006 23:14:23 -0000       1.131
+++ prefs_window.c      7 Jun 2006 01:58:59 -0000       1.132
@@ -1612,7 +1612,7 @@
        tm_store_col_order ();
        for (i=0; i<TM_NUM_COLUMNS; ++i)
        {   /* first the visible columns */
-           TM_item col = prefs_get_col_order (i);
+           TM_item col = prefs_get_int_index("col_order", i);
            if (col != -1)
            {
                if (prefs_get_int_index("col_visible", col))
@@ -1622,7 +1622,7 @@
        }
        for (i=0; i<TM_NUM_COLUMNS; ++i)
        {   /* first the visible columns */
-           TM_item col = prefs_get_col_order (i);
+           TM_item col = prefs_get_int_index("col_order", i);
            if (col != -1)
            {
                if (!prefs_get_int_index("col_visible", col))



_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to