Revision: 1567
          http://gtkpod.svn.sourceforge.net/gtkpod/?rev=1567&view=rev
Author:   jcsjcs
Date:     2007-06-20 08:32:25 -0700 (Wed, 20 Jun 2007)

Log Message:
-----------
        * data/gtkpod.glade
          src/prefs_window.c: automatically create the checkboxes for
          the visible columns selection, greatly simplifying additions.

Modified Paths:
--------------
    gtkpod/trunk/ChangeLog_detailed
    gtkpod/trunk/data/gtkpod.glade
    gtkpod/trunk/src/prefs_window.c

Modified: gtkpod/trunk/ChangeLog_detailed
===================================================================
--- gtkpod/trunk/ChangeLog_detailed     2007-06-20 14:07:58 UTC (rev 1566)
+++ gtkpod/trunk/ChangeLog_detailed     2007-06-20 15:32:25 UTC (rev 1567)
@@ -1,3 +1,9 @@
+2007-06-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+       * data/gtkpod.glade
+         src/prefs_window.c: automatically create the checkboxes for
+         the visible columns selection, greatly simplifying additions.
+
 2007-06-20  Todd Zullinger <tmzullinger at users.sourceforge.net>
 
        * src/file_convert.c

Modified: gtkpod/trunk/data/gtkpod.glade
===================================================================
--- gtkpod/trunk/data/gtkpod.glade      2007-06-20 14:07:58 UTC (rev 1566)
+++ gtkpod/trunk/data/gtkpod.glade      2007-06-20 15:32:25 UTC (rev 1567)
@@ -10433,7 +10433,7 @@
                          </child>
 
                          <child>
-                           <widget class="GtkHBox" id="hbox116">
+                           <widget class="GtkHBox" id="visible_cols_hbox">
                              <property name="visible">True</property>
                              <property name="homogeneous">False</property>
                              <property name="spacing">8</property>
@@ -10464,876 +10464,7 @@
                              </child>
 
                              <child>
-                               <widget class="GtkHBox" id="hbox117">
-                                 <property name="visible">True</property>
-                                 <property name="homogeneous">False</property>
-                                 <property name="spacing">0</property>
-
-                                 <child>
-                                   <widget class="GtkVBox" id="vbox120">
-                                     <property name="visible">True</property>
-                                     <property 
name="homogeneous">False</property>
-                                     <property name="spacing">0</property>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible1">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible4">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible28">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible32">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible9">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible19">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible12">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible11">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible18">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-                                   </widget>
-                                   <packing>
-                                     <property name="padding">0</property>
-                                     <property name="expand">True</property>
-                                     <property name="fill">True</property>
-                                   </packing>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkVBox" id="vbox121">
-                                     <property name="visible">True</property>
-                                     <property 
name="homogeneous">False</property>
-                                     <property name="spacing">0</property>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible2">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible24">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible29">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible7">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible10">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible15">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible13">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible22">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible5">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-                                   </widget>
-                                   <packing>
-                                     <property name="padding">0</property>
-                                     <property name="expand">True</property>
-                                     <property name="fill">True</property>
-                                   </packing>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkVBox" id="vbox122">
-                                     <property name="visible">True</property>
-                                     <property 
name="homogeneous">False</property>
-                                     <property name="spacing">0</property>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible0">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible25">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible30">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible20">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible16">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible14">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible26">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible23">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible34">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-                                   </widget>
-                                   <packing>
-                                     <property name="padding">0</property>
-                                     <property name="expand">True</property>
-                                     <property name="fill">True</property>
-                                   </packing>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkVBox" id="vbox123">
-                                     <property name="visible">True</property>
-                                     <property 
name="homogeneous">False</property>
-                                     <property name="spacing">0</property>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible3">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible27">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible31">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible17">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible21">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible33">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible6">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible8">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible35">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-                                   </widget>
-                                   <packing>
-                                     <property name="padding">0</property>
-                                     <property name="expand">True</property>
-                                     <property name="fill">True</property>
-                                   </packing>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkVBox" id="vbox179">
-                                     <property name="visible">True</property>
-                                     <property 
name="homogeneous">False</property>
-                                     <property name="spacing">0</property>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible36">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible37">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible38">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible39">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <widget class="GtkCheckButton" 
id="col_visible40">
-                                         <property 
name="visible">True</property>
-                                         <property 
name="can_focus">True</property>
-                                         <property name="label" 
translatable="yes"></property>
-                                         <property 
name="use_underline">True</property>
-                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
-                                         <property 
name="focus_on_click">True</property>
-                                         <property 
name="active">False</property>
-                                         <property 
name="inconsistent">False</property>
-                                         <property 
name="draw_indicator">True</property>
-                                       </widget>
-                                       <packing>
-                                         <property name="padding">0</property>
-                                         <property 
name="expand">False</property>
-                                         <property name="fill">False</property>
-                                       </packing>
-                                     </child>
-
-                                     <child>
-                                       <placeholder/>
-                                     </child>
-
-                                     <child>
-                                       <placeholder/>
-                                     </child>
-
-                                     <child>
-                                       <placeholder/>
-                                     </child>
-
-                                     <child>
-                                       <placeholder/>
-                                     </child>
-                                   </widget>
-                                   <packing>
-                                     <property name="padding">0</property>
-                                     <property name="expand">True</property>
-                                     <property name="fill">True</property>
-                                   </packing>
-                                 </child>
-                               </widget>
-                               <packing>
-                                 <property name="padding">0</property>
-                                 <property name="expand">True</property>
-                                 <property name="fill">True</property>
-                               </packing>
+                               <placeholder/>
                              </child>
                            </widget>
                            <packing>

Modified: gtkpod/trunk/src/prefs_window.c
===================================================================
--- gtkpod/trunk/src/prefs_window.c     2007-06-20 14:07:58 UTC (rev 1566)
+++ gtkpod/trunk/src/prefs_window.c     2007-06-20 15:32:25 UTC (rev 1567)
@@ -306,6 +306,100 @@
     }
 }
 
+static gint setup_visible_cols_buttons_sort (gconstpointer a, gconstpointer b)
+{
+    const gint *aa = a;
+    const gint *bb = b;
+
+    g_return_val_if_fail (a&&b, 0);
+
+    return g_utf8_collate (gettext (get_tm_string (*aa)),
+                          gettext (get_tm_string (*bb)));
+}
+
+/* Creates the toggle buttons to select the visible columns */
+static void setup_visible_cols_buttons ( GtkTooltips *tt)
+{
+    GArray *array;
+    GtkWidget *hbox;
+    GtkWidget *table;
+    gint i, rows, columns, r, c;
+
+    /* Sort the available colums alphabetically */
+    array = g_array_new (FALSE, FALSE, sizeof (gint));
+    for (i=0; i<TM_NUM_COLUMNS; ++i)
+    {
+       g_array_append_val (array, i);
+    }
+    g_array_sort (array, setup_visible_cols_buttons_sort);
+
+#if 0
+    for (i=0; i<TM_NUM_COLUMNS; ++i)
+    {
+       printf ("%s\n", gettext (get_tm_string (g_array_index (array, gint, 
i))));
+    }
+#endif
+
+    hbox = gtkpod_xml_get_widget (prefs_window_xml, "visible_cols_hbox");
+
+    /* how big must the table be to keep all column labels? */
+    columns = 5;
+    rows = (TM_NUM_COLUMNS + (columns - 1)) / columns;
+    table = gtk_table_new (rows, columns, TRUE);
+
+    for (r=0; r*columns < TM_NUM_COLUMNS; ++r)
+    {
+       for (c=0; c<columns; ++c)
+       {
+           i = r*columns+c;
+           if (i < TM_NUM_COLUMNS)
+           {
+               GtkWidget *button;
+               gint j;
+               j = g_array_index (array, gint, i);
+               /* Create button */
+               button = gtk_check_button_new_with_label (
+                   gettext (get_tm_string (j)));
+               /* set active/inactive */
+               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),
+                                            prefs_get_int_index("col_visible", 
j));
+               /* set tooltip if available */
+               if (get_tm_tooltip (j))
+               {
+                   gtk_tooltips_set_tip (tt, button, 
+                                         gettext (get_tm_tooltip (j)),
+                                         NULL);
+               }
+               /* connect the signal handler */
+               g_signal_connect ((gpointer)button,
+                                 "toggled",
+                                 G_CALLBACK (on_cfg_col_visible_toggled),
+                                 GUINT_TO_POINTER(j));
+               /* attach button to table */
+               gtk_table_attach (GTK_TABLE (table),
+                                 button,
+                                 c, c+1,
+                                 r, r+1,
+                                 GTK_FILL, GTK_SHRINK,
+                                 0, 0);
+               /* show the button */
+               gtk_widget_show (button);
+           }
+       }
+    }
+    /* Set table spacings */
+    gtk_table_set_row_spacings (GTK_TABLE (table), 4);
+    gtk_table_set_col_spacings (GTK_TABLE (table), 4);
+    /* Make table visible */
+    gtk_widget_show (table);
+    /* pack the table into the hbox */
+    gtk_box_pack_start (GTK_BOX (hbox), table, TRUE, TRUE, 0);
+
+    /* free memory */
+    g_array_free (array, TRUE);
+}
+
+
 /**
  * create_gtk_prefs_window
  * Create, Initialize, and Show the preferences window
@@ -647,34 +741,8 @@
     }
     gtk_widget_set_sensitive (w, prefs_get_int("coverart_file"));
 
-    for (i=0; i<TM_NUM_COLUMNS; ++i)
-    {
-       buf = g_strdup_printf ("col_visible%d", i);
-       if((w = gtkpod_xml_get_widget (prefs_window_xml, buf)))
-       {
-           /* set label */
-           gtk_button_set_label (GTK_BUTTON (w),
-                                 gettext (get_tm_string (i)));
-           gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-                                        prefs_get_int_index("col_visible", i));
-           /* set tooltip if available */
-           if (get_tm_tooltip (i))
-           {
-               gtk_tooltips_set_tip (tt, w, 
-                                     gettext (get_tm_tooltip (i)),
-                                     NULL);
-           }
-           /* glade makes a "GTK_OBJECT (i)" which segfaults
-              because "i" is not a GTK object. So we have to set
-              up the signal handlers ourselves */
-           g_signal_connect ((gpointer)w,
-                             "toggled",
-                             G_CALLBACK (on_cfg_col_visible_toggled),
-                             GUINT_TO_POINTER(i));
-       }
-       g_free (buf);
-    }
-    
+    setup_visible_cols_buttons (tt);
+
     w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_write_extended");
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                 prefs_get_int("write_extended_info"));


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to