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

Modified Files:
        display.h display_playlists.c display_sorttabs.c misc.c misc.h 
        prefs.c prefs.h prefs_window.c 
Log Message:
         * display_sorttabs.c, prefs.[ch], prefs_window.[ch],
           gtkpod.glade: compilation CD changes (patch by Iain
           Benson).

         * prefs_window.c: change glade_xml_get_widget() to
           gtkpod_xml_get_widget() (the latter gives a warning when
           accessing non-existing widgets).

         * display_playlists.c: compatibility fix for libpango < 1.8



Index: display.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display.h,v
retrieving revision 1.106
retrieving revision 1.107
diff -u -d -r1.106 -r1.107
--- display.h   23 Nov 2005 04:16:12 -0000      1.106
+++ display.h   25 Nov 2005 14:12:05 -0000      1.107
@@ -89,6 +89,7 @@
 typedef struct {
   gchar *name;
   gboolean master; /* set if this is the "All" entry */
+  gboolean compilation; /* set if this is the "Compilation" entry */
   GList *members;  /* GList with member tracks (pointer to "Track") */
 } TabEntry;
 

Index: display_playlists.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display_playlists.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- display_playlists.c 25 Nov 2005 00:16:34 -0000      1.68
+++ display_playlists.c 25 Nov 2005 14:12:05 -0000      1.69
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-11-25 09:07:58 jcs>
+/* Time-stamp: <2005-11-25 21:33:12 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -34,7 +34,6 @@
 #include <string.h>
 #include <stdlib.h>
 #include <gdk/gdkkeysyms.h>
-#include <pango/pango-font.h>
 
 #include "display_private.h"
 #include "prefs.h"
@@ -67,6 +66,10 @@
 };
 
 
+/* SEMIBOLD was introduced with version 1.8 */
+#ifndef PANGO_WEIGHT_SEMIBOLD
+#define PANGO_WEIGHT_SEMIBOLD 600
+#endif
 
 
 /* ---------------------------------------------------------------- */

Index: display_sorttabs.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display_sorttabs.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- display_sorttabs.c  23 Nov 2005 04:16:12 -0000      1.63
+++ display_sorttabs.c  25 Nov 2005 14:12:05 -0000      1.64
@@ -999,11 +999,20 @@
     st = sorttab[inst];
     model = st->model;
     g_return_if_fail (model != NULL);
-    gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+    /* Insert the compilation entry between All and the first entry
+       so it remains at the top even when the list is not sorted */
+    if (entry->compilation) 
+    {
+        gtk_list_store_insert (GTK_LIST_STORE (model), &iter, 1);
+    }
+    else 
+    {
+        gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+    }
     gtk_list_store_set (GTK_LIST_STORE (model), &iter,
                        ST_COLUMN_ENTRY, entry, -1);
     st->entries = g_list_append (st->entries, entry);
-    if (!entry->master)
+    if (!entry->master && !entry->compilation)
     {
        if (!st->entry_hash)
        {
@@ -1229,6 +1238,22 @@
   return entry;
 }
 
+/* Find TabEntry with compilation set true. Return NULL if no entry was found. 
*/
+static TabEntry *st_get_compilation_entry (guint32 inst)
+{
+  GList *entries;
+  TabEntry *entry;
+  guint i;
+
+  entries = sorttab[inst]->entries;
+  i=1; /* skip master entry, which is supposed to be at first position */
+  while ((entry = (TabEntry *)g_list_nth_data (entries, i)) != NULL)
+    {
+      if (entry->compilation)   break; /* found! */
+      ++i;
+    }
+  return entry;
+}
 
 /* moves a track from the entry it is currently in to the one it
    should be in according to its tags (if a Tag had been changed).
@@ -1260,6 +1285,7 @@
       newentry = g_malloc0 (sizeof (TabEntry));
       newentry->name = g_strdup (entryname);
       newentry->master = FALSE;
+      newentry->compilation = FALSE;
       st_add_entry (newentry, inst);
     }
   if (newentry != oldentry)
@@ -1443,11 +1469,12 @@
 {
     SortTab *st;
     TabEntry *entry, *master_entry, *iter_entry;
-    const gchar *entryname;
+    const gchar *entryname = NULL;
     GtkTreeSelection *selection;
     GtkTreeIter iter;
     TabEntry *select_entry = NULL;
     gboolean first = FALSE;
+    gboolean group_track = FALSE;
 
     st = sorttab[inst];
     st->final = final;
@@ -1464,17 +1491,37 @@
            master_entry = g_malloc0 (sizeof (TabEntry));
            master_entry->name = g_strdup (_("All"));
            master_entry->master = TRUE;
+           master_entry->compilation = FALSE;
            st_add_entry (master_entry, inst);
            first = TRUE; /* this is the first track */
        }
        master_entry->members = g_list_append (master_entry->members, track);
+       /* Check if this track should go in the compilation artist group */
+       group_track = ( prefs_get_group_compilations() &&
+           (track->compilation == TRUE) && 
+           (st->current_category == ST_CAT_ARTIST) );
        /* Check whether entry of same name already exists */
-       entryname = st_get_entryname (track, inst);
-       entry = st_get_entry_by_name (entryname, inst);
+       if ( group_track )
+       {
+           entry = st_get_compilation_entry (inst);
+       }
+       else
+       {
+           entryname = st_get_entryname (track, inst);
+           entry = st_get_entry_by_name (entryname, inst);
+       }
        if (entry == NULL)
        { /* not found, create new one */
            entry = g_malloc0 (sizeof (TabEntry));
-           entry->name = g_strdup (entryname);
+           if ( group_track )
+           {
+               entry->name = g_strdup (_("Compilations"));
+           }
+           else
+           {
+               entry->name = g_strdup (entryname);
+           }
+           entry->compilation = group_track;
            entry->master = FALSE;
            st_add_entry (entry, inst);
        }
@@ -2164,7 +2211,7 @@
   switch (column)
     {  /* We only have one column, so this code is overkill... */
     case ST_COLUMN_ENTRY:
-      if (entry->master)
+      if (entry->master || entry->compilation)
       {   /* mark the "All" entry */
          g_object_set (G_OBJECT (renderer),
                        "text", entry->name,
@@ -2222,11 +2269,14 @@
                                           &colid, &order) == FALSE)
       return 0;
 
-  /* We make sure that the "all" entry always stays on top */
+  /* We make sure that the "all" entry always stays on top, closely followed
+     by the compilation entry */
   if (order == GTK_SORT_ASCENDING) corr = +1;
   else                             corr = -1;
   if (entry1->master) return (-corr);
   if (entry2->master) return (corr);
+  if (entry1->compilation) return (-corr);
+  if (entry2->compilation) return (corr);
 
   /* compare the two entries */
   /* string_compare_func is set to either compare_string_fuzzy or

Index: misc.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/misc.c,v
retrieving revision 1.188
retrieving revision 1.189
diff -u -d -r1.188 -r1.189
--- misc.c      23 Nov 2005 04:16:12 -0000      1.188
+++ misc.c      25 Nov 2005 14:12:05 -0000      1.189
@@ -1,5 +1,5 @@
 /* -*- coding: utf-8; -*-
-|  Time-stamp: <2005-11-22 22:34:49 jcs>
+|  Time-stamp: <2005-11-25 23:05:02 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -163,7 +163,7 @@
 Uwe Hermann: help with support for iPod Video\n"),
                       "\n",
                       _("\
-Iain Benson: support for compilation flag in mp3 files\n"),
+Iain Benson: support for compilation tag in mp3 files and separate display of 
compilations in the sort tab.\n"),
                       _("\
 Nicolas Chariot: icons of buttons\n\
 \n\
@@ -1379,7 +1379,7 @@
  * could not be found.
  *
  **/
-GtkWidget *gtkpod_xml_get_widget (GladeXML *xml, gchar *name)
+GtkWidget *gtkpod_xml_get_widget (GladeXML *xml, const gchar *name)
 {
     GtkWidget *w=glade_xml_get_widget (xml, name);
 

Index: misc.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/misc.h,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -d -r1.105 -r1.106
--- misc.h      25 Nov 2005 00:16:34 -0000      1.105
+++ misc.h      25 Nov 2005 14:12:05 -0000      1.106
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-11-25 09:13:45 jcs>
+/* Time-stamp: <2005-11-25 23:05:03 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -208,5 +208,5 @@
 
 gchar *which (const gchar *exe);
 
-GtkWidget *gtkpod_xml_get_widget (GladeXML *xml, gchar *name);
+GtkWidget *gtkpod_xml_get_widget (GladeXML *xml, const gchar *name);
 #endif

Index: prefs.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/prefs.c,v
retrieving revision 1.151
retrieving revision 1.152
diff -u -d -r1.151 -r1.152
--- prefs.c     12 Nov 2005 08:54:31 -0000      1.151
+++ prefs.c     25 Nov 2005 14:12:05 -0000      1.152
@@ -675,6 +675,10 @@
          {
              prefs_set_sort_tab_num(atoi(arg), FALSE);
          }
+         else if(g_ascii_strcasecmp (line, "group_compilations") == 0)
+         {
+             prefs_set_group_compilations((gboolean)atoi(arg), FALSE);
+         }
          else if(g_ascii_strcasecmp (line, "toolbar_style") == 0)
          {
              prefs_set_toolbar_style(atoi(arg));
@@ -1221,6 +1225,7 @@
        fprintf(fp, "paned_pos_%d=%d\n", i, prefs_get_paned_pos (i));
     }
     fprintf(fp, "sort_tab_num=%d\n",prefs_get_sort_tab_num());
+    fprintf(fp, "group_compilations=%d\n",prefs_get_group_compilations());
     fprintf(fp, "last_prefs_page=%d\n",prefs_get_last_prefs_page());
     fprintf(fp, "offline=%d\n",prefs_get_offline());
     fprintf(fp, "extended_info=%d\n",prefs_get_write_extended_info());
@@ -2084,6 +2089,17 @@
     }
 }
 
+gboolean prefs_get_group_compilations (void)
+{
+    return cfg->group_compilations;
+}
+
+void prefs_set_group_compilations (gboolean val, gboolean update_display)
+{
+    cfg->group_compilations = val;
+    if (update_display) st_show_visible ();
+}
+
 GtkToolbarStyle prefs_get_toolbar_style (void)
 {
     return cfg->toolbar_style;

Index: prefs.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/prefs.h,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- prefs.h     12 Nov 2005 08:54:31 -0000      1.100
+++ prefs.h     25 Nov 2005 14:12:05 -0000      1.101
@@ -147,6 +147,7 @@
   gboolean write_charset;       /* Use selected charset when writing track? */
   gboolean add_recursively;     /* Add directories recursively? */
   gint sort_tab_num;            /* number of sort tabs displayed */
+  gboolean group_compilations;  /* group compilations when browsing */
   guint32 statusbar_timeout;    /* timeout for statusbar messages */
   gint last_prefs_page;         /* last page selected in prefs window */
   gchar *path[PATH_NUM];    /* path for 'Play Now...' (see PathType) */
@@ -312,6 +313,8 @@
 void prefs_set_case_sensitive (gboolean val);
 gint prefs_get_sort_tab_num (void);
 void prefs_set_sort_tab_num (gint i, gboolean update_display);
+gboolean prefs_get_group_compilations (void);
+void prefs_set_group_compilations (gboolean val, gboolean update_display);
 GtkToolbarStyle prefs_get_toolbar_style (void);
 void prefs_set_toolbar_style (GtkToolbarStyle i);
 gint prefs_get_last_prefs_page (void);

Index: prefs_window.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/prefs_window.c,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- prefs_window.c      12 Nov 2005 08:54:31 -0000      1.109
+++ prefs_window.c      25 Nov 2005 14:12:05 -0000      1.110
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-11-12 17:18:55 jcs>
+/* Time-stamp: <2005-11-25 23:04:16 jcs>
 |
 |  Copyright (C) 2002 Corey Donohoe <atmos at atmos.org>
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
@@ -189,7 +189,7 @@
        else
            newpath = g_strdup (npath);
 
-       if ((w = glade_xml_get_widget (prefs_window_xml, path_entry_names[i])))
+       if ((w = gtkpod_xml_get_widget (prefs_window_xml, path_entry_names[i])))
        {
            gchar *newpath_utf8 = g_filename_to_utf8 (newpath, -1, NULL, NULL, 
NULL);
            gtk_entry_set_text(GTK_ENTRY(w), newpath_utf8);
@@ -325,7 +325,7 @@
 
     if (!prefs_window)   return; /* we may get called even when window
                                    is not open */
-    tooltipsdata = gtk_tooltips_data_get (glade_xml_get_widget 
(prefs_window_xml, "cfg_write_extended"));
+    tooltipsdata = gtk_tooltips_data_get (gtkpod_xml_get_widget 
(prefs_window_xml, "cfg_write_extended"));
     g_return_if_fail (tooltipsdata);
     tt = tooltipsdata->tooltips;
     g_return_if_fail (tt);
@@ -367,7 +367,7 @@
        if (page != -1)
        {
            g_return_if_fail (prefs_window_xml);
-           if ((w = glade_xml_get_widget (prefs_window_xml, "notebook")))
+           if ((w = gtkpod_xml_get_widget (prefs_window_xml, "notebook")))
            {
                gtk_notebook_set_current_page (GTK_NOTEBOOK (w), page);
            }
@@ -389,11 +389,11 @@
     prefs_window_xml = glade_xml_new (xml_file, "prefs_window", NULL);
     glade_xml_signal_autoconnect (prefs_window_xml);
 
-    prefs_window = glade_xml_get_widget(prefs_window_xml,"prefs_window");
+    prefs_window = gtkpod_xml_get_widget(prefs_window_xml,"prefs_window");
 
     g_return_if_fail (prefs_window);
                
-    tooltipsdata = gtk_tooltips_data_get (glade_xml_get_widget 
(prefs_window_xml, "cfg_write_extended"));
+    tooltipsdata = gtk_tooltips_data_get (gtkpod_xml_get_widget 
(prefs_window_xml, "cfg_write_extended"));
     g_return_if_fail (tooltipsdata);
     tt = tooltipsdata->tooltips;
     g_return_if_fail (tt);
@@ -405,7 +405,7 @@
 
     create_subs_treeview();
 
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_mount_point")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_mount_point")))
     {
        if (tmpcfg->ipod_mount)
        {  /* we should copy the new path first because by setting
@@ -416,93 +416,93 @@
            g_free (buf);
        }
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "charset_combo")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "charset_combo")))
     {
        charset_init_combo (GTK_COMBO (w));
     }
     
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_md5tracks")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_md5tracks")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->md5tracks);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_update_existing")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_update_existing")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->update_existing);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_duplicates")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_duplicates")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->show_duplicates);
        if (!tmpcfg->md5tracks) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_updated")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_updated")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->show_updated);
        if (!tmpcfg->update_existing) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_non_updated")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_non_updated")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->show_non_updated);
        if (!tmpcfg->update_existing) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_sync_dirs")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_sync_dirs")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->show_sync_dirs);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_sync_remove")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_sync_remove")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->sync_remove);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_display_toolbar")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_display_toolbar")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->display_toolbar);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_icons")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_icons")))
     {
        if (tmpcfg->toolbar_style == GTK_TOOLBAR_ICONS)
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
        if (!tmpcfg->display_toolbar) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_text")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_text")))
     {
        if (tmpcfg->toolbar_style == GTK_TOOLBAR_TEXT)
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
        if (!tmpcfg->display_toolbar) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_both")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_both")))
     {
        if (tmpcfg->toolbar_style == GTK_TOOLBAR_BOTH)
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
        if (!tmpcfg->display_toolbar) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_display_tooltips_main")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_display_tooltips_main")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->display_tooltips_main);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_display_tooltips_prefs")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_display_tooltips_prefs")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->display_tooltips_prefs);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_multi_edit")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_multi_edit")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->multi_edit);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_not_played_track")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_not_played_track")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->not_played_track);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_misc_track_nr")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_misc_track_nr")))
     {
        gtk_spin_button_set_range (GTK_SPIN_BUTTON (w),
                                   0, 0xffffffff);
@@ -510,81 +510,81 @@
                                   prefs_get_misc_track_nr ());
        tmpcfg->misc_track_nr = tmpcfg->misc_track_nr;
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_multi_edit_title")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_multi_edit_title")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->multi_edit_title);
        gtk_widget_set_sensitive (w, tmpcfg->multi_edit);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_update_charset")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_update_charset")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->update_charset);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_block_display")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_block_display")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->block_display);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_id3_write")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_id3_write")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->id3_write);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_id3_write_id3v24")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_id3_write_id3v24")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->id3_write_id3v24);
        if (!tmpcfg->id3_write) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_write_charset")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_write_charset")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->write_charset);
        if (!tmpcfg->id3_write) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_add_recursively")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_add_recursively")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->add_recursively);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_delete_track_from_playlist")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_delete_track_from_playlist")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->deletion.track);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_delete_track_from_ipod")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_delete_track_from_ipod")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->deletion.ipod_file);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_track_local_file_deletion")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_track_local_file_deletion")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->deletion.local_file);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_track_database_deletion")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_track_database_deletion")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->deletion.database);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_sync_remove_confirm")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_sync_remove_confirm")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->deletion.syncing);
        gtk_widget_set_sensitive (w, tmpcfg->sync_remove);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_sync_remove_confirm2")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_sync_remove_confirm2")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->deletion.syncing);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml,  "cfg_autoimport")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml,  "cfg_autoimport")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->autoimport);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "autoselect_hbox")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "autoselect_hbox")))
     {
        for (i=0; i<SORT_TAB_MAX; ++i)
        {
@@ -611,14 +611,14 @@
     /* connect signals for path entrys and selectors */
     for (i=0; i<PATH_NUM; ++i)
     {
-       if ((w = glade_xml_get_widget (prefs_window_xml, path_button_names[i])))
+       if ((w = gtkpod_xml_get_widget (prefs_window_xml, 
path_button_names[i])))
        {
            g_signal_connect ((gpointer)w,
                              "clicked",
                              G_CALLBACK (on_path_button_pressed),
                              GUINT_TO_POINTER(i));
        }
-       if ((w = glade_xml_get_widget (prefs_window_xml, path_entry_names[i])))
+       if ((w = gtkpod_xml_get_widget (prefs_window_xml, path_entry_names[i])))
        {
            if (tmpcfg->path[i])
            {  /* we should copy the new path first because by setting
@@ -634,7 +634,7 @@
                              GUINT_TO_POINTER(i));
        }
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_mpl_autoselect")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_mpl_autoselect")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->mpl_autoselect);
@@ -643,7 +643,7 @@
     {
        gchar *buf;
        buf = g_strdup_printf ("tag_autoset%d", i);
-       if((w = glade_xml_get_widget (prefs_window_xml, buf)))
+       if((w = gtkpod_xml_get_widget (prefs_window_xml, buf)))
        {
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                         tmpcfg->autosettags[i]);
@@ -657,23 +657,23 @@
        }
        g_free (buf);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "readtags")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "readtags")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->readtags);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->parsetags);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags_overwrite")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags_overwrite")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->parsetags_overwrite);
        gtk_widget_set_sensitive (w, tmpcfg->parsetags);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags_template")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags_template")))
     {
        if (tmpcfg->parsetags_template)
        {  /* we should copy the new path first because by setting
@@ -689,7 +689,7 @@
     for (i=0; i<TM_NUM_COLUMNS; ++i)
     {
        gchar *buf = g_strdup_printf ("col_visible%d", i);
-       if((w = glade_xml_get_widget (prefs_window_xml, buf)))
+       if((w = gtkpod_xml_get_widget (prefs_window_xml, buf)))
        {
            /* set label */
            gtk_button_set_label (GTK_BUTTON (w),
@@ -714,13 +714,13 @@
        g_free (buf);
     }
     
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_write_extended")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_write_extended")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->write_extended_info);
     }
     
-    if ((w = glade_xml_get_widget (prefs_window_xml, "notebook")))
+    if ((w = gtkpod_xml_get_widget (prefs_window_xml, "notebook")))
     {
        if (page == -1)
        {
@@ -732,12 +732,12 @@
            gtk_notebook_set_current_page (GTK_NOTEBOOK (w), page);
        }
     }
-    if ((w = glade_xml_get_widget (prefs_window_xml, "cfg_automount_ipod")))
+    if ((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_automount_ipod")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     prefs_get_automount());
     }
-    if ((w = glade_xml_get_widget (prefs_window_xml, "cfg_sort_tab_num_sb")))
+    if ((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_sort_tab_num_sb")))
     {
        gtk_spin_button_set_range (GTK_SPIN_BUTTON (w),
                                   0, SORT_TAB_MAX);
@@ -745,32 +745,37 @@
                                   prefs_get_sort_tab_num ());
        prefs_window_set_sort_tab_num (tmpcfg->sort_tab_num);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "concal_autosync")))
+    if ((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_group_compilations")))
+    {
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+                                    prefs_get_group_compilations());
+    }
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "concal_autosync")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->concal_autosync);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_tmp_disable_sort")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_tmp_disable_sort")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->tmp_disable_sort);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_startup_messages")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_startup_messages")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->startup_messages);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_mserv_use")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_mserv_use")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->mserv_use);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_mserv_report_probs")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_mserv_report_probs")))
     {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                     tmpcfg->mserv_report_probs);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "mserv_username_entry")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "mserv_username_entry")))
     {
        if (tmpcfg->mserv_username)
        {  /* we should copy the new path first because by setting
@@ -781,7 +786,7 @@
            g_free (buf);
        }
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_dir")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_dir")))
     {
         if (tmpcfg->pc_dir)
         {  /* we should copy the new path first because by setting
@@ -792,12 +797,12 @@
             g_free (buf);
         }
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_del_age")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_del_age")))
     {
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                      tmpcfg->pc_del_age);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_del_age_val")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_del_age_val")))
     {
         gtk_spin_button_set_range (GTK_SPIN_BUTTON (w),
                                    0, 255);
@@ -806,22 +811,22 @@
         if (!tmpcfg->pc_del_age) gtk_widget_set_sensitive (w, FALSE);
 
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_del_copied")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_del_copied")))
     {
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                      tmpcfg->pc_del_copied);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_auto_fetch")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_auto_fetch")))
     {
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                      tmpcfg->pc_auto_fetch);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_log")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_log")))
     {
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                      tmpcfg->pc_log);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_log_file")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_log_file")))
     {
         if (tmpcfg->pc_log_file)
         {  /* we should copy the new path first because by setting
@@ -833,17 +838,17 @@
         }
         if (!tmpcfg->pc_log) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_auto_sync")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_auto_sync")))
     {
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                      tmpcfg->pc_auto_sync);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_ipod_del_age")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_ipod_del_age")))
     {
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                      tmpcfg->pc_ipod_del_age);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_ipod_del_age_val")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_ipod_del_age_val")))
     {
         gtk_spin_button_set_range (GTK_SPIN_BUTTON (w),
                                    0, 255);
@@ -851,17 +856,17 @@
                                    prefs_get_pc_ipod_del_age_val ());
         if (!tmpcfg->pc_ipod_del_age) gtk_widget_set_sensitive (w, FALSE);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_ipod_del_played")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_ipod_del_played")))
     {
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                      tmpcfg->pc_ipod_del_played);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_ipod_inc_date")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_ipod_inc_date")))
     {
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                      tmpcfg->pc_ipod_inc_date);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "pc_change_genre")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "pc_change_genre")))
     {
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                      tmpcfg->pc_change_genre);
@@ -873,10 +878,10 @@
 /*         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), */
 /*                                      tmpcfg->unused_gboolean3); */
 /*     } */
-    if((w = glade_xml_get_widget (prefs_window_xml, "concal_label")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"prefs_label_syncexamples")))
     {
-       gchar *str = g_strdup_printf (_("Have a look at the scripts provided in 
'%s'. If you write a new script, please send it to jcsjcs at 
users.sourceforge.net for inclusion into the next release."), PACKAGE_DATA_DIR 
G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S "scripts" G_DIR_SEPARATOR_S);
-       gtk_label_set_text (GTK_LABEL (w), str);
+       gchar *str = g_markup_printf_escaped (_("<i>Have a look at the scripts 
provided in '%s'. If you write a new script, please send it to jcsjcs at 
users.sourceforge.net for inclusion into the next release.</i>"), 
PACKAGE_DATA_DIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S "scripts" 
G_DIR_SEPARATOR_S);
+       gtk_label_set_markup (GTK_LABEL (w), str);
        g_free (str);
     }
     prefs_window_show_hide_tooltips ();
@@ -938,6 +943,7 @@
        prefs_set_update_existing(tmpcfg->update_existing);
        prefs_set_block_display(tmpcfg->block_display);
        prefs_set_sort_tab_num(tmpcfg->sort_tab_num, TRUE);
+       prefs_set_group_compilations(tmpcfg->group_compilations, TRUE);
        prefs_set_sync_remove(tmpcfg->sync_remove);
        prefs_set_toolbar_style(tmpcfg->toolbar_style);
        prefs_set_display_toolbar(tmpcfg->display_toolbar);
@@ -1036,7 +1042,7 @@
     origcfg = NULL;
 
     /* save current notebook page */
-    nb = glade_xml_get_widget (prefs_window_xml, "notebook");
+    nb = gtkpod_xml_get_widget (prefs_window_xml, "notebook");
     prefs_set_last_prefs_page (gtk_notebook_get_current_page (
                                   GTK_NOTEBOOK (nb)));
 
@@ -1071,7 +1077,7 @@
     origcfg = NULL;
 
     /* save current notebook page */
-    nb = glade_xml_get_widget (prefs_window_xml, "notebook");
+    nb = gtkpod_xml_get_widget (prefs_window_xml, "notebook");
     prefs_set_last_prefs_page (gtk_notebook_get_current_page (
                                   GTK_NOTEBOOK (nb)));
 
@@ -1105,21 +1111,21 @@
     /* reset the validated path entries */
     for (i=0; i<PATH_NUM; ++i)
     {
-       if((w = glade_xml_get_widget (prefs_window_xml, path_entry_names[i])))
+       if((w = gtkpod_xml_get_widget (prefs_window_xml, path_entry_names[i])))
        {
            gtk_entry_set_text(GTK_ENTRY(w), tmpcfg->path[i]);
            /* tmpcfg gets set by the "changed" callback */
        }
     }
 
-    if((w = glade_xml_get_widget (prefs_window_xml, "mserv_username_entry")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "mserv_username_entry")))
     {
        gtk_entry_set_text(GTK_ENTRY(w), prefs_get_mserv_username ());
        /* tmpcfg gets set by the "changed" callback */
     }
 
     /* save current notebook page */
-    nb = glade_xml_get_widget (prefs_window_xml, "notebook");
+    nb = gtkpod_xml_get_widget (prefs_window_xml, "notebook");
     prefs_set_last_prefs_page (gtk_notebook_get_current_page (
                                   GTK_NOTEBOOK (nb)));
 
@@ -1167,7 +1173,7 @@
 
     g_signal_connect(pc_subs_list, "row-activated", 
G_CALLBACK(on_pc_subs_list_row_activated), NULL);
 
-    GtkWidget *pc_subs_window = glade_xml_get_widget (prefs_window_xml, 
"pc_subs_window");
+    GtkWidget *pc_subs_window = gtkpod_xml_get_widget (prefs_window_xml, 
"pc_subs_window");
 
     gtk_container_add (GTK_CONTAINER (pc_subs_window), 
GTK_WIDGET(pc_subs_list));
 
@@ -1179,10 +1185,10 @@
 {
 
     gchar *text[2];
-    GtkEditable *w = GTK_EDITABLE(glade_xml_get_widget (prefs_window_xml, 
"pc_name"));
+    GtkEditable *w = GTK_EDITABLE(gtkpod_xml_get_widget (prefs_window_xml, 
"pc_name"));
     text[0] = gtk_editable_get_chars(w, 0, -1);
     gtk_editable_delete_text(w, 0, -1);
-    w = GTK_EDITABLE(glade_xml_get_widget (prefs_window_xml, "pc_url"));
+    w = GTK_EDITABLE(gtkpod_xml_get_widget (prefs_window_xml, "pc_url"));
     text[1] = gtk_editable_get_chars(w, 0, -1);
     gtk_editable_delete_text(w, 0, -1);
 
@@ -1217,10 +1223,10 @@
     if (gtk_tree_selection_get_selected(selection, &model, &iter) || 1)
     {
         gchar *text[2];
-        GtkEditable *w = GTK_EDITABLE(glade_xml_get_widget (prefs_window_xml, 
"pc_name"));
+        GtkEditable *w = GTK_EDITABLE(gtkpod_xml_get_widget (prefs_window_xml, 
"pc_name"));
         text[0] = gtk_editable_get_chars(w, 0, -1);
         gtk_editable_delete_text(w, 0, -1);
-        w = GTK_EDITABLE(glade_xml_get_widget (prefs_window_xml, "pc_url"));
+        w = GTK_EDITABLE(gtkpod_xml_get_widget (prefs_window_xml, "pc_url"));
         text[1] = gtk_editable_get_chars(w, 0, -1);
         gtk_editable_delete_text(w, 0, -1);
 
@@ -1249,10 +1255,10 @@
                         PC_SUBS_URL, &text[1],
                         -1);
 
-    GtkWidget *w = glade_xml_get_widget (prefs_window_xml, "pc_name");
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, "pc_name");
     gtk_entry_set_text(GTK_ENTRY (w), text[0]);
 
-    w = glade_xml_get_widget (prefs_window_xml, "pc_url");
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_url");
     gtk_entry_set_text(GTK_ENTRY (w), text[1]);
 }
 /* -----------------------------------------------------------------
@@ -1311,7 +1317,7 @@
                                        gpointer         user_data)
 {
     gboolean val = gtk_toggle_button_get_active(togglebutton);
-    GtkWidget *w = glade_xml_get_widget (prefs_window_xml, 
"cfg_show_duplicates");
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_show_duplicates");
 
     tmpcfg->md5tracks = val;
     if(w)      gtk_widget_set_sensitive (w, val);
@@ -1333,9 +1339,9 @@
 
     tmpcfg->update_existing = val;
 
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_updated")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_updated")))
        gtk_widget_set_sensitive (w, val);
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_non_updated")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_non_updated")))
        gtk_widget_set_sensitive (w, val);
 }
 
@@ -1347,9 +1353,9 @@
     GtkWidget *w;
 
     tmpcfg->id3_write = val;
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_id3_write_id3v24")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_id3_write_id3v24")))
        gtk_widget_set_sensitive (w, val);
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_write_charset")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_write_charset")))
        gtk_widget_set_sensitive (w, val);
 }
 
@@ -1499,9 +1505,9 @@
     GtkWidget *w;
 
     tmpcfg->parsetags = val;
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags_overwrite")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags_overwrite")))
        gtk_widget_set_sensitive (w, val);
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags_template")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags_template")))
        gtk_widget_set_sensitive (w, val);
 }
 
@@ -1567,7 +1573,7 @@
     GtkWidget *w;
 
     tmpcfg->sync_remove = val;
-    if((w = glade_xml_get_widget (prefs_window_xml, 
"cfg_sync_remove_confirm")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_sync_remove_confirm")))
        gtk_widget_set_sensitive (w, val);
 }
 
@@ -1593,9 +1599,9 @@
                                        gpointer         user_data)
 {
     gboolean val = gtk_toggle_button_get_active (togglebutton);
-    GtkWidget *w1 = glade_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_icons");
-    GtkWidget *w2 = glade_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_text");
-    GtkWidget *w3 = glade_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_both");
+    GtkWidget *w1 = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_icons");
+    GtkWidget *w2 = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_text");
+    GtkWidget *w3 = gtkpod_xml_get_widget (prefs_window_xml, 
"cfg_toolbar_style_both");
 
     tmpcfg->display_toolbar = val;
 
@@ -1609,7 +1615,7 @@
                                        gpointer         user_data)
 {
     gboolean val = gtk_toggle_button_get_active (togglebutton);
-    GtkWidget *w = glade_xml_get_widget  (prefs_window_xml, 
"cfg_multi_edit_title");
+    GtkWidget *w = gtkpod_xml_get_widget  (prefs_window_xml, 
"cfg_multi_edit_title");
 
     tmpcfg->multi_edit = val;
     gtk_widget_set_sensitive (w, val);
@@ -1681,6 +1687,13 @@
 }
 
 void
+on_cfg_group_compilations_toggled      (GtkToggleButton *togglebutton,
+                                       gpointer         user_data)
+{
+    tmpcfg->group_compilations = gtk_toggle_button_get_active (togglebutton);
+}
+
+void
 on_cfg_toolbar_style_both_toggled      (GtkToggleButton *togglebutton,
                                        gpointer         user_data)
 {
@@ -1820,7 +1833,7 @@
     {
        gchar *buf = g_strdup_printf ("sort_ign_field_%d",
                                      sort_ign_fields[i]);
-       GtkWidget *w = glade_xml_get_widget (sort_window_xml, buf);
+       GtkWidget *w = gtkpod_xml_get_widget (sort_window_xml, buf);
        g_return_if_fail (w);
        scfg->tmp_sort_ign_fields = g_list_append (
            scfg->tmp_sort_ign_fields,
@@ -1834,7 +1847,7 @@
     scfg->tmp_sort_ign_strings = NULL;
 
     /* read new ignore strings */
-    tv = GTK_TEXT_VIEW (glade_xml_get_widget (sort_window_xml,
+    tv = GTK_TEXT_VIEW (gtkpod_xml_get_widget (sort_window_xml,
                                              "sort_ign_strings"));
     g_return_if_fail (tv);
     tb = gtk_text_view_get_buffer (tv);
@@ -1878,14 +1891,14 @@
        sort_window_xml = glade_xml_new (xml_file, "sort_window", NULL);
        glade_xml_signal_autoconnect (sort_window_xml);
 
-       sort_window = glade_xml_get_widget (sort_window_xml, "sort_window");
+       sort_window = gtkpod_xml_get_widget (sort_window_xml, "sort_window");
 
        /* label the ignore-field checkbox-labels */
        for (i=0; sort_ign_fields[i] != -1; ++i)
        {
            gchar *buf = g_strdup_printf ("sort_ign_field_%d",
                                          sort_ign_fields[i]);
-           GtkWidget *w = glade_xml_get_widget (sort_window_xml, buf);
+           GtkWidget *w = gtkpod_xml_get_widget (sort_window_xml, buf);
            g_return_if_fail (w);
            gtk_button_set_label (
                GTK_BUTTON (w),
@@ -1904,7 +1917,7 @@
            g_free (buf);
        }
        /* set the ignore strings */
-       tv = GTK_TEXT_VIEW (glade_xml_get_widget (sort_window_xml,
+       tv = GTK_TEXT_VIEW (gtkpod_xml_get_widget (sort_window_xml,
                                                  "sort_ign_strings"));
        tb = gtk_text_view_get_buffer (tv);
        if (!tb)
@@ -1966,7 +1979,7 @@
                                             gettext (get_tm_string (col)));
            }
        }
-       w = glade_xml_get_widget (sort_window_xml, "sort_combo");
+       w = gtkpod_xml_get_widget (sort_window_xml, "sort_combo");
        gtk_combo_set_popdown_strings (GTK_COMBO (w), collist);
        g_list_free (collist);
        collist = NULL;
@@ -1997,13 +2010,13 @@
        switch (tmpsortcfg->pm_sort)
        {
        case SORT_ASCENDING:
-           w = glade_xml_get_widget (sort_window_xml, "pm_ascend");
+           w = gtkpod_xml_get_widget (sort_window_xml, "pm_ascend");
            break;
        case SORT_DESCENDING:
-           w = glade_xml_get_widget (sort_window_xml, "pm_descend");
+           w = gtkpod_xml_get_widget (sort_window_xml, "pm_descend");
            break;
        case SORT_NONE:
-           w = glade_xml_get_widget (sort_window_xml, "pm_none");
+           w = gtkpod_xml_get_widget (sort_window_xml, "pm_none");
            break;
        }
        if (w)
@@ -2013,13 +2026,13 @@
        switch (tmpsortcfg->st_sort)
        {
        case SORT_ASCENDING:
-           w = glade_xml_get_widget (sort_window_xml, "st_ascend");
+           w = gtkpod_xml_get_widget (sort_window_xml, "st_ascend");
            break;
        case SORT_DESCENDING:
-           w = glade_xml_get_widget (sort_window_xml, "st_descend");
+           w = gtkpod_xml_get_widget (sort_window_xml, "st_descend");
            break;
        case SORT_NONE:
-           w = glade_xml_get_widget (sort_window_xml, "st_none");
+           w = gtkpod_xml_get_widget (sort_window_xml, "st_none");
            break;
        }
        if (w)
@@ -2028,36 +2041,36 @@
        switch (tmpsortcfg->tm_sort)
        {
        case SORT_ASCENDING:
-           w = glade_xml_get_widget (sort_window_xml, "tm_ascend");
+           w = gtkpod_xml_get_widget (sort_window_xml, "tm_ascend");
            break;
        case SORT_DESCENDING:
-           w = glade_xml_get_widget (sort_window_xml, "tm_descend");
+           w = gtkpod_xml_get_widget (sort_window_xml, "tm_descend");
            break;
        case SORT_NONE:
-           w = glade_xml_get_widget (sort_window_xml, "tm_none");
+           w = gtkpod_xml_get_widget (sort_window_xml, "tm_none");
            break;
        }
        if (w)
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
 
-       w = glade_xml_get_widget (sort_window_xml, "pm_autostore");
+       w = gtkpod_xml_get_widget (sort_window_xml, "pm_autostore");
        if (w)
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                         tmpsortcfg->pm_autostore);
 
-       w = glade_xml_get_widget (sort_window_xml, "tm_autostore");
+       w = gtkpod_xml_get_widget (sort_window_xml, "tm_autostore");
        if (w)
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                         tmpsortcfg->tm_autostore);
 
-       if((w = glade_xml_get_widget (sort_window_xml, "cfg_case_sensitive")))
+       if((w = gtkpod_xml_get_widget (sort_window_xml, "cfg_case_sensitive")))
        {
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                         tmpsortcfg->case_sensitive);
        }
        /* set standard entry in combo */
        str = gettext (get_tm_string (prefs_get_tm_sortcol ()));
-       w = glade_xml_get_widget (sort_window_xml, "sort_combo");
+       w = gtkpod_xml_get_widget (sort_window_xml, "sort_combo");
        gtk_entry_set_text (GTK_ENTRY (GTK_COMBO (w)->entry), str);
     }
 }
@@ -2086,7 +2099,7 @@
     {
        GtkTooltips *tt;
        GtkTooltipsData *tooltips_data;
-       tooltips_data = gtk_tooltips_data_get (glade_xml_get_widget 
(sort_window_xml, "sort_combo-entry"));
+       tooltips_data = gtk_tooltips_data_get (gtkpod_xml_get_widget 
(sort_window_xml, "sort_combo-entry"));
        tt = tooltips_data->tooltips;
        if (tt)
        {
@@ -2108,7 +2121,7 @@
     GtkWidget *w;
     gint i = -1;
 
-    w = glade_xml_get_widget (sort_window_xml, "sort_combo");
+    w = gtkpod_xml_get_widget (sort_window_xml, "sort_combo");
     str = gtk_entry_get_text (GTK_ENTRY (GTK_COMBO (w)->entry));
     /* Check which string is selected in the combo */
     if (str)
@@ -2348,7 +2361,7 @@
                                         gpointer         user_data)
 {
     gboolean val = gtk_toggle_button_get_active (togglebutton);
-    GtkWidget *w = glade_xml_get_widget (prefs_window_xml, "pc_del_age_val");
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, "pc_del_age_val");
 
     tmpcfg->pc_del_age = val;
     if(w)       gtk_widget_set_sensitive (w, val);
@@ -2380,7 +2393,7 @@
                                         gpointer         user_data)
 {
     gboolean val = gtk_toggle_button_get_active (togglebutton);
-    GtkWidget *w = glade_xml_get_widget (prefs_window_xml, "pc_log_file");
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, "pc_log_file");
 
     tmpcfg->pc_log = val;
     if(w)       gtk_widget_set_sensitive (w, val);
@@ -2406,7 +2419,7 @@
                                         gpointer         user_data)
 {
     gboolean val = gtk_toggle_button_get_active (togglebutton);
-    GtkWidget *w = glade_xml_get_widget (prefs_window_xml, 
"pc_ipod_del_age_val");
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, 
"pc_ipod_del_age_val");
 
     tmpcfg->pc_ipod_del_age = val;
     if(w)       gtk_widget_set_sensitive (w, val);



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to