commit fe4e2a57110d8dbcfebb7d3bf226e68e7bde74e4
Author: phantomjinx <p.g.richard...@phantomjinx.co.uk>
Date:   Mon Feb 21 18:56:54 2011 +0000

    Migrate gtkpod.glade to gtkbuilder
    
    * gtkpod.glade renamed to core-gtkpod.xml
    
    * Removes all remaining active uses of GladeXML from the codebase including
      GladeXML functions

 .gitignore                                         |    1 -
 data/glade/Makefile.am                             |    2 +-
 data/glade/{gtkpod.glade => core-gtkpod.xml}       |  134 +++++++-------
 libgtkpod/file_convert.c                           |   16 +-
 libgtkpod/file_itunesdb.c                          |    3 -
 libgtkpod/gtkpod_app_iface.c                       |   10 -
 libgtkpod/gtkpod_app_iface.h                       |    6 +-
 libgtkpod/misc.c                                   |  194 +++-----------------
 libgtkpod/misc.h                                   |   33 +---
 libgtkpod/misc_conversion.c                        |    2 +-
 plugins/cover_display/display_coverart.c           |    2 +-
 plugins/coverweb/coverweb_preferences.c            |    1 -
 plugins/exporter/file_export.c                     |   32 ++--
 plugins/info_display/info.c                        |    1 -
 .../sorttab_display/sorttab_display_preferences.c  |    1 -
 po/POTFILES.in                                     |    2 +-
 src/anjuta-app.c                                   |   47 +++---
 src/gtkpod.c                                       |   10 -
 18 files changed, 159 insertions(+), 338 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 0e929e8..0a2e141 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,7 +79,6 @@ version
 /data/glade/details_editor.xml
 /data/glade/coverweb.xml
 /data/glade/exporter.xml
-/data/glade/info_display.glade
 /data/glade/sorttab_display.xml
 /data/glade/track_display.xml
 /data/glade/repository_editor.xml
diff --git a/data/glade/Makefile.am b/data/glade/Makefile.am
index 01ecc97..9bcd8d4 100644
--- a/data/glade/Makefile.am
+++ b/data/glade/Makefile.am
@@ -1,6 +1,6 @@
 appdatadir = $(pkgdatadir)/data/glade
 appdata_DATA =                         \
-       gtkpod.glade
+       core-gtkpod.xml
 
 EXTRA_DIST =                           \
        $(appdata_DATA)
diff --git a/data/glade/gtkpod.glade b/data/glade/core-gtkpod.xml
similarity index 85%
rename from data/glade/gtkpod.glade
rename to data/glade/core-gtkpod.xml
index 337569f..9e006be 100644
--- a/data/glade/gtkpod.glade
+++ b/data/glade/core-gtkpod.xml
@@ -1,30 +1,30 @@
 <?xml version="1.0"?>
-<glade-interface>
-  <!-- interface-requires gtk+ 2.16 -->
+<interface>
+  <requires lib="gtk+" version="2.16"/>
   <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="confirm_dialog">
+  <object class="GtkDialog" id="confirm_dialog">
     <property name="border_width">6</property>
     <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="orientation">vertical</property>
         <property name="spacing">1</property>
         <child>
-          <widget class="GtkHBox" id="hbox169">
+          <object class="GtkHBox" id="hbox169">
             <property name="visible">True</property>
             <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
             <property name="border_width">6</property>
             <property name="spacing">12</property>
             <child>
-              <widget class="GtkImage" id="image18">
+              <object class="GtkImage" id="image18">
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
                 <property name="yalign">0</property>
                 <property name="stock">gtk-dialog-warning</property>
                 <property name="icon-size">6</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
@@ -32,12 +32,12 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox6">
+              <object class="GtkVBox" id="vbox6">
                 <property name="visible">True</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkLabel" id="label">
+                  <object class="GtkLabel" id="label">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="xalign">0</property>
@@ -45,7 +45,7 @@
                     <property name="label">label</property>
                     <property name="wrap">True</property>
                     <property name="selectable">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
@@ -53,33 +53,33 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkScrolledWindow" id="scroller">
+                  <object class="GtkScrolledWindow" id="scroller">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="hscrollbar_policy">never</property>
                     <property name="vscrollbar_policy">automatic</property>
                     <property name="shadow_type">in</property>
                     <child>
-                      <widget class="GtkTreeView" id="tree">
+                      <object class="GtkTreeView" id="tree">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
                         <property name="headers_visible">False</property>
                         <property name="rules_hint">True</property>
                         <signal name="size_allocate" 
handler="on_confirm_tree_size_allocate"/>
-                      </widget>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkHBox" id="option_hbox">
+                  <object class="GtkHBox" id="option_hbox">
                     <property name="visible">True</property>
                     <property name="homogeneous">True</property>
                     <child>
-                      <widget class="GtkVBox" id="option_vbox">
+                      <object class="GtkVBox" id="option_vbox">
                         <property name="visible">True</property>
                         <property name="orientation">vertical</property>
                         <child>
@@ -89,14 +89,14 @@
                           <placeholder/>
                         </child>
                         <child>
-                          <widget class="GtkCheckButton" id="never_again">
+                          <object class="GtkCheckButton" id="never_again">
                             <property name="label" translatable="yes">Never 
show this dialogue again</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
                             <property name="use_underline">True</property>
                             <property name="draw_indicator">True</property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -104,13 +104,13 @@
                             <property name="position">2</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
@@ -120,30 +120,29 @@
                 <child>
                   <placeholder/>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="position">1</property>
           </packing>
         </child>
         <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="cancel">
+              <object class="GtkButton" id="cancel">
                 <property name="label">gtk-cancel</property>
-                <property name="response_id">-6</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
@@ -151,15 +150,14 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="apply">
+              <object class="GtkButton" id="apply">
                 <property name="label">gtk-apply</property>
-                <property name="response_id">-10</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
@@ -167,32 +165,36 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="ok">
+              <object class="GtkButton" id="ok">
                 <property name="label">gtk-ok</property>
-                <property name="response_id">-5</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
                 <property name="position">2</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="pack_type">end</property>
             <property name="position">1</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-  <widget class="GtkDialog" id="input_box">
+    <action-widgets>
+      <action-widget response="-6">cancel</action-widget>
+      <action-widget response="-10">apply</action-widget>
+      <action-widget response="-5">ok</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="input_box">
     <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
     <property name="border_width">5</property>
     <property name="resizable">False</property>
@@ -202,25 +204,25 @@
     <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox16">
+      <object class="GtkVBox" id="dialog-vbox16">
         <property name="visible">True</property>
         <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child>
-          <widget class="GtkHBox" id="hbox184">
+          <object class="GtkHBox" id="hbox184">
             <property name="visible">True</property>
             <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
             <property name="border_width">6</property>
             <property name="spacing">12</property>
             <child>
-              <widget class="GtkImage" id="image16">
+              <object class="GtkImage" id="image16">
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
                 <property name="yalign">0</property>
                 <property name="stock">gtk-dialog-question</property>
                 <property name="icon-size">6</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
@@ -228,13 +230,13 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox42">
+              <object class="GtkVBox" id="vbox42">
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkLabel" id="input_box_label">
+                  <object class="GtkLabel" id="input_box_label">
                     <property name="visible">True</property>
                     <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
                     <property name="xalign">0</property>
@@ -243,7 +245,7 @@
 The quick brown fox jumps over the lazy dog.</property>
                     <property name="use_markup">True</property>
                     <property name="wrap">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
@@ -251,22 +253,22 @@ The quick brown fox jumps over the lazy dog.</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkAlignment" id="alignment12">
+                  <object class="GtkAlignment" id="alignment12">
                     <property name="visible">True</property>
                     <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <widget class="GtkVBox" id="vbox45">
+                      <object class="GtkVBox" id="vbox45">
                         <property name="visible">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
                         <property name="orientation">vertical</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkEntry" id="input_box_entry">
+                          <object class="GtkEntry" id="input_box_entry">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -274,71 +276,71 @@ The quick brown fox jumps over the lazy dog.</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkCheckButton" 
id="input_box_checkbox">
+                          <object class="GtkCheckButton" 
id="input_box_checkbox">
                             <property name="label">checkbutton</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
                             <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
                             <property name="use_underline">True</property>
                             <property name="draw_indicator">True</property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="position">1</property>
           </packing>
         </child>
         <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area16">
+          <object class="GtkHButtonBox" id="dialog-action_area16">
             <property name="visible">True</property>
             <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
             <property name="layout_style">end</property>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-  <widget class="GtkWindow" id="conversion_log">
+  </object>
+  <object class="GtkWindow" id="conversion_log">
     <property name="border_width">4</property>
     <property name="title" translatable="yes">Conversion Progress 
Display</property>
     <child>
-      <widget class="GtkVBox" id="conversion_vbox">
+      <object class="GtkVBox" id="conversion_vbox">
         <property name="visible">True</property>
         <property name="orientation">vertical</property>
         <property name="spacing">4</property>
         <child>
-          <widget class="GtkLabel" id="label463">
+          <object class="GtkLabel" id="label463">
             <property name="visible">True</property>
             <property name="xalign">0</property>
             <property name="label" translatable="yes">The output of the 
background conversion scripts is copied below. Each page of the notebook 
corresponds to one background thread.</property>
             <property name="use_markup">True</property>
             <property name="justify">center</property>
             <property name="wrap">True</property>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
@@ -350,9 +352,9 @@ The quick brown fox jumps over the lazy dog.</property>
           <placeholder/>
         </child>
         <child>
-          <widget class="GtkStatusbar" id="conversion_statusbar">
+          <object class="GtkStatusbar" id="conversion_statusbar">
             <property name="visible">True</property>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
@@ -360,7 +362,7 @@ The quick brown fox jumps over the lazy dog.</property>
             <property name="position">2</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+  </object>
+</interface>
diff --git a/libgtkpod/file_convert.c b/libgtkpod/file_convert.c
index adf9662..980f080 100644
--- a/libgtkpod/file_convert.c
+++ b/libgtkpod/file_convert.c
@@ -37,6 +37,7 @@
 #include "misc.h"
 #include "misc_track.h"
 #include "prefs.h"
+#include "directories.h"
 #include <errno.h>
 #include <glib/gstdio.h>
 #include <signal.h>
@@ -258,7 +259,7 @@ static Conversion *conversion = NULL;
 
 /* Set up conversion infrastructure. Must only be called once. */
 void file_convert_init() {
-    GladeXML *log_xml;
+    GtkBuilder *log_builder;
     GtkWidget *vbox;
 
     if (conversion != NULL)
@@ -287,20 +288,23 @@ void file_convert_init() {
     conversion->dirsize = CONV_DIRSIZE_INVALID;
 
     /* setup log window */
-    log_xml = gtkpod_xml_new(gtkpod_get_glade_xml(), "conversion_log");
-    conversion->log_window = gtkpod_xml_get_widget(log_xml, "conversion_log");
+    gchar *glade_path = g_build_filename(get_glade_dir(), CORE_GTKPOD_XML, 
NULL);
+    log_builder = gtkpod_builder_xml_new(glade_path);
+    g_free(glade_path);
+
+    conversion->log_window = gtkpod_builder_xml_get_widget(log_builder, 
"conversion_log");
     gtk_window_set_default_size(GTK_WINDOW (conversion->log_window), 
prefs_get_int(FILE_CONVERT_LOG_SIZE_X), prefs_get_int(FILE_CONVERT_LOG_SIZE_Y));
     g_signal_connect_swapped (GTK_OBJECT (conversion->log_window), 
"delete-event",
             G_CALLBACK (conversion_log_window_delete),
             conversion);
-    vbox = gtkpod_xml_get_widget(log_xml, "conversion_vbox");
+    vbox = gtkpod_builder_xml_get_widget(log_builder, "conversion_vbox");
     conversion->notebook = gtk_notebook_new();
     gtk_widget_show(conversion->notebook);
     gtk_box_pack_start(GTK_BOX (vbox), conversion->notebook, TRUE, TRUE, 0);
     conversion->log_window_posx = G_MININT;
     conversion->log_window_posy = G_MININT;
     conversion->log_statusbar = GTK_STATUSBAR (
-            gtkpod_xml_get_widget (log_xml,
+            gtkpod_builder_xml_get_widget (log_builder,
                     "conversion_statusbar"));
     conversion->log_context_id
             = gtk_statusbar_get_context_id(conversion->log_statusbar, 
_("Summary status of conversion processes"));
@@ -312,7 +316,7 @@ void file_convert_init() {
     /* start timeout function for the scheduler */
     conversion->timeout_id = g_timeout_add(100, /* every 100 ms */
     conversion_scheduler, conversion);
-    g_object_unref(G_OBJECT (log_xml));
+    g_object_unref(G_OBJECT (log_builder));
 }
 
 /* Shut down conversion infrastructure */
diff --git a/libgtkpod/file_itunesdb.c b/libgtkpod/file_itunesdb.c
index 0d0d41d..47ac03c 100644
--- a/libgtkpod/file_itunesdb.c
+++ b/libgtkpod/file_itunesdb.c
@@ -1797,9 +1797,6 @@ static gboolean gp_write_itdb(iTunesDB *itdb) {
 }
 
 /* used to handle export of database */
-/* ATTENTION: directly used as callback in gtkpod.glade -- if you
- change the arguments of this function make sure you define a
- separate callback for gtkpod.glade */
 void handle_export(void) {
     GList *gl;
     gboolean success = TRUE;
diff --git a/libgtkpod/gtkpod_app_iface.c b/libgtkpod/gtkpod_app_iface.c
index c97dde6..2d1b2b6 100644
--- a/libgtkpod/gtkpod_app_iface.c
+++ b/libgtkpod/gtkpod_app_iface.c
@@ -135,16 +135,6 @@ void CONF_NULL_HANDLER(gpointer d1, gpointer d2) {
     return;
 }
 
-void gtkpod_app_set_glade_xml(gchar *xml_file) {
-    g_return_if_fail (GTKPOD_IS_APP(gtkpod_app));
-    GTKPOD_APP_GET_INTERFACE (gtkpod_app)->xml_file = g_strdup(xml_file);
-}
-
-gchar* gtkpod_get_glade_xml() {
-    g_return_val_if_fail (GTKPOD_IS_APP(gtkpod_app), NULL);
-    return GTKPOD_APP_GET_INTERFACE (gtkpod_app)->xml_file;
-}
-
 /**
  * gtkpod_shutdown
  *
diff --git a/libgtkpod/gtkpod_app_iface.h b/libgtkpod/gtkpod_app_iface.h
index 64b5e98..680b680 100644
--- a/libgtkpod/gtkpod_app_iface.h
+++ b/libgtkpod/gtkpod_app_iface.h
@@ -44,6 +44,9 @@
 #include "track_command_iface.h"
 #include "filetype_iface.h"
 
+/* The core gtk builder file */
+#define CORE_GTKPOD_XML "core-gtkpod.xml"
+
 #define GTKPOD_APP_ICON_STOCK_ID "gtkpod"
 
 #define GTKPOD_APP_TYPE                (gtkpod_app_get_type ())
@@ -162,9 +165,6 @@ GType gtkpod_app_get_type(void);
 
 void gp_init(int argc, char *argv[]);
 
-void gtkpod_app_set_glade_xml(gchar *xml_file);
-gchar* gtkpod_get_glade_xml();
-
 gboolean ok_to_close_gtkpod();
 gint gtkpod_cleanup_quit();
 
diff --git a/libgtkpod/misc.c b/libgtkpod/misc.c
index a1248aa..6da8a0d 100644
--- a/libgtkpod/misc.c
+++ b/libgtkpod/misc.c
@@ -572,11 +572,11 @@ gunichar2 *utf16_strdup(gunichar2 *utf16) {
  (integer value). If no parameter is set in the prefs, use
  @dflt. The corresponding widget names are stored in an array
  @widgets and are member of @win */
-void option_set_radio_button(GladeXML *win_xml, const gchar *prefs_string, 
const gchar **widgets, gint dflt) {
+void option_set_radio_button(GtkBuilder *builder, const gchar *prefs_string, 
const gchar **widgets, gint dflt) {
     gint wnum, num = 0;
     GtkWidget *w;
 
-    g_return_if_fail (win_xml && prefs_string && widgets);
+    g_return_if_fail (builder && prefs_string && widgets);
 
     /* number of available widgets */
     num = 0;
@@ -592,66 +592,20 @@ void option_set_radio_button(GladeXML *win_xml, const 
gchar *prefs_string, const
         prefs_set_int(prefs_string, 0);
         wnum = 0;
     }
-    w = gtkpod_xml_get_widget(win_xml, widgets[wnum]);
-    if (w)
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (w), TRUE);
-}
-
-void option_set_radio_button_gb(GtkBuilder *win_xml, const gchar 
*prefs_string, const gchar **widgets, gint dflt) {
-    gint wnum, num = 0;
-    GtkWidget *w;
-
-    g_return_if_fail (win_xml && prefs_string && widgets);
-
-    /* number of available widgets */
-    num = 0;
-    while (widgets[num])
-        ++num;
-
-    if (!prefs_get_int_value(prefs_string, &wnum))
-        wnum = dflt;
-
-    if ((wnum >= num) || (wnum < 0)) {
-        fprintf(stderr, "Programming error: wnum > num (%d,%d,%s)\n", wnum, 
num, prefs_string);
-        /* set to reasonable default value */
-        prefs_set_int(prefs_string, 0);
-        wnum = 0;
-    }
-    w = GTK_WIDGET(gtk_builder_get_object(win_xml, widgets[wnum]));
+    w = GTK_WIDGET(gtk_builder_get_object(builder, widgets[wnum]));
     if (w)
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (w), TRUE);
 }
 
 /* Retrieve which toggle button was activated and store the state in
  * the prefs */
-gint option_get_radio_button(GladeXML *win_xml, const gchar *prefs_string, 
const gchar **widgets) {
-    gint i;
-
-    g_return_val_if_fail (win_xml && prefs_string && widgets, 0);
-
-    for (i = 0; widgets[i]; ++i) {
-        GtkWidget *w = gtkpod_xml_get_widget(win_xml, widgets[i]);
-        if (w) {
-            if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (w)))
-                break;
-        }
-    }
-    if (!widgets[i]) {
-        fprintf(stderr, "Programming error: no active toggle button (%s)", 
prefs_string);
-        /* set reasonable default */
-        i = 0;
-    }
-    prefs_set_int(prefs_string, i);
-    return i;
-}
-
-gint option_get_radio_button_gb(GtkBuilder *win_xml, const gchar 
*prefs_string, const gchar **widgets) {
+gint option_get_radio_button(GtkBuilder *builder, const gchar *prefs_string, 
const gchar **widgets) {
     gint i;
 
-    g_return_val_if_fail (win_xml && prefs_string && widgets, 0);
+    g_return_val_if_fail (builder && prefs_string && widgets, 0);
 
     for (i = 0; widgets[i]; ++i) {
-        GtkWidget *w = GTK_WIDGET(gtk_builder_get_object(win_xml, widgets[i]));
+        GtkWidget *w = GTK_WIDGET(gtk_builder_get_object(builder, widgets[i]));
         if (w) {
             if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (w)))
                 break;
@@ -728,37 +682,18 @@ void option_get_filename(GtkFileChooser *fc, const gchar 
*prefs_string, gchar **
 
 /* Set the string entry @name to the prefs value stored in @name or
  to @default if @name is not yet defined. */
-void option_set_string(GladeXML *win_xml, const gchar *name, const gchar 
*dflt) {
-    gchar *string;
-    GtkWidget *entry;
-
-    g_return_if_fail (win_xml && name && dflt);
-
-    prefs_get_string_value(name, &string);
-
-    if (!string)
-        string = g_strdup(dflt);
-
-    entry = gtkpod_xml_get_widget(win_xml, name);
-
-    if (entry)
-        gtk_entry_set_text(GTK_ENTRY(entry), string);
-
-    g_free(string);
-}
-
-void option_set_string_gb(GtkBuilder *win_xml, const gchar *name, const gchar 
*dflt) {
+void option_set_string(GtkBuilder *builder, const gchar *name, const gchar 
*dflt) {
     gchar *string;
     GtkWidget *entry;
 
-    g_return_if_fail (win_xml && name && dflt);
+    g_return_if_fail (builder && name && dflt);
 
     prefs_get_string_value(name, &string);
 
     if (!string)
         string = g_strdup(dflt);
 
-    entry = GTK_WIDGET(gtk_builder_get_object(win_xml, name));
+    entry = GTK_WIDGET(gtk_builder_get_object(builder, name));
 
     if (entry)
         gtk_entry_set_text(GTK_ENTRY(entry), string);
@@ -770,27 +705,12 @@ void option_set_string_gb(GtkBuilder *win_xml, const 
gchar *name, const gchar *d
  * to the prefs (@name) */
 /* If @value is != NULL, a copy of the string is placed into
  @value. It has to be g_free()d after use */
-void option_get_string(GladeXML *win_xml, const gchar *name, gchar **value) {
-    GtkWidget *entry;
-
-    g_return_if_fail (win_xml && name);
-
-    entry = gtkpod_xml_get_widget(win_xml, name);
-
-    if (entry) {
-        const gchar *str = gtk_entry_get_text(GTK_ENTRY (entry));
-        prefs_set_string(name, str);
-        if (value)
-            *value = g_strdup(str);
-    }
-}
-
-void option_get_string_gb(GtkBuilder *win_xml, const gchar *name, gchar 
**value) {
+void option_get_string(GtkBuilder *builder, const gchar *name, gchar **value) {
     GtkWidget *entry;
 
-    g_return_if_fail (win_xml && name);
+    g_return_if_fail (builder && name);
 
-    entry = GTK_WIDGET(gtk_builder_get_object(win_xml, name));
+    entry = GTK_WIDGET(gtk_builder_get_object(builder, name));
 
     if (entry) {
         const gchar *str = gtk_entry_get_text(GTK_ENTRY (entry));
@@ -802,31 +722,16 @@ void option_get_string_gb(GtkBuilder *win_xml, const 
gchar *name, gchar **value)
 
 /* Set the state of toggle button @name to the prefs value stored in
  @name or to @default if @name is not yet defined. */
-void option_set_toggle_button(GladeXML *win_xml, const gchar *name, gboolean 
dflt) {
+void option_set_toggle_button(GtkBuilder *builder, const gchar *name, gboolean 
dflt) {
     gboolean active;
     GtkWidget *button;
 
-    g_return_if_fail (win_xml && name);
+    g_return_if_fail (builder && name);
 
     if (!prefs_get_int_value(name, &active))
         active = dflt;
 
-    button = gtkpod_xml_get_widget(win_xml, name);
-
-    if (button)
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active);
-}
-
-void option_set_toggle_button_gb(GtkBuilder *win_xml, const gchar *name, 
gboolean dflt) {
-    gboolean active;
-    GtkWidget *button;
-
-    g_return_if_fail (win_xml && name);
-
-    if (!prefs_get_int_value(name, &active))
-        active = dflt;
-
-    button = GTK_WIDGET(gtk_builder_get_object(win_xml, name));
+    button = GTK_WIDGET(gtk_builder_get_object(builder, name));
 
     if (button)
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active);
@@ -835,28 +740,13 @@ void option_set_toggle_button_gb(GtkBuilder *win_xml, 
const gchar *name, gboolea
 /* Retrieve the current state of the toggle button @name and write it
  * to the prefs (@name) */
 /* Return value: the current state */
-gboolean option_get_toggle_button(GladeXML *win_xml, const gchar *name) {
-    gboolean active = FALSE;
-    GtkWidget *button;
-
-    g_return_val_if_fail (win_xml && name, active);
-
-    button = gtkpod_xml_get_widget(win_xml, name);
-
-    if (button) {
-        active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
-        prefs_set_int(name, active);
-    }
-    return active;
-}
-
-gboolean option_get_toggle_button_gb(GtkBuilder *win_xml, const gchar *name) {
+gboolean option_get_toggle_button(GtkBuilder *builder, const gchar *name) {
     gboolean active = FALSE;
     GtkWidget *button;
 
-    g_return_val_if_fail (win_xml && name, active);
+    g_return_val_if_fail (builder && name, active);
 
-    button = GTK_WIDGET(gtk_builder_get_object(win_xml, name));
+    button = GTK_WIDGET(gtk_builder_get_object(builder, name));
 
     if (button) {
         active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
@@ -1309,38 +1199,6 @@ gint64 get_size_of_directory(const gchar *dir) {
     return tsize;
 }
 
-/**
- * Wrapper for glade_xml_new() for cygwin compatibility issues
- *
- **/
-GladeXML *gtkpod_xml_new(const gchar *gtkpod_xml_file, const gchar *name) {
-    GladeXML *xml;
-#ifdef ENABLE_NLS
-    xml = glade_xml_new(gtkpod_xml_file, name, GETTEXT_PACKAGE);
-#else
-    xml = glade_xml_new (gtkpod_xml_file, name, NULL);
-#endif
-
-    if (!xml)
-        fprintf(stderr, "*** Programming error: Cannot create glade XML: 
'%s'\n", name);
-
-    return xml;
-}
-
-/**
- * Wrapper for gtkpod_xml_get_widget() giving out a warning if widget
- * could not be found.
- *
- **/
-GtkWidget *gtkpod_xml_get_widget(GladeXML *xml, const gchar *name) {
-    GtkWidget *w = glade_xml_get_widget(xml, name);
-
-    if (!w)
-        fprintf(stderr, "*** Programming error: Widget not found: '%s'\n", 
name);
-
-    return w;
-}
-
 GtkBuilder *gtkpod_builder_xml_new(const gchar *filepath) {
     GtkBuilder *builder;
     GError *error = NULL;
@@ -1762,11 +1620,15 @@ gchar *get_user_string(gchar *title, gchar *message, 
gchar *dflt, gchar *opt_msg
  *                      was cancelled.
  */
 gchar *get_user_string_with_parent(GtkWindow *parent, gchar *title, gchar 
*message, gchar *dflt, gchar *opt_msg, gboolean *opt_state, const gchar 
*accept_button) {
-    GladeXML *xml = gtkpod_xml_new(gtkpod_get_glade_xml(), "input_box");
-    GtkWidget *dialog = gtkpod_xml_get_widget(xml, "input_box");
-    GtkWidget *label = gtkpod_xml_get_widget(xml, "input_box_label");
-    GtkWidget *entry = gtkpod_xml_get_widget(xml, "input_box_entry");
-    GtkWidget *checkb = gtkpod_xml_get_widget(xml, "input_box_checkbox");
+    GtkBuilder *builder;
+    gchar *glade_path = g_build_filename(get_glade_dir(), CORE_GTKPOD_XML, 
NULL);
+    builder = gtkpod_builder_xml_new(glade_path);
+    g_free(glade_path);
+
+    GtkWidget *dialog = gtkpod_builder_xml_get_widget(builder, "input_box");
+    GtkWidget *label = gtkpod_builder_xml_get_widget(builder, 
"input_box_label");
+    GtkWidget *entry = gtkpod_builder_xml_get_widget(builder, 
"input_box_entry");
+    GtkWidget *checkb = gtkpod_builder_xml_get_widget(builder, 
"input_box_checkbox");
     gint response;
     gchar *result = NULL;
     gchar *temp;
@@ -1806,7 +1668,7 @@ gchar *get_user_string_with_parent(GtkWindow *parent, 
gchar *title, gchar *messa
     }
 
     gtk_widget_destroy(dialog);
-    g_object_unref(xml);
+    g_object_unref(builder);
     return result;
 }
 
diff --git a/libgtkpod/misc.h b/libgtkpod/misc.h
index afb59a7..4874976 100644
--- a/libgtkpod/misc.h
+++ b/libgtkpod/misc.h
@@ -155,18 +155,11 @@ guint32 replaygain_to_soundcheck (gdouble gain);
 gdouble soundcheck_to_replaygain (guint32 soundcheck);
 
 
-void option_set_radio_button (GladeXML *win_xml,
+void option_set_radio_button (GtkBuilder *builder,
                              const gchar *prefs_string,
                              const gchar **widgets,
                              gint dflt);
-gint option_get_radio_button (GladeXML *win_xml,
-                             const gchar *prefs_string,
-                             const gchar **widgets);
-void option_set_radio_button_gb (GtkBuilder *win_xml,
-                             const gchar *prefs_string,
-                             const gchar **widgets,
-                             gint dflt);
-gint option_get_radio_button_gb (GtkBuilder *win_xml,
+gint option_get_radio_button (GtkBuilder *builder,
                              const gchar *prefs_string,
                              const gchar **widgets);
 void option_set_folder (GtkFileChooser *fc,
@@ -179,27 +172,16 @@ void option_set_filename (GtkFileChooser *fc,
 void option_get_filename (GtkFileChooser *fc,
                          const gchar *prefs_string,
                          gchar **value);
-void option_set_string (GladeXML *win_xml,
+void option_set_string (GtkBuilder *builder,
                        const gchar *name,
                        const gchar *dflt);
-void option_get_string (GladeXML *win_xml,
+void option_get_string (GtkBuilder *builder,
                        const gchar *name,
                        gchar **value);
-void option_set_string_gb (GtkBuilder *win_xml,
-                       const gchar *name,
-                       const gchar *dflt);
-void option_get_string_gb (GtkBuilder *win_xml,
-                       const gchar *name,
-                       gchar **value);
-void option_set_toggle_button (GladeXML *win_xml,
-                              const gchar *name,
-                              gboolean dflt);
-gboolean option_get_toggle_button (GladeXML *win_xml,
-                                  const gchar *name);
-void option_set_toggle_button_gb (GtkBuilder *win_xml,
+void option_set_toggle_button (GtkBuilder *builder,
                               const gchar *name,
                               gboolean dflt);
-gboolean option_get_toggle_button_gb (GtkBuilder *win_xml,
+gboolean option_get_toggle_button (GtkBuilder *builder,
                                   const gchar *name);
 
 gchar *get_string_from_template (Track *track,
@@ -212,9 +194,6 @@ gchar *get_string_from_full_template (Track *track,
 
 gchar *which (const gchar *exe);
 
-GladeXML *gtkpod_xml_new (const gchar *gtkpod_xml_file, const gchar *name);
-GtkWidget *gtkpod_xml_get_widget (GladeXML *xml, const gchar *name);
-
 GtkBuilder *gtkpod_builder_xml_new(const gchar *filepath);
 GtkWidget *gtkpod_builder_xml_get_widget(GtkBuilder *builder, const gchar* 
name);
 
diff --git a/libgtkpod/misc_conversion.c b/libgtkpod/misc_conversion.c
index b05188d..a73927e 100644
--- a/libgtkpod/misc_conversion.c
+++ b/libgtkpod/misc_conversion.c
@@ -54,7 +54,7 @@
  * etc.). ign_field is named after T_*. Since the labels to the
  * buttons are set in prefs_window.c when creating the window, you
  * only need to name the buttons in the intended order using
- * glade-2. There is no need to label them. */
+ * glade-3. There is no need to label them. */
 /* Strings associated to the column headers */
 static const gchar *t_strings[] = {
     N_("All"),               /*  0 */
diff --git a/plugins/cover_display/display_coverart.c 
b/plugins/cover_display/display_coverart.c
index fe9c14f..3bf17a3 100644
--- a/plugins/cover_display/display_coverart.c
+++ b/plugins/cover_display/display_coverart.c
@@ -1764,7 +1764,7 @@ void destroy_coverart_display() {
     g_signal_handler_disconnect(cdwidget->contentpanel, 
contentpanel_signal_id);
     //    g_signal_handler_disconnect(gtkpod_window, window_signal_id);
 
-    /* Components not freed as they are part of the glade xml file */
+    /* Components not freed as they are part of the gtkbuilder */
     cdwidget->leftbutton = NULL;
     cdwidget->rightbutton = NULL;
     cdwidget->cdslider = NULL;
diff --git a/plugins/coverweb/coverweb_preferences.c 
b/plugins/coverweb/coverweb_preferences.c
index dcfe389..5552427 100644
--- a/plugins/coverweb/coverweb_preferences.c
+++ b/plugins/coverweb/coverweb_preferences.c
@@ -27,7 +27,6 @@
  */
 
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 #include "libgtkpod/misc.h"
 #include "libgtkpod/prefs.h"
 #include "libgtkpod/gtkpod_app_iface.h"
diff --git a/plugins/exporter/file_export.c b/plugins/exporter/file_export.c
index 64d55bd..7355424 100644
--- a/plugins/exporter/file_export.c
+++ b/plugins/exporter/file_export.c
@@ -52,7 +52,7 @@
 struct fcd {
     GList *tracks; /* tracks to be written */
     GList **filenames; /* pointer to GList to append the filenames used */
-    GtkBuilder *win_xml; /* Glade xml reference */
+    GtkBuilder *builder; /* GtkBuilder reference */
     Track *track; /* current track to export */
     gchar *filename; /* filename for the current track to export */
     GString *errors; /* Errors generated during the export */
@@ -496,11 +496,11 @@ static gboolean export_files_write_cb(gpointer data) {
  them in the prefs.
  ******************************************************************/
 static void export_files_store_option_settings(struct fcd *fcd, GtkFileChooser 
*fc) {
-    g_return_if_fail (fcd && fcd->win_xml && fc);
+    g_return_if_fail (fcd && fcd->builder && fc);
 
-    option_get_toggle_button_gb(fcd->win_xml, EXPORT_FILES_SPECIAL_CHARSET);
-    option_get_toggle_button_gb(fcd->win_xml, EXPORT_FILES_CHECK_EXISTING);
-    option_get_string_gb(fcd->win_xml, EXPORT_FILES_TPL, NULL);
+    option_get_toggle_button(fcd->builder, EXPORT_FILES_SPECIAL_CHARSET);
+    option_get_toggle_button(fcd->builder, EXPORT_FILES_CHECK_EXISTING);
+    option_get_string(fcd->builder, EXPORT_FILES_TPL, NULL);
     option_get_filename(fc, EXPORT_FILES_PATH, NULL);
 }
 
@@ -559,7 +559,7 @@ void export_tracks_as_files(GList *tracks, GList 
**filenames, gboolean display,
     /* Information needed to clean up later */
     fcd = g_malloc0(sizeof(struct fcd));
     fcd->tracks = g_list_copy(tracks);
-    fcd->win_xml = export_files_xml;
+    fcd->builder = export_files_xml;
     fcd->filenames = filenames;
     fcd->errors = g_string_new("");
 
@@ -612,12 +612,12 @@ void export_tracks_as_files(GList *tracks, GList 
**filenames, gboolean display,
     /* set last folder */
     option_set_folder(GTK_FILE_CHOOSER (fc), EXPORT_FILES_PATH);
     /* set toggle button "charset" */
-    option_set_toggle_button_gb(export_files_xml, 
EXPORT_FILES_SPECIAL_CHARSET, FALSE);
+    option_set_toggle_button(export_files_xml, EXPORT_FILES_SPECIAL_CHARSET, 
FALSE);
     /* set toggle button "check for existing files" */
-    option_set_toggle_button_gb(export_files_xml, EXPORT_FILES_CHECK_EXISTING, 
TRUE);
+    option_set_toggle_button(export_files_xml, EXPORT_FILES_CHECK_EXISTING, 
TRUE);
 
     /* set last template */
-    option_set_string_gb(export_files_xml, EXPORT_FILES_TPL, 
EXPORT_FILES_TPL_DFLT);
+    option_set_string(export_files_xml, EXPORT_FILES_TPL, 
EXPORT_FILES_TPL_DFLT);
 
     response = gtk_dialog_run(GTK_DIALOG (fc));
 
@@ -800,9 +800,9 @@ GList *transfer_track_names_between_itdbs(iTunesDB *itdb_s, 
iTunesDB *itdb_d, gc
 static void export_playlist_file_retrieve_options(struct fcd *fcd, 
GtkFileChooser *fc) {
     g_return_if_fail (fcd && fc);
 
-    option_get_radio_button_gb(fcd->win_xml, EXPORT_PLAYLIST_FILE_TYPE, 
ExportPlaylistFileTypeW);
-    option_get_radio_button_gb(fcd->win_xml, EXPORT_PLAYLIST_FILE_SOURCE, 
ExportPlaylistFileSourceW);
-    option_get_string_gb(fcd->win_xml, EXPORT_PLAYLIST_FILE_TPL, NULL);
+    option_get_radio_button(fcd->builder, EXPORT_PLAYLIST_FILE_TYPE, 
ExportPlaylistFileTypeW);
+    option_get_radio_button(fcd->builder, EXPORT_PLAYLIST_FILE_SOURCE, 
ExportPlaylistFileSourceW);
+    option_get_string(fcd->builder, EXPORT_PLAYLIST_FILE_TPL, NULL);
     option_get_folder(fc, EXPORT_PLAYLIST_FILE_PATH, NULL);
 }
 
@@ -960,7 +960,7 @@ void export_tracks_to_playlist_file(GList *tracks) {
 
     options = gtkpod_builder_xml_get_widget(export_playlist_xml, 
"ep_options_frame");
 
-    fcd->win_xml = export_playlist_xml;
+    fcd->builder = export_playlist_xml;
 
     /* Information needed to clean up later */
     fcd->tracks = g_list_copy(tracks);
@@ -978,11 +978,11 @@ void export_tracks_to_playlist_file(GList *tracks) {
     /* set last folder */
     option_set_folder(GTK_FILE_CHOOSER (fc), EXPORT_PLAYLIST_FILE_PATH);
     /* set last type */
-    option_set_radio_button_gb(export_playlist_xml, EXPORT_PLAYLIST_FILE_TYPE, 
ExportPlaylistFileTypeW, 0);
+    option_set_radio_button(export_playlist_xml, EXPORT_PLAYLIST_FILE_TYPE, 
ExportPlaylistFileTypeW, 0);
     /* set last source */
-    option_set_radio_button_gb(export_playlist_xml, 
EXPORT_PLAYLIST_FILE_SOURCE, ExportPlaylistFileSourceW, 0);
+    option_set_radio_button(export_playlist_xml, EXPORT_PLAYLIST_FILE_SOURCE, 
ExportPlaylistFileSourceW, 0);
     /* set last template */
-    option_set_string_gb(export_playlist_xml, EXPORT_PLAYLIST_FILE_TPL, 
EXPORT_PLAYLIST_FILE_TPL_DFLT);
+    option_set_string(export_playlist_xml, EXPORT_PLAYLIST_FILE_TPL, 
EXPORT_PLAYLIST_FILE_TPL_DFLT);
 
     /* catch response codes */
     g_signal_connect (fc, "response",
diff --git a/plugins/info_display/info.c b/plugins/info_display/info.c
index b56237e..37f35e7 100644
--- a/plugins/info_display/info.c
+++ b/plugins/info_display/info.c
@@ -34,7 +34,6 @@
 #include <string.h>
 #include <unistd.h>
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 #include "plugin.h"
 #include "info.h"
 #include "infoview.h"
diff --git a/plugins/sorttab_display/sorttab_display_preferences.c 
b/plugins/sorttab_display/sorttab_display_preferences.c
index 3e4881a..6810c2e 100644
--- a/plugins/sorttab_display/sorttab_display_preferences.c
+++ b/plugins/sorttab_display/sorttab_display_preferences.c
@@ -27,7 +27,6 @@
  */
 
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 #include "libgtkpod/misc.h"
 #include "libgtkpod/prefs.h"
 #include "libgtkpod/directories.h"
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 713a5d1..82c00d4 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,6 +1,6 @@
 [encoding: UTF-8]
 
-data/glade/gtkpod.glade
+[type: gettext/glade]data/glade/core-gtkpod.xml
 data/gtkpod.desktop.in
 libgtkpod/autodetection.c
 libgtkpod/charset.c
diff --git a/src/anjuta-app.c b/src/anjuta-app.c
index 9aeb155..b4be4c6 100644
--- a/src/anjuta-app.c
+++ b/src/anjuta-app.c
@@ -27,7 +27,6 @@
 #include <ctype.h>
 #include <sys/wait.h>
 
-#include <glade/glade-xml.h>
 #include <gtk/gtk.h>
 
 #include <gdl/gdl.h>
@@ -61,7 +60,7 @@ static GHashTable *id_hash = NULL;
 
 typedef struct {
     GtkWidget *window;
-    GladeXML *window_xml;
+    GtkBuilder *window_builder;
     gboolean scrolled;
     gchar *option1_key;
     gboolean option1_invert;
@@ -1189,14 +1188,14 @@ static void on_response(GtkWidget *w, gint response, 
gpointer id) {
     }
 }
 
-static void confirm_append_text(GladeXML *xml, const gchar *text) {
-    g_return_if_fail(xml);
+static void confirm_append_text(GtkBuilder *builder, const gchar *text) {
+    g_return_if_fail(builder);
 
     int i;
     gchar **strings = g_strsplit(text, "\n", 0);
     GtkTreeIter iter;
     GtkAdjustment *adjustment;
-    GtkWidget *w = gtkpod_xml_get_widget(xml, "tree");
+    GtkWidget *w = gtkpod_builder_xml_get_widget(builder, "tree");
     GtkListStore *store = GTK_LIST_STORE (gtk_tree_view_get_model 
(GTK_TREE_VIEW (w)));
 
     for (i = 0; strings[i]; i++) {
@@ -1206,7 +1205,7 @@ static void confirm_append_text(GladeXML *xml, const 
gchar *text) {
         }
     }
 
-    w = gtkpod_xml_get_widget(xml, "scroller");
+    w = gtkpod_builder_xml_get_widget(builder, "scroller");
     adjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW (w));
     gtk_adjustment_set_value(adjustment, gtk_adjustment_get_upper(adjustment) 
- gtk_adjustment_get_page_size(adjustment));
 
@@ -1217,7 +1216,7 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
     GtkWidget *window, *w;
     ConfData *cd;
     gint defx, defy;
-    GladeXML *confirm_xml;
+    GtkBuilder *confirm_builder;
     GtkListStore *store;
     GtkTreeViewColumn *column;
     GtkCellRenderer *renderer;
@@ -1230,7 +1229,7 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
     if (id >= 0) {
         if ((cd = g_hash_table_lookup(id_hash, GINT_TO_POINTER(id)))) { /* 
window with same ID already open -- add @text and return */
             if (text && *text && cd->window) {
-                confirm_append_text(cd->window_xml, text);
+                confirm_append_text(cd->window_builder, text);
             }
             return GTK_RESPONSE_REJECT;
         }
@@ -1258,15 +1257,17 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
         return GTK_RESPONSE_OK;
     }
 
-    /* window = create_confirm_dialog (); */
-    confirm_xml = gtkpod_core_xml_new("confirm_dialog");
-    window = gtkpod_xml_get_widget(confirm_xml, "confirm_dialog");
-    glade_xml_signal_autoconnect(confirm_xml);
+    gchar *glade_path = g_build_filename(get_glade_dir(), CORE_GTKPOD_XML, 
NULL);
+    confirm_builder = gtkpod_builder_xml_new(glade_path);
+    g_free(glade_path);
+
+    window = gtkpod_builder_xml_get_widget(confirm_builder, "confirm_dialog");
+    gtk_builder_connect_signals(confirm_builder, NULL);
 
     /* insert ID into hash table */
     cd = g_new0 (ConfData, 1);
     cd->window = window;
-    cd->window_xml = confirm_xml;
+    cd->window_builder = confirm_builder;
     cd->option1_key = g_strdup(option1_key);
     cd->option2_key = g_strdup(option2_key);
     cd->confirm_again_key = g_strdup(confirm_again_key);
@@ -1281,12 +1282,12 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
             = g_markup_printf_escaped("<span weight='bold' 
size='larger'>%s</span>\n\n%s", title ? title : _("Confirmation"), label ? 
label : "");
 
     /* Set label */
-    w = gtkpod_xml_get_widget(confirm_xml, "label");
+    w = gtkpod_builder_xml_get_widget(confirm_builder, "label");
     gtk_label_set_markup(GTK_LABEL(w), full_label);
     g_free(full_label);
 
     /* Set text */
-    w = gtkpod_xml_get_widget(confirm_xml, "tree");
+    w = gtkpod_builder_xml_get_widget(confirm_builder, "tree");
     store = gtk_list_store_new(1, G_TYPE_STRING);
     gtk_tree_view_set_model(GTK_TREE_VIEW (w), GTK_TREE_MODEL (store));
     g_object_unref(store);
@@ -1316,14 +1317,14 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
     gtk_tree_view_append_column(GTK_TREE_VIEW (w), column);
 
     if (text) {
-        confirm_append_text(confirm_xml, text);
+        confirm_append_text(confirm_builder, text);
         cd->scrolled = TRUE;
         defx = prefs_get_int("size_conf_sw.x");
         defy = prefs_get_int("size_conf_sw.y");
     }
     else {
         /* no text -> hide widget */
-        if ((w = gtkpod_xml_get_widget(confirm_xml, "scroller")))
+        if ((w = gtkpod_builder_xml_get_widget(confirm_builder, "scroller")))
             gtk_widget_hide(w);
 
         cd->scrolled = FALSE;
@@ -1334,7 +1335,7 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
     gtk_widget_set_size_request(GTK_WIDGET (window), defx, defy);
 
     /* Set "Option 1" checkbox */
-    w = gtkpod_xml_get_widget(confirm_xml, "option_vbox");
+    w = gtkpod_builder_xml_get_widget(confirm_builder, "option_vbox");
 
     if (w && option1_key && option1_text) {
         gboolean state, invert;
@@ -1354,7 +1355,7 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
     }
 
     /* Set "Option 2" checkbox */
-    w = gtkpod_xml_get_widget(confirm_xml, "option_vbox");
+    w = gtkpod_builder_xml_get_widget(confirm_builder, "option_vbox");
     if (w && option2_key && option2_text) {
         gboolean state, invert;
         GtkWidget *option2_button = 
gtk_check_button_new_with_mnemonic(option2_text);
@@ -1373,7 +1374,7 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
     }
 
     /* Set "Never Again" checkbox */
-    w = gtkpod_xml_get_widget(confirm_xml, "never_again");
+    w = gtkpod_builder_xml_get_widget(confirm_builder, "never_again");
 
     if (w && confirm_again_key) {
         /* connect signal */
@@ -1391,7 +1392,7 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
     /* Hide and set "default" button that can be activated by pressing
      ENTER in the window (usually OK)*/
     /* Hide or default CANCEL button */
-    if ((w = gtkpod_xml_get_widget(confirm_xml, "cancel"))) {
+    if ((w = gtkpod_builder_xml_get_widget(confirm_builder, "cancel"))) {
         gtk_widget_set_can_default (w, TRUE);
         gtk_widget_grab_default(w);
 
@@ -1400,7 +1401,7 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
     }
 
     /* Hide or default APPLY button */
-    if ((w = gtkpod_xml_get_widget(confirm_xml, "apply"))) {
+    if ((w = gtkpod_builder_xml_get_widget(confirm_builder, "apply"))) {
         gtk_widget_set_can_default (w, TRUE);
         gtk_widget_grab_default(w);
 
@@ -1409,7 +1410,7 @@ static GtkResponseType 
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
     }
 
     /* Hide or default OK button */
-    if ((w = gtkpod_xml_get_widget(confirm_xml, "ok"))) {
+    if ((w = gtkpod_builder_xml_get_widget(confirm_builder, "ok"))) {
         gtk_widget_set_can_default (w, TRUE);
         gtk_widget_grab_default(w);
 
diff --git a/src/gtkpod.c b/src/gtkpod.c
index 01bb64b..0dae804 100644
--- a/src/gtkpod.c
+++ b/src/gtkpod.c
@@ -42,10 +42,6 @@
 static gboolean on_gtkpod_delete_event(GtkWidget *widget, GdkEvent *event, 
gpointer user_data);
 static void on_gtkpod_destroy(GtkWidget * w, gpointer data);
 
-GladeXML *gtkpod_core_xml_new(const gchar *name) {
-    return gtkpod_xml_new(gtkpod_get_glade_xml(), name);
-}
-
 void gtkpod_init(int argc, char *argv[]) {
     AnjutaPluginManager *plugin_manager;
     AnjutaProfileManager *profile_manager;
@@ -55,7 +51,6 @@ void gtkpod_init(int argc, char *argv[]) {
     GFile *session_profile;
     GError *error = NULL;
 
-    gchar *glade_xml_file = NULL;
     gchar *default_profile_file = NULL;
     gchar *user_profile_file = NULL;
 
@@ -95,11 +90,6 @@ void gtkpod_init(int argc, char *argv[]) {
 
     g_free(splash);
 
-    /* Set the glade xml file of the app */
-    glade_xml_file = g_build_filename(get_glade_dir(), "gtkpod.glade", NULL);
-    gtkpod_app_set_glade_xml(glade_xml_file);
-    g_free(glade_xml_file);
-
     /*
      * initialise gtkpod library items. Needs to be safety threaded due
      * to splash screen.

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to