[Xfce4-commits] r30306 - in xfce4-settings/trunk: . dialogs/accessibility-settings dialogs/appearance-settings dialogs/display-settings dialogs/keyboard-settings dialogs/mouse-settings xfce4-settings-editor xfce4-settings-helper xfce4-settings-manager xfsettingsd

Nick Schermer nick at xfce.org
Mon Jul 13 18:58:39 CEST 2009


Author: nick
Date: 2009-07-13 16:58:39 +0000 (Mon, 13 Jul 2009)
New Revision: 30306

Removed:
   xfce4-settings/trunk/common/
Modified:
   xfce4-settings/trunk/
   xfce4-settings/trunk/configure.ac.in
   xfce4-settings/trunk/dialogs/accessibility-settings/Makefile.am
   xfce4-settings/trunk/dialogs/accessibility-settings/accessibility-dialog.glade
   xfce4-settings/trunk/dialogs/accessibility-settings/main.c
   xfce4-settings/trunk/dialogs/appearance-settings/Makefile.am
   xfce4-settings/trunk/dialogs/appearance-settings/appearance-dialog.glade
   xfce4-settings/trunk/dialogs/appearance-settings/main.c
   xfce4-settings/trunk/dialogs/display-settings/Makefile.am
   xfce4-settings/trunk/dialogs/display-settings/display-dialog.glade
   xfce4-settings/trunk/dialogs/display-settings/main.c
   xfce4-settings/trunk/dialogs/keyboard-settings/Makefile.am
   xfce4-settings/trunk/dialogs/keyboard-settings/command-dialog.c
   xfce4-settings/trunk/dialogs/keyboard-settings/command-dialog.h
   xfce4-settings/trunk/dialogs/keyboard-settings/keyboard-dialog.glade
   xfce4-settings/trunk/dialogs/keyboard-settings/main.c
   xfce4-settings/trunk/dialogs/keyboard-settings/xfce-keyboard-settings.c
   xfce4-settings/trunk/dialogs/keyboard-settings/xfce-keyboard-settings.h
   xfce4-settings/trunk/dialogs/mouse-settings/Makefile.am
   xfce4-settings/trunk/dialogs/mouse-settings/main.c
   xfce4-settings/trunk/dialogs/mouse-settings/mouse-dialog.glade
   xfce4-settings/trunk/xfce4-settings-editor/Makefile.am
   xfce4-settings/trunk/xfce4-settings-editor/main.c
   xfce4-settings/trunk/xfce4-settings-editor/main_window.c
   xfce4-settings/trunk/xfce4-settings-editor/main_window.h
   xfce4-settings/trunk/xfce4-settings-editor/xfce4-settings-editor.glade
   xfce4-settings/trunk/xfce4-settings-helper/Makefile.am
   xfce4-settings/trunk/xfce4-settings-helper/accessibility.c
   xfce4-settings/trunk/xfce4-settings-helper/displays.c
   xfce4-settings/trunk/xfce4-settings-helper/keyboard-layout.c
   xfce4-settings/trunk/xfce4-settings-helper/keyboard-shortcuts.c
   xfce4-settings/trunk/xfce4-settings-helper/keyboards.c
   xfce4-settings/trunk/xfce4-settings-helper/main.c
   xfce4-settings/trunk/xfce4-settings-helper/pointers.c
   xfce4-settings/trunk/xfce4-settings-helper/workspaces.c
   xfce4-settings/trunk/xfce4-settings-helper/workspaces.h
   xfce4-settings/trunk/xfce4-settings-manager/Makefile.am
   xfce4-settings/trunk/xfce4-settings-manager/main.c
   xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.c
   xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.h
   xfce4-settings/trunk/xfce4-settings-manager/xfce-text-renderer.c
   xfce4-settings/trunk/xfsettingsd/Makefile.am
   xfce4-settings/trunk/xfsettingsd/main.c
   xfce4-settings/trunk/xfsettingsd/registry.c
   xfce4-settings/trunk/xfsettingsd/registry.h
Log:
Merge 4ui branch back into trunk.

44 files changed, 2201 insertions(+), 2204 deletions(-).



Property changes on: xfce4-settings/trunk
___________________________________________________________________
Added: svn:mergeinfo
   + /xfce4-settings/branches/migration-to-4ui:30258-30305

Modified: xfce4-settings/trunk/configure.ac.in
===================================================================
--- xfce4-settings/trunk/configure.ac.in	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/configure.ac.in	2009-07-13 16:58:39 UTC (rev 30306)
@@ -10,11 +10,11 @@
 dnl *** Version information ***
 dnl ***************************
 m4_define([xfce4_settings_version_major], [4])
-m4_define([xfce4_settings_version_minor], [6])
-m4_define([xfce4_settings_version_micro], [1])
+m4_define([xfce4_settings_version_minor], [7])
+m4_define([xfce4_settings_version_micro], [0])
 m4_define([xfce4_settings_version_nano], [])
 m4_define([xfce4_settings_version_build], [r at REVISION@])
-m4_define([xfce4_settings_version_tag], []) # Leave empty for releases
+m4_define([xfce4_settings_version_tag], [svn]) # Leave empty for releases
 m4_define([xfce4_settings_version], [xfce4_settings_version_major().xfce4_settings_version_minor().xfce4_settings_version_micro()ifelse(xfce4_settings_version_nano(), [], [], [.xfce4_settings_version_nano()])ifelse(xfce4_settings_version_tag(),[],[], [-ifelse(xfce4_settings_version_tag(), [stephan], [xfce4_settings_version_tag()-xfce4_settings_version_build()], [xfce4_settings_version_tag()])])])
 
 dnl *******************************************
@@ -73,12 +73,12 @@
 dnl *** Check for required packages ***
 dnl ***********************************
 XDT_CHECK_PACKAGE([EXO], [exo-0.3], [0.3.100])
-XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.10.0])
-XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.12.0])
-XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.12.0])
+XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.14.0])
+XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.16.0])
 XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.6.0])
-XDT_CHECK_PACKAGE([LIBXFCEGUI4], [libxfcegui4-1.0], [4.6.0])
-XDT_CHECK_PACKAGE([LIBXFCE4KBD_PRIVATE], [libxfce4kbd-private-1.0], [4.6.0])
+XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.7.0])
+XDT_CHECK_PACKAGE([LIBXFCE4KBD_PRIVATE], [libxfce4kbd-private-2], [4.7.0])
+XDT_CHECK_PACKAGE([LIBXFCE4SMCLIENT_PRIVATE], [libxfce4smclient-private-1], [4.7.0])
 XDT_CHECK_PACKAGE([GLADE], [libglade-2.0], [2.0.0])
 XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.6.0])
 XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.34])

Modified: xfce4-settings/trunk/dialogs/accessibility-settings/Makefile.am
===================================================================
--- xfce4-settings/trunk/dialogs/accessibility-settings/Makefile.am	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/accessibility-settings/Makefile.am	2009-07-13 16:58:39 UTC (rev 30306)
@@ -17,11 +17,9 @@
 
 xfce4_accessibility_settings_CFLAGS = \
 	$(GTK_CFLAGS) \
-	$(GLIB_CFLAGS) \
-	$(GLADE_CFLAGS) \
-	$(DBUS_GLIB_CFLAGS) \
-	$(LIBXFCEGUI4_CFLAGS) \
-	$(XFCONF_CFLAGS)
+	$(LIBXFCE4UI_CFLAGS) \
+	$(XFCONF_CFLAGS) \
+	$(PLATFORM_CFLAGS)
 
 xfce4_accessibility_settings_LDFLAGS = \
 	-no-undefined \
@@ -29,10 +27,7 @@
 
 xfce4_accessibility_settings_LDADD = \
 	$(GTK_LIBS) \
-	$(GLIB_LIBS) \
-	$(GLADE_LIBS) \
-	$(DBUS_GLIB_LIBS) \
-	$(LIBXFCEGUI4_LIBS) \
+	$(LIBXFCE4UI_LIBS) \
 	$(XFCONF_LIBS)
 
 if MAINTAINER_MODE

Modified: xfce4-settings/trunk/dialogs/accessibility-settings/accessibility-dialog.glade
===================================================================
--- xfce4-settings/trunk/dialogs/accessibility-settings/accessibility-dialog.glade	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/accessibility-settings/accessibility-dialog.glade	2009-07-13 16:58:39 UTC (rev 30306)
@@ -1,215 +1,275 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Sun Nov 16 15:45:51 2008 -->
-<glade-interface>
-  <requires lib="xfce4"/>
-  <widget class="XfceTitledDialog" id="accessibility-settings-dialog">
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.14"/>
+  <!-- interface-requires libxfce4ui 4.5 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkAdjustment" id="slow-keys-delay">
+    <property name="value">500.00000000022351</property>
+    <property name="lower">50</property>
+    <property name="upper">1000</property>
+    <property name="step_increment">10</property>
+    <property name="page_increment">100</property>
+    <property name="page_size">10</property>
+  </object>
+  <object class="GtkAdjustment" id="bounce-keys-delay">
+    <property name="value">500.00000000022351</property>
+    <property name="lower">50</property>
+    <property name="upper">1000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">10</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-emulation-delay">
+    <property name="value">150.00000000022351</property>
+    <property name="lower">1</property>
+    <property name="upper">1000</property>
+    <property name="step_increment">10</property>
+    <property name="page_increment">100</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-emulation-interval">
+    <property name="value">20</property>
+    <property name="lower">10</property>
+    <property name="upper">1000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-emulation-curve">
+    <property name="value">2.2351741811588166e-10</property>
+    <property name="lower">-1000</property>
+    <property name="upper">1000</property>
+    <property name="step_increment">10</property>
+    <property name="page_increment">100</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-emulation-max-speed">
+    <property name="value">999.99999999977649</property>
+    <property name="lower">1</property>
+    <property name="upper">2000</property>
+    <property name="step_increment">10</property>
+    <property name="page_increment">100</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-emulation-time-to-max">
+    <property name="value">3000</property>
+    <property name="lower">100</property>
+    <property name="upper">10000</property>
+    <property name="step_increment">10</property>
+    <property name="page_increment">100</property>
+  </object>
+  <object class="XfceTitledDialog" id="dialog">
     <property name="title" translatable="yes">Accessibility</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="icon_name">preferences-desktop-accessibility</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <property name="subtitle" translatable="yes">Configure keyboard and mouse accessibility</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">2</property>
         <child>
-          <widget class="GtkVBox" id="plug-child">
+          <object class="GtkVBox" id="plug-child">
             <property name="visible">True</property>
             <child>
-              <widget class="GtkNotebook" id="notebook1">
+              <object class="GtkNotebook" id="notebook1">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="border_width">6</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox2">
+                  <object class="GtkVBox" id="vbox2">
                     <property name="visible">True</property>
                     <property name="border_width">12</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkFrame" id="frame1">
+                      <object class="GtkFrame" id="frame1">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment1">
+                          <object class="GtkAlignment" id="alignment1">
                             <property name="visible">True</property>
                             <property name="bottom_padding">6</property>
                             <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkVBox" id="vbox3">
+                              <object class="GtkVBox" id="vbox3">
                                 <property name="visible">True</property>
                                 <property name="border_width">6</property>
+                                <property name="orientation">vertical</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkCheckButton" id="sticky-keys-enabled">
+                                  <object class="GtkCheckButton" id="sticky-keys-enabled">
+                                    <property name="label" translatable="yes">Use _sticky keys</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">When selected, modifier keys (such as Control, Alt, and Shift) do not need to be held down (they can be pressed and then released) when multiple keys would normally need to be pressed at the same time</property>
-                                    <property name="label" translatable="yes">Use _sticky keys</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">When selected, modifier keys (such as Control, Alt, and Shift) do not need to be held down (they can be pressed and then released) when multiple keys would normally need to be pressed at the same time</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkAlignment" id="sticky-keys-box">
+                                  <object class="GtkAlignment" id="sticky-keys-box">
                                     <property name="visible">True</property>
                                     <property name="sensitive">False</property>
-                                    <property name="left_padding">12</property>
+                                    <property name="left_padding">18</property>
                                     <child>
-                                      <widget class="GtkVBox" id="vbox7">
+                                      <object class="GtkVBox" id="vbox7">
                                         <property name="visible">True</property>
+                                        <property name="orientation">vertical</property>
                                         <property name="spacing">6</property>
                                         <child>
-                                          <widget class="GtkCheckButton" id="sticky-keys-latch-to-lock">
+                                          <object class="GtkCheckButton" id="sticky-keys-latch-to-lock">
+                                            <property name="label" translatable="yes">_Lock sticky keys</property>
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">When selected, modifier keys (such as Control, Alt, and Shift) will remain locked in the pressed state until pressed again</property>
-                                            <property name="label" translatable="yes">_Lock sticky keys</property>
+                                            <property name="receives_default">False</property>
+                                            <property name="tooltip_text" translatable="yes">When selected, modifier keys (such as Control, Alt, and Shift) will remain locked in the pressed state until pressed again</property>
                                             <property name="use_underline">True</property>
-                                            <property name="response_id">0</property>
                                             <property name="draw_indicator">True</property>
-                                          </widget>
+                                          </object>
+                                          <packing>
+                                            <property name="position">0</property>
+                                          </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkCheckButton" id="sticky-keys-two-keys-disable">
+                                          <object class="GtkCheckButton" id="sticky-keys-two-keys-disable">
+                                            <property name="label" translatable="yes">Disable sticky keys if _two keys are pressed</property>
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">When selected, the "sticky keys" feature will be disabled if two keys are pressed simultaneously</property>
-                                            <property name="label" translatable="yes">Disable sticky keys if _two keys are pressed</property>
+                                            <property name="receives_default">False</property>
+                                            <property name="tooltip_text" translatable="yes">When selected, the "sticky keys" feature will be disabled if two keys are pressed simultaneously</property>
                                             <property name="use_underline">True</property>
                                             <property name="xalign">0</property>
                                             <property name="yalign">0</property>
-                                            <property name="response_id">0</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="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label3">
+                        <child type="label">
+                          <object class="GtkLabel" id="label3">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Sticky Keys</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Sticky Keys</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkFrame" id="frame2">
+                      <object class="GtkFrame" id="frame2">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment2">
+                          <object class="GtkAlignment" id="alignment2">
                             <property name="visible">True</property>
                             <property name="bottom_padding">6</property>
                             <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkVBox" id="vbox4">
+                              <object class="GtkVBox" id="vbox4">
                                 <property name="visible">True</property>
                                 <property name="border_width">6</property>
+                                <property name="orientation">vertical</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkCheckButton" id="slow-keys-enabled">
+                                  <object class="GtkCheckButton" id="slow-keys-enabled">
+                                    <property name="label" translatable="yes">Use slow _keys</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">To help prevent accidental keystrokes, slow keys requires that a key is held for a certain minimum amount of time before the keystroke will be accepted</property>
-                                    <property name="label" translatable="yes">Use slow _keys</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">To help prevent accidental keystrokes, slow keys requires that a key is held for a certain minimum amount of time before the keystroke will be accepted</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkAlignment" id="slow-keys-box">
+                                  <object class="GtkAlignment" id="slow-keys-box">
                                     <property name="visible">True</property>
                                     <property name="sensitive">False</property>
-                                    <property name="left_padding">12</property>
+                                    <property name="left_padding">18</property>
                                     <child>
-                                      <widget class="GtkHBox" id="hbox1">
+                                      <object class="GtkHBox" id="hbox1">
                                         <property name="visible">True</property>
-                                        <property name="border_width">6</property>
                                         <property name="spacing">12</property>
                                         <child>
-                                          <widget class="GtkLabel" id="label6">
+                                          <object class="GtkLabel" id="label6">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">Acceptance _delay:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">slow-keys-delay</property>
-                                          </widget>
+                                            <property name="mnemonic_widget">slow-keys-scale</property>
+                                          </object>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkHScale" id="slow-keys-delay">
+                                          <object class="GtkHScale" id="slow-keys-scale">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">The amount of time, in milliseconds, that must elapse before a keystroke will be accepted</property>
-                                            <property name="adjustment">500 50 1000 10 100 10</property>
+                                            <property name="tooltip_text" translatable="yes">The amount of time, in milliseconds, that must elapse before a keystroke will be accepted</property>
+                                            <property name="adjustment">slow-keys-delay</property>
                                             <property name="digits">0</property>
-                                            <property name="value_pos">GTK_POS_RIGHT</property>
-                                          </widget>
+                                            <property name="value_pos">right</property>
+                                          </object>
                                           <packing>
                                             <property name="position">1</property>
                                           </packing>
                                         </child>
-                                      </widget>
+                                      </object>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label4">
+                        <child type="label">
+                          <object class="GtkLabel" id="label4">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Slow Keys</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Slow Keys</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -217,164 +277,166 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkFrame" id="frame3">
+                      <object class="GtkFrame" id="frame3">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment3">
+                          <object class="GtkAlignment" id="alignment3">
                             <property name="visible">True</property>
                             <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkVBox" id="vbox6">
+                              <object class="GtkVBox" id="vbox6">
                                 <property name="visible">True</property>
                                 <property name="border_width">6</property>
+                                <property name="orientation">vertical</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkCheckButton" id="bounce-keys-enabled">
+                                  <object class="GtkCheckButton" id="bounce-keys-enabled">
+                                    <property name="label" translatable="yes">Use _bounce keys</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">To help prevent accidental multiple keystrokes, bounce keys imposes a minimum delay between keystrokes</property>
-                                    <property name="label" translatable="yes">Use _bounce keys</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">To help prevent accidental multiple keystrokes, bounce keys imposes a minimum delay between keystrokes</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkAlignment" id="bounce-keys-box">
+                                  <object class="GtkAlignment" id="bounce-keys-box">
                                     <property name="visible">True</property>
                                     <property name="sensitive">False</property>
-                                    <property name="left_padding">12</property>
+                                    <property name="left_padding">18</property>
                                     <child>
-                                      <widget class="GtkHBox" id="hbox2">
+                                      <object class="GtkHBox" id="hbox2">
                                         <property name="visible">True</property>
-                                        <property name="border_width">6</property>
                                         <property name="spacing">12</property>
                                         <child>
-                                          <widget class="GtkLabel" id="label9">
+                                          <object class="GtkLabel" id="label9">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">K_eystroke delay:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">bounce-keys-delay</property>
-                                          </widget>
+                                            <property name="mnemonic_widget">bounce-keys-scale</property>
+                                          </object>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkHScale" id="bounce-keys-delay">
+                                          <object class="GtkHScale" id="bounce-keys-scale">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">The amount of time, in milliseconds, required between keystrokes</property>
-                                            <property name="adjustment">500 50 1000 1 10 10</property>
+                                            <property name="tooltip_text" translatable="yes">The amount of time, in milliseconds, required between keystrokes</property>
+                                            <property name="adjustment">bounce-keys-delay</property>
                                             <property name="digits">0</property>
-                                            <property name="value_pos">GTK_POS_RIGHT</property>
-                                          </widget>
+                                            <property name="value_pos">right</property>
+                                          </object>
                                           <packing>
                                             <property name="position">1</property>
                                           </packing>
                                         </child>
-                                      </widget>
+                                      </object>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label5">
+                        <child type="label">
+                          <object class="GtkLabel" id="label5">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Bounce Keys</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Bounce Keys</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="position">2</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                 </child>
-                <child>
-                  <widget class="GtkLabel" id="label1">
+                <child type="tab">
+                  <object class="GtkLabel" id="label1">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">Keyboa_rd</property>
                     <property name="use_underline">True</property>
-                  </widget>
+                  </object>
                   <packing>
-                    <property name="type">tab</property>
                     <property name="tab_fill">False</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox5">
+                  <object class="GtkVBox" id="vbox5">
                     <property name="visible">True</property>
                     <property name="border_width">12</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <widget class="GtkFrame" id="frame4">
+                      <object class="GtkFrame" id="frame4">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment4">
+                          <object class="GtkAlignment" id="alignment4">
                             <property name="visible">True</property>
                             <property name="border_width">6</property>
                             <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkVBox" id="vbox8">
+                              <object class="GtkVBox" id="vbox8">
                                 <property name="visible">True</property>
+                                <property name="orientation">vertical</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkCheckButton" id="mouse-emulation-enabled">
+                                  <object class="GtkCheckButton" id="mouse-emulation-enabled">
+                                    <property name="label" translatable="yes">_Use mouse emulation</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">When selected, the mouse pointer can be controlled using the keyboard number pad</property>
-                                    <property name="label" translatable="yes">_Use mouse emulation</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">When selected, the mouse pointer can be controlled using the keyboard number pad</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkAlignment" id="mouse-emulation-box">
+                                  <object class="GtkAlignment" id="mouse-emulation-box">
                                     <property name="visible">True</property>
                                     <property name="sensitive">False</property>
-                                    <property name="left_padding">12</property>
+                                    <property name="left_padding">18</property>
                                     <child>
-                                      <widget class="GtkTable" id="table1">
+                                      <object class="GtkTable" id="table1">
                                         <property name="visible">True</property>
-                                        <property name="border_width">6</property>
                                         <property name="n_rows">5</property>
                                         <property name="n_columns">3</property>
                                         <property name="column_spacing">12</property>
                                         <property name="row_spacing">6</property>
                                         <child>
-                                          <widget class="GtkLabel" id="label16">
+                                          <object class="GtkLabel" id="label16">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">R_epeat interval:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">mouse-emulation-interval</property>
-                                          </widget>
+                                            <property name="mnemonic_widget">interval-widget</property>
+                                          </object>
                                           <packing>
                                             <property name="top_attach">1</property>
                                             <property name="bottom_attach">2</property>
@@ -382,25 +444,25 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label7">
+                                          <object class="GtkLabel" id="label7">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">_Acceleration delay:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">mouse-emulation-delay</property>
-                                          </widget>
+                                            <property name="mnemonic_widget">delay-widget</property>
+                                          </object>
                                           <packing>
                                             <property name="x_options">GTK_FILL</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label19">
+                                          <object class="GtkLabel" id="label19">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">Acceleration _time:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">mouse-emulation-time-to-max</property>
-                                          </widget>
+                                            <property name="mnemonic_widget">ttm-widget</property>
+                                          </object>
                                           <packing>
                                             <property name="top_attach">2</property>
                                             <property name="bottom_attach">3</property>
@@ -408,13 +470,13 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label22">
+                                          <object class="GtkLabel" id="label22">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">Maximum _speed:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">mouse-emulation-max-speed</property>
-                                          </widget>
+                                            <property name="mnemonic_widget">max-speed-widget</property>
+                                          </object>
                                           <packing>
                                             <property name="top_attach">3</property>
                                             <property name="bottom_attach">4</property>
@@ -422,13 +484,13 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label8">
+                                          <object class="GtkLabel" id="label8">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">Acceleration _profile:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">mouse-emulation-curve</property>
-                                          </widget>
+                                            <property name="mnemonic_widget">curve-widget</property>
+                                          </object>
                                           <packing>
                                             <property name="top_attach">4</property>
                                             <property name="bottom_attach">5</property>
@@ -436,22 +498,22 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label10">
+                                          <object class="GtkLabel" id="label10">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">msec</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">2</property>
                                             <property name="right_attach">3</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label11">
+                                          <object class="GtkLabel" id="label11">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">msec</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">2</property>
                                             <property name="right_attach">3</property>
@@ -460,11 +522,11 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label13">
+                                          <object class="GtkLabel" id="label13">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">msec</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">2</property>
                                             <property name="right_attach">3</property>
@@ -473,10 +535,10 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label14">
+                                          <object class="GtkLabel" id="label14">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">2</property>
                                             <property name="right_attach">3</property>
@@ -485,11 +547,11 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label15">
+                                          <object class="GtkLabel" id="label15">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
                                             <property name="label" translatable="yes">pixels/sec</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">2</property>
                                             <property name="right_attach">3</property>
@@ -498,14 +560,14 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkSpinButton" id="mouse-emulation-delay">
+                                          <object class="GtkSpinButton" id="delay-widget">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">The time, in milliseconds, between the initial key press and first repeated motion event</property>
-                                            <property name="adjustment">150 1 1000 10 100 0</property>
+                                            <property name="tooltip_text" translatable="yes">The time, in milliseconds, between the initial key press and first repeated motion event</property>
+                                            <property name="adjustment">mouse-emulation-delay</property>
                                             <property name="numeric">True</property>
-                                            <property name="update_policy">GTK_UPDATE_IF_VALID</property>
-                                          </widget>
+                                            <property name="update_policy">if-valid</property>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">1</property>
                                             <property name="right_attach">2</property>
@@ -513,14 +575,14 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkSpinButton" id="mouse-emulation-interval">
+                                          <object class="GtkSpinButton" id="interval-widget">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">The time, in milliseconds, between repeated motion events</property>
-                                            <property name="adjustment">20 10 1000 1 10 0</property>
+                                            <property name="tooltip_text" translatable="yes">The time, in milliseconds, between repeated motion events</property>
+                                            <property name="adjustment">mouse-emulation-interval</property>
                                             <property name="numeric">True</property>
-                                            <property name="update_policy">GTK_UPDATE_IF_VALID</property>
-                                          </widget>
+                                            <property name="update_policy">if-valid</property>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">1</property>
                                             <property name="right_attach">2</property>
@@ -530,14 +592,14 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkSpinButton" id="mouse-emulation-curve">
+                                          <object class="GtkSpinButton" id="curve-widget">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">The ramp used to reach maximum pointer speed</property>
-                                            <property name="adjustment">0 -1000 1000 10 100 0</property>
+                                            <property name="tooltip_text" translatable="yes">The ramp used to reach maximum pointer speed</property>
+                                            <property name="adjustment">mouse-emulation-curve</property>
                                             <property name="numeric">True</property>
-                                            <property name="update_policy">GTK_UPDATE_IF_VALID</property>
-                                          </widget>
+                                            <property name="update_policy">if-valid</property>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">1</property>
                                             <property name="right_attach">2</property>
@@ -547,14 +609,14 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkSpinButton" id="mouse-emulation-max-speed">
+                                          <object class="GtkSpinButton" id="max-speed-widget">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">The maximum pointer speed after acceleration</property>
-                                            <property name="adjustment">1000 1 2000 10 100 0</property>
+                                            <property name="tooltip_text" translatable="yes">The maximum pointer speed after acceleration</property>
+                                            <property name="adjustment">mouse-emulation-max-speed</property>
                                             <property name="numeric">True</property>
-                                            <property name="update_policy">GTK_UPDATE_IF_VALID</property>
-                                          </widget>
+                                            <property name="update_policy">if-valid</property>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">1</property>
                                             <property name="right_attach">2</property>
@@ -564,14 +626,14 @@
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkSpinButton" id="mouse-emulation-time-to-max">
+                                          <object class="GtkSpinButton" id="ttm-widget">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">The time, in milliseconds, to get to maximum speed</property>
-                                            <property name="adjustment">3000 100 10000 10 100 0</property>
+                                            <property name="tooltip_text" translatable="yes">The time, in milliseconds, to get to maximum speed</property>
+                                            <property name="adjustment">mouse-emulation-time-to-max</property>
                                             <property name="numeric">True</property>
-                                            <property name="update_policy">GTK_UPDATE_IF_VALID</property>
-                                          </widget>
+                                            <property name="update_policy">if-valid</property>
+                                          </object>
                                           <packing>
                                             <property name="left_attach">1</property>
                                             <property name="right_attach">2</property>
@@ -580,80 +642,87 @@
                                             <property name="x_options">GTK_FILL</property>
                                           </packing>
                                         </child>
-                                      </widget>
+                                      </object>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label12">
+                        <child type="label">
+                          <object class="GtkLabel" id="label12">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Mouse Emulation</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Mouse Emulation</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">1</property>
                   </packing>
                 </child>
-                <child>
-                  <widget class="GtkLabel" id="label2">
+                <child type="tab">
+                  <object class="GtkLabel" id="label2">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">_Mouse</property>
                     <property name="use_underline">True</property>
-                  </widget>
+                  </object>
                   <packing>
-                    <property name="type">tab</property>
                     <property name="position">1</property>
                     <property name="tab_fill">False</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_area1">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="button2">
+              <object class="GtkButton" id="button2">
+                <property name="label">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-close</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-              </widget>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="0">button2</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Modified: xfce4-settings/trunk/dialogs/accessibility-settings/main.c
===================================================================
--- xfce4-settings/trunk/dialogs/accessibility-settings/main.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/accessibility-settings/main.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -28,9 +28,8 @@
 
 #include <glib.h>
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
 #include <libxfce4util/libxfce4util.h>
 #include <xfconf/xfconf.h>
 
@@ -49,8 +48,8 @@
 
 
 
-/* gloval xfconf channel */
-static XfconfChannel *accessibility_channel;
+/* global xfconf channel */
+static XfconfChannel *accessibility_channel = NULL;
 
 
 
@@ -58,67 +57,67 @@
 accessibility_settings_sensitivity (GtkToggleButton *button,
                                     GtkWidget       *box)
 {
-    gtk_widget_set_sensitive (GTK_WIDGET (box), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)));
+    gtk_widget_set_sensitive (GTK_WIDGET (box),
+        gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)));
 }
 
 
 
 static void
-accessibility_settings_dialog_configure_widgets (GladeXML *gxml)
+accessibility_settings_dialog_configure_widgets (GtkBuilder *builder)
 {
-    GtkWidget     *widget, *box;
-    GtkAdjustment *adjustment;
+    GObject *box, *object;
 
     /* Sticky keys */
-    widget = glade_xml_get_widget (gxml, "sticky-keys-enabled");
-    box = glade_xml_get_widget (gxml, "sticky-keys-box");
-    g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (accessibility_settings_sensitivity), box);
-    xfconf_g_property_bind (accessibility_channel, "/StickyKeys", G_TYPE_BOOLEAN, G_OBJECT (widget), "active");
+    object = gtk_builder_get_object (builder, "sticky-keys-enabled");
+    box = gtk_builder_get_object (builder, "sticky-keys-box");
+    g_signal_connect (object, "toggled", G_CALLBACK (accessibility_settings_sensitivity), box);
+    xfconf_g_property_bind (accessibility_channel, "/StickyKeys", G_TYPE_BOOLEAN, object, "active");
 
-    widget = glade_xml_get_widget (gxml, "sticky-keys-latch-to-lock");
-    xfconf_g_property_bind (accessibility_channel, "/StickyKeys/LatchToLock", G_TYPE_BOOLEAN, G_OBJECT (widget), "active");
+    object = gtk_builder_get_object (builder, "sticky-keys-latch-to-lock");
+    xfconf_g_property_bind (accessibility_channel, "/StickyKeys/LatchToLock", G_TYPE_BOOLEAN, object, "active");
 
-    widget = glade_xml_get_widget (gxml, "sticky-keys-two-keys-disable");
-    xfconf_g_property_bind (accessibility_channel, "/StickyKeys/TwoKeysDisable", G_TYPE_BOOLEAN, G_OBJECT (widget), "active");
+    object = gtk_builder_get_object (builder, "sticky-keys-two-keys-disable");
+    xfconf_g_property_bind (accessibility_channel, "/StickyKeys/TwoKeysDisable", G_TYPE_BOOLEAN, object, "active");
 
     /* Slow keys */
-    widget = glade_xml_get_widget (gxml, "slow-keys-enabled");
-    box = glade_xml_get_widget (gxml, "slow-keys-box");
-    g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (accessibility_settings_sensitivity), box);
-    xfconf_g_property_bind (accessibility_channel, "/SlowKeys", G_TYPE_BOOLEAN, G_OBJECT (widget), "active");
+    object = gtk_builder_get_object (builder, "slow-keys-enabled");
+    box = gtk_builder_get_object (builder, "slow-keys-box");
+    g_signal_connect (object, "toggled", G_CALLBACK (accessibility_settings_sensitivity), box);
+    xfconf_g_property_bind (accessibility_channel, "/SlowKeys", G_TYPE_BOOLEAN, object, "active");
 
-    adjustment = gtk_range_get_adjustment (GTK_RANGE (glade_xml_get_widget (gxml, "slow-keys-delay")));
-    xfconf_g_property_bind (accessibility_channel, "/SlowKeys/Delay", G_TYPE_INT, G_OBJECT (adjustment), "value");
-    
+    object = gtk_builder_get_object (builder, "slow-keys-delay");
+    xfconf_g_property_bind (accessibility_channel, "/SlowKeys/Delay", G_TYPE_INT, object, "value");
+
     /* Bounce keys */
-    widget = glade_xml_get_widget (gxml, "bounce-keys-enabled");
-    box = glade_xml_get_widget (gxml, "bounce-keys-box");
-    g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (accessibility_settings_sensitivity), box);
-    xfconf_g_property_bind (accessibility_channel, "/BounceKeys", G_TYPE_BOOLEAN, G_OBJECT (widget), "active");
+    object = gtk_builder_get_object (builder, "bounce-keys-enabled");
+    box = gtk_builder_get_object (builder, "bounce-keys-box");
+    g_signal_connect (object, "toggled", G_CALLBACK (accessibility_settings_sensitivity), box);
+    xfconf_g_property_bind (accessibility_channel, "/BounceKeys", G_TYPE_BOOLEAN, object, "active");
 
-    adjustment = gtk_range_get_adjustment (GTK_RANGE (glade_xml_get_widget (gxml, "bounce-keys-delay")));
-    xfconf_g_property_bind (accessibility_channel, "/BounceKeys/Delay", G_TYPE_INT, G_OBJECT (adjustment), "value");
+    object = gtk_builder_get_object (builder, "bounce-keys-delay");
+    xfconf_g_property_bind (accessibility_channel, "/BounceKeys/Delay", G_TYPE_INT, object, "value");
 
     /* Mouse keys */
-    widget = glade_xml_get_widget (gxml, "mouse-emulation-enabled");
-    box = glade_xml_get_widget (gxml, "mouse-emulation-box");
-    g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (accessibility_settings_sensitivity), box);
-    xfconf_g_property_bind (accessibility_channel, "/MouseKeys", G_TYPE_BOOLEAN, G_OBJECT (widget), "active");
-    
-    widget = glade_xml_get_widget (gxml, "mouse-emulation-delay");
-    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/Delay", G_TYPE_INT, G_OBJECT (widget), "value");
+    object = gtk_builder_get_object (builder, "mouse-emulation-enabled");
+    box = gtk_builder_get_object (builder, "mouse-emulation-box");
+    g_signal_connect (object, "toggled", G_CALLBACK (accessibility_settings_sensitivity), box);
+    xfconf_g_property_bind (accessibility_channel, "/MouseKeys", G_TYPE_BOOLEAN, object, "active");
 
-    widget = glade_xml_get_widget (gxml, "mouse-emulation-interval");
-    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/Interval", G_TYPE_INT, G_OBJECT (widget), "value");
+    object = gtk_builder_get_object (builder, "mouse-emulation-delay");
+    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/Delay", G_TYPE_INT, object, "value");
 
-    widget = glade_xml_get_widget (gxml, "mouse-emulation-time-to-max");
-    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/TimeToMax", G_TYPE_INT, G_OBJECT (widget), "value");
-    
-    widget = glade_xml_get_widget (gxml, "mouse-emulation-max-speed");
-    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/MaxSpeed", G_TYPE_INT, G_OBJECT (widget), "value");
-    
-    widget = glade_xml_get_widget (gxml, "mouse-emulation-curve");
-    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/Curve", G_TYPE_INT, G_OBJECT (widget), "value");
+    object = gtk_builder_get_object (builder, "mouse-emulation-interval");
+    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/Interval", G_TYPE_INT, object, "value");
+
+    object = gtk_builder_get_object (builder, "mouse-emulation-time-to-max");
+    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/TimeToMax", G_TYPE_INT, object, "value");
+
+    object = gtk_builder_get_object (builder, "mouse-emulation-max-speed");
+    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/MaxSpeed", G_TYPE_INT, object, "value");
+
+    object = gtk_builder_get_object (builder, "mouse-emulation-curve");
+    xfconf_g_property_bind (accessibility_channel, "/MouseKeys/Curve", G_TYPE_INT, object, "value");
 }
 
 
@@ -126,11 +125,10 @@
 gint
 main (gint argc, gchar **argv)
 {
-    GtkWidget *dialog;
-    GtkWidget *plug;
-    GtkWidget *plug_child;
-    GladeXML  *gxml;
-    GError    *error = NULL;
+    GObject    *dialog, *plug_child;
+    GtkWidget  *plug;
+    GtkBuilder *builder;
+    GError     *error = NULL;
 
     /* setup translation domain */
     xfce_textdomain (GETTEXT_PACKAGE, LOCALEDIR, "UTF-8");
@@ -160,7 +158,7 @@
     if (G_UNLIKELY (opt_version))
     {
         g_print ("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string ());
-        g_print ("%s\n", "Copyright (c) 2008");
+        g_print ("%s\n", "Copyright (c) 2008-2009");
         g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved."));
         g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT);
         g_print ("\n");
@@ -181,26 +179,28 @@
     /* open the channel */
     accessibility_channel = xfconf_channel_new ("accessibility");
 
+    /* hook to make sure the libxfce4ui library is linked */
+    if (xfce_titled_dialog_get_type () == 0)
+        return EXIT_FAILURE;
+
     /* load the glade interface */
-    gxml = glade_xml_new_from_buffer (accessibility_dialog_glade,
-                                      accessibility_dialog_glade_length,
-                                      NULL, NULL);
-
-    if (G_LIKELY (gxml != NULL))
+    builder = gtk_builder_new ();
+    if (gtk_builder_add_from_string (builder, accessibility_dialog_glade,
+                                     accessibility_dialog_glade_length, &error) != 0)
     {
         /* Configure widgets */
-        accessibility_settings_dialog_configure_widgets (gxml);
+        accessibility_settings_dialog_configure_widgets (builder);
 
         if (G_UNLIKELY (opt_socket_id == 0))
         {
             /* Get the dialog widget */
-            dialog = glade_xml_get_widget (gxml, "accessibility-settings-dialog");
+            dialog = gtk_builder_get_object (builder, "dialog");
 
             /* run the dialog */
             gtk_dialog_run (GTK_DIALOG (dialog));
 
             /* destroy the dialog */
-            gtk_widget_destroy (dialog);
+            gtk_widget_destroy (GTK_WIDGET (dialog));
         }
         else
         {
@@ -213,17 +213,22 @@
             gdk_notify_startup_complete ();
 
             /* Get plug child widget */
-            plug_child = glade_xml_get_widget (gxml, "plug-child");
-            gtk_widget_reparent (plug_child, plug);
-            gtk_widget_show (plug_child);
+            plug_child = gtk_builder_get_object (builder, "plug-child");
+            gtk_widget_reparent (GTK_WIDGET (plug_child), plug);
+            gtk_widget_show (GTK_WIDGET (plug_child));
 
             /* Enter main loop */
             gtk_main ();
         }
     }
+    else
+    {
+        g_error ("Failed to load the glade file: %s.", error->message);
+        g_error_free (error);
+    }
 
-    /* Free Glade XML */
-    g_object_unref (G_OBJECT (gxml));
+    /* Release Builder */
+    g_object_unref (G_OBJECT (builder));
 
     /* release the channel */
     g_object_unref (G_OBJECT (accessibility_channel));

Modified: xfce4-settings/trunk/dialogs/appearance-settings/Makefile.am
===================================================================
--- xfce4-settings/trunk/dialogs/appearance-settings/Makefile.am	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/appearance-settings/Makefile.am	2009-07-13 16:58:39 UTC (rev 30306)
@@ -18,11 +18,9 @@
 
 xfce4_appearance_settings_CFLAGS = \
 	$(GTK_CFLAGS) \
-	$(GLIB_CFLAGS) \
-	$(GLADE_CFLAGS) \
-	$(DBUS_GLIB_CFLAGS) \
-	$(LIBXFCEGUI4_CFLAGS) \
-	$(XFCONF_CFLAGS)
+	$(LIBXFCE4UI_CFLAGS) \
+	$(XFCONF_CFLAGS) \
+	$(PLATFORM_CFLAGS)
 
 xfce4_appearance_settings_LDFLAGS = \
 	-no-undefined \
@@ -30,10 +28,7 @@
 
 xfce4_appearance_settings_LDADD = \
 	$(GTK_LIBS) \
-	$(GLIB_LIBS) \
-	$(GLADE_LIBS) \
-	$(DBUS_GLIB_LIBS) \
-	$(LIBXFCEGUI4_LIBS) \
+	$(LIBXFCE4UI_LIBS) \
 	$(XFCONF_LIBS)
 
 if MAINTAINER_MODE

Modified: xfce4-settings/trunk/dialogs/appearance-settings/appearance-dialog.glade
===================================================================
--- xfce4-settings/trunk/dialogs/appearance-settings/appearance-dialog.glade	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/appearance-settings/appearance-dialog.glade	2009-07-13 16:58:39 UTC (rev 30306)
@@ -1,143 +1,197 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Sun Nov 16 15:17:35 2008 -->
-<glade-interface>
-  <requires lib="xfce4"/>
-  <widget class="XfceTitledDialog" id="appearance-settings-dialog">
+<?xml version="1.0"?>
+<interface>
+  <!-- interface-requires gtk+ 2.12 -->
+  <!-- interface-requires libxfce4ui 4.5 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkAdjustment" id="xft_custom_dpi">
+    <property name="value">96</property>
+    <property name="lower">48</property>
+    <property name="upper">1000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkListStore" id="liststore1">
+    <columns>
+      <!-- column-name title -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">None</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Slight</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Medium</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Full</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore2">
+    <columns>
+      <!-- column-name title -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Icons</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Text</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Both</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Both Horizontal</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="xft_rgba_store">
+    <columns>
+      <!-- column-name pixbuf -->
+      <column type="GdkPixbuf"/>
+      <!-- column-name title -->
+      <column type="gchararray"/>
+    </columns>
+  </object>
+  <object class="XfceTitledDialog" id="dialog">
     <property name="title" translatable="yes">Appearance</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="icon_name">preferences-desktop-theme</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <property name="subtitle" translatable="yes">Customize the look of your desktop</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">2</property>
         <child>
-          <widget class="GtkNotebook" id="plug-child">
+          <object class="GtkNotebook" id="plug-child">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="border_width">6</property>
             <child>
-              <widget class="GtkScrolledWindow" id="scrolledwindow2">
+              <object class="GtkScrolledWindow" id="scrolledwindow2">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="border_width">12</property>
-                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <property name="shadow_type">etched-in</property>
                 <child>
-                  <widget class="GtkTreeView" id="gtk_theme_treeview">
+                  <object class="GtkTreeView" id="gtk_theme_treeview">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="headers_visible">False</property>
                     <property name="show_expanders">False</property>
-                  </widget>
+                  </object>
                 </child>
-              </widget>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label1">
+            <child type="tab">
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">St_yle</property>
                 <property name="use_underline">True</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkScrolledWindow" id="scrolledwindow1">
+              <object class="GtkScrolledWindow" id="scrolledwindow1">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="border_width">12</property>
-                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <property name="shadow_type">etched-in</property>
                 <child>
-                  <widget class="GtkTreeView" id="icon_theme_treeview">
+                  <object class="GtkTreeView" id="icon_theme_treeview">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="headers_visible">False</property>
                     <property name="show_expanders">False</property>
-                  </widget>
+                  </object>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label2">
+            <child type="tab">
+              <object class="GtkLabel" id="label2">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">_Icons</property>
                 <property name="use_underline">True</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">1</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox3">
+              <object class="GtkVBox" id="vbox3">
                 <property name="visible">True</property>
                 <property name="border_width">12</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">12</property>
                 <child>
-                  <widget class="GtkFrame" id="frame3">
+                  <object class="GtkFrame" id="frame3">
                     <property name="visible">True</property>
                     <property name="label_xalign">0</property>
-                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <property name="shadow_type">none</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment3">
+                      <object class="GtkAlignment" id="alignment3">
                         <property name="visible">True</property>
                         <property name="border_width">6</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkFontButton" id="gtk_fontname_button">
+                          <object class="GtkFontButton" id="gtk_fontname_button">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="tooltip" translatable="yes">This font will be used as the default font used when drawing user interface text</property>
-                            <property name="response_id">0</property>
+                            <property name="tooltip_text" translatable="yes">This font will be used as the default font used when drawing user interface text</property>
                             <property name="title" translatable="yes">Select a default font</property>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                     </child>
-                    <child>
-                      <widget class="GtkLabel" id="label7">
+                    <child type="label">
+                      <object class="GtkLabel" id="label7">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>Default Fon_t</b></property>
-                        <property name="use_markup">True</property>
+                        <property name="label" translatable="yes">Default Fon_t</property>
                         <property name="use_underline">True</property>
                         <property name="mnemonic_widget">gtk_fontname_button</property>
-                      </widget>
-                      <packing>
-                        <property name="type">label_item</property>
-                      </packing>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkFrame" id="frame4">
+                  <object class="GtkFrame" id="frame4">
                     <property name="visible">True</property>
                     <property name="label_xalign">0</property>
-                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <property name="shadow_type">none</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment4">
+                      <object class="GtkAlignment" id="alignment4">
                         <property name="visible">True</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkTable" id="table1">
+                          <object class="GtkTable" id="table1">
                             <property name="visible">True</property>
                             <property name="border_width">6</property>
                             <property name="n_rows">3</property>
@@ -145,11 +199,17 @@
                             <property name="column_spacing">12</property>
                             <property name="row_spacing">6</property>
                             <child>
-                              <widget class="GtkComboBox" id="xft_hinting_style_combo_box">
+                              <object class="GtkComboBox" id="xft_hinting_style_combo_box">
                                 <property name="visible">True</property>
-                                <property name="tooltip" translatable="yes">Many fonts contain information that provides extra hints as to how best draw the font; pick whichever looks best according to personal preference</property>
-                                <property name="items" translatable="yes"></property>
-                              </widget>
+                                <property name="tooltip_text" translatable="yes">Many fonts contain information that provides extra hints as to how best draw the font; pick whichever looks best according to personal preference</property>
+                                <property name="model">liststore1</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                                  <attributes>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
@@ -158,11 +218,23 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkComboBox" id="xft_rgba_combo_box">
+                              <object class="GtkComboBox" id="xft_rgba_combo_box">
                                 <property name="visible">True</property>
-                                <property name="tooltip" translatable="yes">Font quality on a TFT or LCD screen can be greatly improved by choosing the correct sub-pixel order of the screen</property>
-                                <property name="items" translatable="yes"></property>
-                              </widget>
+                                <property name="tooltip_text" translatable="yes">Font quality on a TFT or LCD screen can be greatly improved by choosing the correct sub-pixel order of the screen</property>
+                                <property name="model">xft_rgba_store</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="cellrenderertext3"/>
+                                  <attributes>
+                                    <attribute name="text">1</attribute>
+                                  </attributes>
+                                </child>
+                                <child>
+                                  <object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/>
+                                  <attributes>
+                                    <attribute name="pixbuf">0</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
@@ -171,13 +243,13 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label11">
+                              <object class="GtkLabel" id="label11">
                                 <property name="visible">True</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes">Sub-_pixel order:</property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">xft_rgba_combo_box</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="top_attach">2</property>
                                 <property name="bottom_attach">3</property>
@@ -185,13 +257,13 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label10">
+                              <object class="GtkLabel" id="label10">
                                 <property name="visible">True</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes">_Hinting:</property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">xft_hinting_style_combo_box</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
@@ -199,339 +271,356 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkCheckButton" id="xft_antialias_check_button">
+                              <object class="GtkCheckButton" id="xft_antialias_check_button">
+                                <property name="label" translatable="yes">Enable _anti-aliasing</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Anti-aliasing, or font smoothing, can improve the look of text on the screen</property>
-                                <property name="label" translatable="yes">Enable _anti-aliasing</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Anti-aliasing, or font smoothing, can improve the look of text on the screen</property>
                                 <property name="use_underline">True</property>
                                 <property name="active">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="right_attach">2</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                     </child>
-                    <child>
-                      <widget class="GtkLabel" id="label8">
+                    <child type="label">
+                      <object class="GtkLabel" id="label8">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>Rendering</b></property>
-                        <property name="use_markup">True</property>
-                      </widget>
-                      <packing>
-                        <property name="type">label_item</property>
-                      </packing>
+                        <property name="label" translatable="yes">Rendering</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkFrame" id="frame5">
+                  <object class="GtkFrame" id="frame5">
                     <property name="visible">True</property>
                     <property name="label_xalign">0</property>
-                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <property name="shadow_type">none</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment5">
+                      <object class="GtkAlignment" id="alignment5">
                         <property name="visible">True</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkHBox" id="hbox1">
+                          <object class="GtkHBox" id="hbox1">
                             <property name="visible">True</property>
                             <property name="border_width">6</property>
                             <property name="spacing">12</property>
                             <child>
-                              <widget class="GtkCheckButton" id="xft_custom_dpi_check_button">
+                              <object class="GtkCheckButton" id="xft_custom_dpi_check_button">
+                                <property name="label" translatable="yes">Custom _DPI setting:</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Override the detected monitor resolution if fonts look too large or too small</property>
-                                <property name="label" translatable="yes">Custom _DPI setting:</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Override the detected monitor resolution if fonts look too large or too small</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
-                                <property name="active">False</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkSpinButton" id="xft_custom_dpi_spin_button">
+                              <object class="GtkSpinButton" id="xft_custom_dpi_spin_button">
                                 <property name="visible">True</property>
+                                <property name="sensitive">False</property>
                                 <property name="can_focus">True</property>
-                                <property name="adjustment">96 48 1000 1 10 0</property>
+                                <property name="adjustment">xft_custom_dpi</property>
                                 <property name="snap_to_ticks">True</property>
                                 <property name="numeric">True</property>
-                                <property name="update_policy">GTK_UPDATE_IF_VALID</property>
-                                <property name="sensitive">False</property>
-                              </widget>
+                                <property name="update_policy">if-valid</property>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                     </child>
-                    <child>
-                      <widget class="GtkLabel" id="label9">
+                    <child type="label">
+                      <object class="GtkLabel" id="label9">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>DPI</b></property>
-                        <property name="use_markup">True</property>
-                      </widget>
-                      <packing>
-                        <property name="type">label_item</property>
-                      </packing>
+                        <property name="label" translatable="yes">DPI</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">2</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label3">
+            <child type="tab">
+              <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">_Fonts</property>
                 <property name="use_underline">True</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">2</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox1">
+              <object class="GtkVBox" id="vbox1">
                 <property name="visible">True</property>
                 <property name="border_width">12</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkFrame" id="frame2">
+                  <object class="GtkFrame" id="frame2">
                     <property name="visible">True</property>
                     <property name="label_xalign">0</property>
-                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <property name="shadow_type">none</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment2">
+                      <object class="GtkAlignment" id="alignment2">
                         <property name="visible">True</property>
                         <property name="border_width">6</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkComboBox" id="gtk_toolbar_style_combo_box">
+                          <object class="GtkComboBox" id="gtk_toolbar_style_combo_box">
                             <property name="visible">True</property>
-                            <property name="tooltip" translatable="yes">Specify what should be displayed in toolbar items</property>
-                            <property name="items" translatable="yes"></property>
-                          </widget>
+                            <property name="tooltip_text" translatable="yes">Specify what should be displayed in toolbar items</property>
+                            <property name="model">liststore2</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="cellrenderertext2"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                     </child>
-                    <child>
-                      <widget class="GtkLabel" id="label6">
+                    <child type="label">
+                      <object class="GtkLabel" id="label6">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>_Toolbar Style</b></property>
-                        <property name="use_markup">True</property>
+                        <property name="label" translatable="yes">_Toolbar Style</property>
                         <property name="use_underline">True</property>
                         <property name="mnemonic_widget">gtk_toolbar_style_combo_box</property>
-                      </widget>
-                      <packing>
-                        <property name="type">label_item</property>
-                      </packing>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkFrame" id="frame1">
+                  <object class="GtkFrame" id="frame1">
                     <property name="visible">True</property>
                     <property name="label_xalign">0</property>
-                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <property name="shadow_type">none</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment1">
+                      <object class="GtkAlignment" id="alignment1">
                         <property name="visible">True</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkVBox" id="vbox2">
+                          <object class="GtkVBox" id="vbox2">
                             <property name="visible">True</property>
                             <property name="border_width">6</property>
+                            <property name="orientation">vertical</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkCheckButton" id="gtk_button_images_check_button">
+                              <object class="GtkCheckButton" id="gtk_button_images_check_button">
+                                <property name="label" translatable="yes">Show images on _buttons</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Specify whether icons should be displayed next to text in buttons</property>
-                                <property name="label" translatable="yes">Show images on _buttons</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Specify whether icons should be displayed next to text in buttons</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
-                              </widget>
+                              </object>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                             <child>
-                              <widget class="GtkCheckButton" id="gtk_menu_images_check_button">
+                              <object class="GtkCheckButton" id="gtk_menu_images_check_button">
+                                <property name="label" translatable="yes">Show images in _menus</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Specify whether icons should be displayed next to items in menus</property>
-                                <property name="label" translatable="yes">Show images in _menus</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Specify whether icons should be displayed next to items in menus</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkCheckButton" id="gtk_caneditaccels_check_button">
+                              <object class="GtkCheckButton" id="gtk_caneditaccels_check_button">
+                                <property name="label" translatable="yes">Enable e_ditable accelerators</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">If selected, keyboard shortcuts for menu items can be changed by hovering the mouse over the menu item and pressing the new key combination for the shortcut</property>
-                                <property name="label" translatable="yes">Enable e_ditable accelerators</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">If selected, keyboard shortcuts for menu items can be changed by hovering the mouse over the menu item and pressing the new key combination for the shortcut</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="position">2</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                     </child>
-                    <child>
-                      <widget class="GtkLabel" id="label5">
+                    <child type="label">
+                      <object class="GtkLabel" id="label5">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>Menus and Buttons</b></property>
-                        <property name="use_markup">True</property>
-                      </widget>
-                      <packing>
-                        <property name="type">label_item</property>
-                      </packing>
+                        <property name="label" translatable="yes">Menus and Buttons</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkFrame" id="event_sounds_frame">
+                  <object class="GtkFrame" id="event_sounds_frame">
                     <property name="label_xalign">0</property>
-                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <property name="shadow_type">none</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment6">
+                      <object class="GtkAlignment" id="alignment6">
                         <property name="visible">True</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkVBox" id="vbox1">
+                          <object class="GtkVBox" id="vbox4">
                             <property name="visible">True</property>
                             <property name="border_width">6</property>
+                            <property name="orientation">vertical</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkCheckButton" id="enable_event_sounds_check_button">
+                              <object class="GtkCheckButton" id="enable_event_sounds_check_button">
+                                <property name="label" translatable="yes">Enable _event sounds</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Enable or disable event sounds globally (requires "Canberra" support)</property>
-                                <property name="label" translatable="yes">Enable _event sounds</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Enable or disable event sounds globally (requires "Canberra" support)</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
-                              </widget>
+                              </object>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                             <child>
-                              <widget class="GtkCheckButton" id="enable_input_feedback_sounds_button">
+                              <object class="GtkCheckButton" id="enable_input_feedback_sounds_button">
+                                <property name="label" translatable="yes">Enable i_nput feedback sounds</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Specify whether mouse clicks and other user input will cause event sounds to play</property>
-                                <property name="label" translatable="yes">Enable i_nput feedback sounds</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Specify whether mouse clicks and other user input will cause event sounds to play</property>
                                 <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="position">3</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                     </child>
-                    <child>
-                      <widget class="GtkLabel" id="label4">
+                    <child type="label">
+                      <object class="GtkLabel" id="label4">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>Event sounds</b></property>
-                        <property name="use_markup">True</property>
-                      </widget>
-                      <packing>
-                        <property name="type">label_item</property>
-                      </packing>
+                        <property name="label" translatable="yes">Event sounds</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">2</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">3</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label12">
+            <child type="tab">
+              <object class="GtkLabel" id="label12">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">_Settings</property>
                 <property name="use_underline">True</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">3</property>
                 <property name="tab_fill">False</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">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="button1">
+              <object class="GtkButton" id="button1">
+                <property name="label">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-close</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-              </widget>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="0">button1</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Modified: xfce4-settings/trunk/dialogs/appearance-settings/main.c
===================================================================
--- xfce4-settings/trunk/dialogs/appearance-settings/main.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/appearance-settings/main.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -31,9 +31,8 @@
 
 #include <glib.h>
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
 #include <libxfce4util/libxfce4util.h>
 #include <xfconf/xfconf.h>
 
@@ -96,20 +95,20 @@
 static int
 compute_xsettings_dpi (GtkWidget *widget)
 {
-    Screen *xscreen;
+    GdkScreen *screen;
     int width_mm, height_mm;
     int width, height;
     int dpi;
-    
-    xscreen = GDK_SCREEN_XSCREEN (gtk_widget_get_screen (widget));
-    width_mm = WidthMMOfScreen (xscreen);
-    height_mm = HeightMMOfScreen (xscreen);
+
+    screen = gtk_widget_get_screen (widget);
+    width_mm = gdk_screen_get_width_mm (screen);
+    height_mm = gdk_screen_get_height_mm (screen);
     dpi = FALLBACK_DPI;
-    
+
     if (width_mm > 0 && height_mm > 0)
     {
-        width = WidthOfScreen (xscreen);
-        height = HeightOfScreen (xscreen);
+        width = gdk_screen_get_width (screen);
+        height = gdk_screen_get_height (screen);
         dpi = MIN (INCH_MM * width  / width_mm,
                    INCH_MM * height / height_mm);
     }
@@ -502,15 +501,16 @@
 appearance_settings_dialog_channel_property_changed (XfconfChannel *channel,
                                                      const gchar   *property_name,
                                                      const GValue  *value,
-                                                     GladeXML      *gxml)
+                                                     GtkBuilder    *builder)
 {
-    GtkWidget    *widget, *spin;
+    GObject      *object;
     gchar        *str;
     guint         i;
-    gint          antialias;
+    gint          antialias, dpi, custom_dpi;
     GtkTreeModel *model;
 
     g_return_if_fail (property_name != NULL);
+    g_return_if_fail (GTK_IS_BUILDER (builder));
 
     if (strcmp (property_name, "/Xft/RGBA") == 0)
     {
@@ -519,8 +519,8 @@
         {
             if (strcmp (str, xft_rgba_array[i]) == 0)
             {
-                widget = glade_xml_get_widget (gxml, "xft_rgba_combo_box");
-                gtk_combo_box_set_active (GTK_COMBO_BOX (widget), i);
+                object = gtk_builder_get_object (builder, "xft_rgba_combo_box");
+                gtk_combo_box_set_active (GTK_COMBO_BOX (object), i);
                 break;
             }
         }
@@ -533,8 +533,8 @@
         {
             if (strcmp (str, toolbar_styles_array[i]) == 0)
             {
-                widget = glade_xml_get_widget (gxml, "gtk_toolbar_style_combo_box");
-                gtk_combo_box_set_active (GTK_COMBO_BOX (widget), i);
+                object = gtk_builder_get_object (builder, "gtk_toolbar_style_combo_box");
+                gtk_combo_box_set_active (GTK_COMBO_BOX (object), i);
                 break;
             }
         }
@@ -547,8 +547,8 @@
         {
             if (strcmp (str, xft_hint_styles_array[i]) == 0)
             {
-                widget = glade_xml_get_widget (gxml, "xft_hinting_style_combo_box");
-                gtk_combo_box_set_active (GTK_COMBO_BOX (widget), i);
+                object = gtk_builder_get_object (builder, "xft_hinting_style_combo_box");
+                gtk_combo_box_set_active (GTK_COMBO_BOX (object), i);
                 break;
             }
         }
@@ -556,251 +556,209 @@
     }
     else if (strcmp (property_name, "/Xft/Antialias") == 0)
     {
-        widget = glade_xml_get_widget (gxml, "xft_antialias_check_button");
+        object = gtk_builder_get_object (builder, "xft_antialias_check_button");
         antialias = xfconf_channel_get_int (xsettings_channel, property_name, -1);
         switch (antialias)
         {
             case 1:
-                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
+                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (object), TRUE);
                 break;
 
             case 0:
-                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
+                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (object), FALSE);
                 break;
 
             default: /* -1 */
-                gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (widget), TRUE);
+                gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (object), TRUE);
                 break;
         }
     }
     else if (strcmp (property_name, "/Xft/DPI") == 0)
     {
         /* The DPI has changed, so get its value and the last known custom value */
-        gint dpi = xfconf_channel_get_int (xsettings_channel, property_name, FALLBACK_DPI);
-        gint custom_dpi = xfconf_channel_get_int (xsettings_channel, "/Xfce/LastCustomDPI", -1);
-          
+        dpi = xfconf_channel_get_int (xsettings_channel, property_name, FALLBACK_DPI);
+        custom_dpi = xfconf_channel_get_int (xsettings_channel, "/Xfce/LastCustomDPI", -1);
+
         /* Activate the check button if we're using a custom DPI */
-        widget = glade_xml_get_widget (gxml, "xft_custom_dpi_check_button");
-        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), dpi >= 0);
+        object = gtk_builder_get_object (builder, "xft_custom_dpi_check_button");
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (object), dpi >= 0);
 
         /* If we're not using a custom DPI, compute the future custom DPI automatically */
         if (custom_dpi == -1)
-            custom_dpi = compute_xsettings_dpi (widget);
+            custom_dpi = compute_xsettings_dpi (GTK_WIDGET (object));
 
-        spin = glade_xml_get_widget (gxml, "xft_custom_dpi_spin_button");
+        object = gtk_builder_get_object (builder, "xft_custom_dpi_spin_button");
 
         if (dpi > 0)
         {
             /* We're using a custom DPI, so use the current DPI setting for the spin value */
-            gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), dpi);
+            gtk_spin_button_set_value (GTK_SPIN_BUTTON (object), dpi);
         }
         else
         {
             /* Set the spin button value to the last custom DPI */
-            gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), custom_dpi);
+            gtk_spin_button_set_value (GTK_SPIN_BUTTON (object), custom_dpi);
         }
     }
     else if (strcmp (property_name, "/Net/ThemeName") == 0)
     {
-        widget = glade_xml_get_widget (gxml, "gtk_theme_treeview");
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget));
+        object = gtk_builder_get_object (builder, "gtk_theme_treeview");
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (object));
         gtk_list_store_clear (GTK_LIST_STORE (model));
-        appearance_settings_load_ui_themes (GTK_LIST_STORE (model), GTK_TREE_VIEW (widget));
+        appearance_settings_load_ui_themes (GTK_LIST_STORE (model), GTK_TREE_VIEW (object));
     }
     else if (strcmp (property_name, "/Net/IconThemeName") == 0)
     {
-        widget = glade_xml_get_widget (gxml, "icon_theme_treeview");
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget));
+        object = gtk_builder_get_object (builder, "icon_theme_treeview");
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (object));
         gtk_list_store_clear (GTK_LIST_STORE (model));
-        appearance_settings_load_icon_themes (GTK_LIST_STORE (model), GTK_TREE_VIEW (widget));
+        appearance_settings_load_icon_themes (GTK_LIST_STORE (model), GTK_TREE_VIEW (object));
     }
 }
 
 static void
-appearance_settings_dialog_configure_widgets (GladeXML *gxml)
+appearance_settings_dialog_configure_widgets (GtkBuilder *builder)
 {
+    GObject          *object, *object2;
     GtkListStore     *list_store;
     GtkCellRenderer  *renderer;
-    GtkTreeSelection *icon_selection, *ui_selection;
     GdkPixbuf        *pixbuf;
+    GtkTreeSelection *selection;
 
     /* Icon themes list */
-    GtkWidget *icon_theme_treeview = glade_xml_get_widget (gxml, "icon_theme_treeview");
+    object = gtk_builder_get_object (builder, "icon_theme_treeview");
 
     list_store = gtk_list_store_new (N_THEME_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
     gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store), COLUMN_THEME_DISPLAY_NAME, GTK_SORT_ASCENDING);
-    gtk_tree_view_set_model (GTK_TREE_VIEW (icon_theme_treeview), GTK_TREE_MODEL (list_store));
-#if GTK_CHECK_VERSION (2, 12, 0)
-    gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (icon_theme_treeview), COLUMN_THEME_COMMENT);
-#endif
+    gtk_tree_view_set_model (GTK_TREE_VIEW (object), GTK_TREE_MODEL (list_store));
+    gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (object), COLUMN_THEME_COMMENT);
 
     renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (icon_theme_treeview), 0, "", renderer, "text", COLUMN_THEME_DISPLAY_NAME, NULL);
+    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (object), 0, "", renderer, "text", COLUMN_THEME_DISPLAY_NAME, NULL);
 
-    appearance_settings_load_icon_themes (list_store, GTK_TREE_VIEW (icon_theme_treeview));
+    appearance_settings_load_icon_themes (list_store, GTK_TREE_VIEW (object));
 
     g_object_unref (G_OBJECT (list_store));
 
-    icon_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (icon_theme_treeview));
-    gtk_tree_selection_set_mode (icon_selection, GTK_SELECTION_SINGLE);
-    g_signal_connect (G_OBJECT (icon_selection), "changed", G_CALLBACK (cb_icon_theme_tree_selection_changed), NULL);
+    selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (object));
+    gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
+    g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (cb_icon_theme_tree_selection_changed), NULL);
 
     /* Gtk (UI) themes */
-    GtkWidget *ui_theme_treeview = glade_xml_get_widget (gxml, "gtk_theme_treeview");
+    object = gtk_builder_get_object (builder, "gtk_theme_treeview");
 
     list_store = gtk_list_store_new (N_THEME_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
     gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store), COLUMN_THEME_DISPLAY_NAME, GTK_SORT_ASCENDING);
-    gtk_tree_view_set_model (GTK_TREE_VIEW (ui_theme_treeview), GTK_TREE_MODEL (list_store));
-#if GTK_CHECK_VERSION (2, 12, 0)
-    gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (ui_theme_treeview), COLUMN_THEME_COMMENT);
-#endif
+    gtk_tree_view_set_model (GTK_TREE_VIEW (object), GTK_TREE_MODEL (list_store));
+    gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (object), COLUMN_THEME_COMMENT);
 
     renderer = gtk_cell_renderer_text_new();
-    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (ui_theme_treeview), 0, "", renderer, "text", COLUMN_THEME_DISPLAY_NAME, NULL);
+    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (object), 0, "", renderer, "text", COLUMN_THEME_DISPLAY_NAME, NULL);
 
-    appearance_settings_load_ui_themes (list_store, GTK_TREE_VIEW (ui_theme_treeview));
+    appearance_settings_load_ui_themes (list_store, GTK_TREE_VIEW (object));
 
     g_object_unref (G_OBJECT (list_store));
 
-    ui_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (ui_theme_treeview));
-    gtk_tree_selection_set_mode (ui_selection, GTK_SELECTION_SINGLE);
-    g_signal_connect (G_OBJECT (ui_selection), "changed", G_CALLBACK (cb_ui_theme_tree_selection_changed), NULL);
+    selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (object));
+    gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
+    g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (cb_ui_theme_tree_selection_changed), NULL);
 
     /* Subpixel (rgba) hinting Combo */
-    GtkWidget *rgba_combo_box = glade_xml_get_widget (gxml, "xft_rgba_combo_box");
+    object = gtk_builder_get_object (builder, "xft_rgba_store");
 
-    list_store = gtk_list_store_new (N_RGBA_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING);
-
     pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_none_xpm);
-    gtk_list_store_insert_with_values (list_store, NULL, 0, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("None"), -1);
+    gtk_list_store_insert_with_values (GTK_LIST_STORE (object), NULL, 0, 0, pixbuf, 1, _("None"), -1);
     g_object_unref (G_OBJECT (pixbuf));
 
     pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_rgb_xpm);
-    gtk_list_store_insert_with_values (list_store, NULL, 1, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("RGB"), -1);
+    gtk_list_store_insert_with_values (GTK_LIST_STORE (object), NULL, 1, 0, pixbuf, 1, _("RGB"), -1);
     g_object_unref (G_OBJECT (pixbuf));
 
     pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_bgr_xpm);
-    gtk_list_store_insert_with_values (list_store, NULL, 2, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("BGR"), -1);
+    gtk_list_store_insert_with_values (GTK_LIST_STORE (object), NULL, 2, 0, pixbuf, 1, _("BGR"), -1);
     g_object_unref (G_OBJECT (pixbuf));
 
     pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_vrgb_xpm);
-    gtk_list_store_insert_with_values (list_store, NULL, 3, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("Vertical RGB"), -1);
+    gtk_list_store_insert_with_values (GTK_LIST_STORE (object), NULL, 3, 0, pixbuf, 1, _("Vertical RGB"), -1);
     g_object_unref (G_OBJECT (pixbuf));
 
     pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_vbgr_xpm);
-    gtk_list_store_insert_with_values (list_store, NULL, 4, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("Vertical BGR"), -1);
+    gtk_list_store_insert_with_values (GTK_LIST_STORE (object), NULL, 4, 0, pixbuf, 1, _("Vertical BGR"), -1);
     g_object_unref (G_OBJECT (pixbuf));
 
-    renderer = gtk_cell_renderer_pixbuf_new ();
-    gtk_cell_layout_clear (GTK_CELL_LAYOUT (rgba_combo_box));
-    gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (rgba_combo_box), renderer, FALSE);
-    gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (rgba_combo_box), renderer, "pixbuf", COLUMN_RGBA_PIXBUF);
+    object = gtk_builder_get_object (builder, "xft_rgba_combo_box");
+    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Xft/RGBA", NULL, builder);
+    g_signal_connect (G_OBJECT (object), "changed", G_CALLBACK (cb_rgba_style_combo_changed), NULL);
 
-    renderer = gtk_cell_renderer_text_new ();
-    gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (rgba_combo_box), renderer, TRUE);
-    gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (rgba_combo_box), renderer, "text", COLUMN_RGBA_NAME);
-
-    gtk_combo_box_set_model (GTK_COMBO_BOX (rgba_combo_box), GTK_TREE_MODEL (list_store));
-    g_object_unref (G_OBJECT (list_store));
-    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Xft/RGBA", NULL, gxml);
-    g_signal_connect (G_OBJECT (rgba_combo_box), "changed", G_CALLBACK (cb_rgba_style_combo_changed), NULL);
-
     /* Enable editable menu accelerators */
-    GtkWidget *caneditaccels_check_button = glade_xml_get_widget (gxml, "gtk_caneditaccels_check_button");
+    object = gtk_builder_get_object (builder, "gtk_caneditaccels_check_button");
     xfconf_g_property_bind (xsettings_channel, "/Gtk/CanChangeAccels", G_TYPE_BOOLEAN,
-                            G_OBJECT (caneditaccels_check_button), "active");
+                            G_OBJECT (object), "active");
 
     /* Show menu images */
-    GtkWidget *menu_images_check_button = glade_xml_get_widget (gxml, "gtk_menu_images_check_button");
+    object = gtk_builder_get_object (builder, "gtk_menu_images_check_button");
     xfconf_g_property_bind (xsettings_channel, "/Gtk/MenuImages", G_TYPE_BOOLEAN,
-                            G_OBJECT (menu_images_check_button), "active");
+                            G_OBJECT (object), "active");
 
     /* Show button images */
-    GtkWidget *button_images_check_button = glade_xml_get_widget (gxml, "gtk_button_images_check_button");
+    object = gtk_builder_get_object (builder, "gtk_button_images_check_button");
     xfconf_g_property_bind (xsettings_channel, "/Gtk/ButtonImages", G_TYPE_BOOLEAN,
-                            G_OBJECT (button_images_check_button), "active");
+                            G_OBJECT (object), "active");
 
     /* Font name */
-    GtkWidget *fontname_button = glade_xml_get_widget (gxml, "gtk_fontname_button");
+    object = gtk_builder_get_object (builder, "gtk_fontname_button");
     xfconf_g_property_bind (xsettings_channel,  "/Gtk/FontName", G_TYPE_STRING,
-                            G_OBJECT (fontname_button), "font-name");
+                            G_OBJECT (object), "font-name");
 
     /* Toolbar style */
-    GtkWidget *toolbar_style_combo = glade_xml_get_widget (gxml, "gtk_toolbar_style_combo_box");
+    object = gtk_builder_get_object (builder, "gtk_toolbar_style_combo_box");
+    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Gtk/ToolbarStyle", NULL, builder);
+    g_signal_connect (G_OBJECT (object), "changed", G_CALLBACK(cb_toolbar_style_combo_changed), NULL);
 
-    list_store = gtk_list_store_new (1, G_TYPE_STRING);
-    gtk_list_store_insert_with_values (list_store, NULL, 0, 0, _("Icons"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 1, 0, _("Text"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 2, 0, _("Both"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 3, 0, _("Both Horizontal"), -1);
-
-    renderer = gtk_cell_renderer_text_new ();
-    gtk_cell_layout_clear (GTK_CELL_LAYOUT (toolbar_style_combo));
-    gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (toolbar_style_combo), renderer, TRUE);
-    gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (toolbar_style_combo), renderer, "text", 0);
-    gtk_combo_box_set_model (GTK_COMBO_BOX (toolbar_style_combo), GTK_TREE_MODEL (list_store));
-    g_object_unref (G_OBJECT (list_store));
-    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Gtk/ToolbarStyle", NULL, gxml);
-    g_signal_connect (G_OBJECT (toolbar_style_combo), "changed", G_CALLBACK(cb_toolbar_style_combo_changed), NULL);
-
     /* Hinting style */
-    GtkWidget *hinting_style_combo = glade_xml_get_widget (gxml, "xft_hinting_style_combo_box");
+    object = gtk_builder_get_object (builder, "xft_hinting_style_combo_box");
+    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Xft/HintStyle", NULL, builder);
+    g_signal_connect (G_OBJECT (object), "changed", G_CALLBACK (cb_hinting_style_combo_changed), NULL);
 
-    list_store = gtk_list_store_new (1, G_TYPE_STRING);
-    gtk_list_store_insert_with_values (list_store, NULL, 0, 0, _("None"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 1, 0, _("Slight"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 2, 0, _("Medium"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 3, 0, _("Full"), -1);
-
-    renderer = gtk_cell_renderer_text_new ();
-    gtk_cell_layout_clear (GTK_CELL_LAYOUT (hinting_style_combo));
-    gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (hinting_style_combo), renderer, TRUE);
-    gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (hinting_style_combo), renderer, "text", 0);
-    gtk_combo_box_set_model (GTK_COMBO_BOX (hinting_style_combo), GTK_TREE_MODEL (list_store));
-    g_object_unref (G_OBJECT (list_store));
-    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Xft/HintStyle", NULL, gxml);
-    g_signal_connect (G_OBJECT (hinting_style_combo), "changed", G_CALLBACK (cb_hinting_style_combo_changed), NULL);
-
     /* Hinting */
-    GtkWidget *antialias_check_button = glade_xml_get_widget (gxml, "xft_antialias_check_button");
-    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Xft/Antialias", NULL, gxml);
-    g_signal_connect (G_OBJECT (antialias_check_button), "toggled", G_CALLBACK (cb_antialias_check_button_toggled), NULL);
+    object = gtk_builder_get_object (builder, "xft_antialias_check_button");
+    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Xft/Antialias", NULL, builder);
+    g_signal_connect (G_OBJECT (object), "toggled", G_CALLBACK (cb_antialias_check_button_toggled), NULL);
 
     /* DPI */
-    GtkWidget *custom_dpi_check = glade_xml_get_widget (gxml, "xft_custom_dpi_check_button");
-    GtkWidget *custom_dpi_spin = glade_xml_get_widget (gxml, "xft_custom_dpi_spin_button");
-    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Xft/DPI", NULL, gxml);
-    g_signal_connect (custom_dpi_check, "toggled", G_CALLBACK (cb_custom_dpi_check_button_toggled), custom_dpi_spin);
-    g_signal_connect (custom_dpi_spin, "value-changed", G_CALLBACK (cb_custom_dpi_spin_button_changed), custom_dpi_check);
+    object = gtk_builder_get_object (builder, "xft_custom_dpi_check_button");
+    object2 = gtk_builder_get_object (builder, "xft_custom_dpi_spin_button");
+    appearance_settings_dialog_channel_property_changed (xsettings_channel, "/Xft/DPI", NULL, builder);
+    g_signal_connect (G_OBJECT (object), "toggled", G_CALLBACK (cb_custom_dpi_check_button_toggled), object2);
+    g_signal_connect (G_OBJECT (object2), "value-changed", G_CALLBACK (cb_custom_dpi_spin_button_changed), object);
 
 #ifdef ENABLE_SOUND_SETTINGS
     /* Sounds */
-    GtkWidget *event_sounds_frame = glade_xml_get_widget (gxml, "event_sounds_frame");
-    GtkWidget *enable_event_sounds_check_button = glade_xml_get_widget (gxml, "enable_event_sounds_check_button");
-    GtkWidget *enable_input_feedback_sounds_button  = glade_xml_get_widget (gxml, "enable_input_feedback_sounds_button");
+    object = gtk_builder_get_object (builder, "event_sounds_frame");
+    gtk_widget_show (GTK_WIDGET (object));
 
-    gtk_widget_show (event_sounds_frame);
-    g_signal_connect (G_OBJECT (enable_event_sounds_check_button),
-                      "toggled",
-                      G_CALLBACK (cb_enable_event_sounds_check_button_toggled),
-                      enable_input_feedback_sounds_button);
+    object = gtk_builder_get_object (builder, "enable_event_sounds_check_button");
+    object2  = gtk_builder_get_object (builder, "enable_input_feedback_sounds_button");
+
+    g_signal_connect (G_OBJECT (object), "toggled",
+                      G_CALLBACK (cb_enable_event_sounds_check_button_toggled), object2);
+
     xfconf_g_property_bind (xsettings_channel, "/Net/EnableEventSounds", G_TYPE_BOOLEAN,
-                            G_OBJECT (enable_event_sounds_check_button), "active");
+                            G_OBJECT (object), "active");
     xfconf_g_property_bind (xsettings_channel, "/Net/EnableInputFeedbackSounds", G_TYPE_BOOLEAN,
-                            G_OBJECT (enable_input_feedback_sounds_button), "active");
-    gtk_widget_set_sensitive (GTK_BUTTON (enable_input_feedback_sounds_button),
-                              gtk_toggle_button_get_active (enable_event_sounds_check_button));
+                            G_OBJECT (object2), "active");
+
+    gtk_widget_set_sensitive (GTK_WIDGET (object), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (object2)));
 #endif
 }
 
 gint
 main(gint argc, gchar **argv)
 {
-    GtkWidget *dialog;
-    GtkWidget *plug;
-    GtkWidget *plug_child;
-    GladeXML  *gxml;
-    GError    *error = NULL;
+    GObject    *dialog, *plug_child;
+    GtkWidget  *plug;
+    GtkBuilder *builder;
+    GError     *error = NULL;
 
     /* setup translation domain */
     xfce_textdomain (GETTEXT_PACKAGE, LOCALEDIR, "UTF-8");
@@ -830,7 +788,7 @@
     if (G_UNLIKELY (opt_version))
     {
         g_print ("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string ());
-        g_print ("%s\n", "Copyright (c) 2004-2008");
+        g_print ("%s\n", "Copyright (c) 2004-2009");
         g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved."));
         g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT);
         g_print ("\n");
@@ -852,26 +810,28 @@
     xsettings_channel = xfconf_channel_new ("xsettings");
     if (G_LIKELY (xsettings_channel))
     {
-        /* load the dialog glade xml */
-        gxml = glade_xml_new_from_buffer (appearance_dialog_glade, appearance_dialog_glade_length, NULL, NULL);
-        if (G_LIKELY (gxml))
-        {
+        /* hook to make sure the libxfce4ui library is linked */
+        if (xfce_titled_dialog_get_type () == 0)
+            return EXIT_FAILURE;
+
+        /* load the glade interface */
+        builder = gtk_builder_new ();
+        if (gtk_builder_add_from_string (builder, appearance_dialog_glade,
+                                         appearance_dialog_glade_length, &error) != 0)
+          {
             /* connect signal to monitor the channel */
-            g_signal_connect (G_OBJECT (xsettings_channel), "property-changed", 
-                              G_CALLBACK (appearance_settings_dialog_channel_property_changed), gxml);
+            g_signal_connect (G_OBJECT (xsettings_channel), "property-changed",
+                G_CALLBACK (appearance_settings_dialog_channel_property_changed), builder);
 
-            appearance_settings_dialog_configure_widgets (gxml);
+            appearance_settings_dialog_configure_widgets (builder);
 
             if (G_UNLIKELY (opt_socket_id == 0))
             {
                 /* build the dialog */
-                dialog = glade_xml_get_widget (gxml, "appearance-settings-dialog");
+                dialog = gtk_builder_get_object (builder, "dialog");
 
                 /* run the dialog */
                 gtk_dialog_run (GTK_DIALOG (dialog));
-
-                /* destroy the dialog */
-                gtk_widget_destroy (dialog);
             }
             else
             {
@@ -884,18 +844,23 @@
                 gdk_notify_startup_complete ();
 
                 /* Get plug child widget */
-                plug_child = glade_xml_get_widget (gxml, "plug-child");
-                gtk_widget_reparent (plug_child, plug);
-                gtk_widget_show (plug_child);
+                plug_child = gtk_builder_get_object (builder, "plug-child");
+                gtk_widget_reparent (GTK_WIDGET (plug_child), plug);
+                gtk_widget_show (GTK_WIDGET (plug_child));
 
                 /* Enter main loop */
                 gtk_main ();
             }
-
-            /* release the glade xml */
-            g_object_unref (G_OBJECT (gxml));
         }
+        else
+        {
+            g_error ("Failed to load the glade file: %s.", error->message);
+            g_error_free (error);
+        }
 
+        /* Release Builder */
+        g_object_unref (G_OBJECT (builder));
+
         /* release the channel */
         g_object_unref (G_OBJECT (xsettings_channel));
     }

Modified: xfce4-settings/trunk/dialogs/display-settings/Makefile.am
===================================================================
--- xfce4-settings/trunk/dialogs/display-settings/Makefile.am	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/display-settings/Makefile.am	2009-07-13 16:58:39 UTC (rev 30306)
@@ -21,12 +21,10 @@
 
 xfce4_display_settings_CFLAGS = \
 	$(GTK_CFLAGS) \
-	$(GLIB_CFLAGS) \
-	$(GLADE_CFLAGS) \
-	$(DBUS_GLIB_CFLAGS) \
-	$(LIBXFCEGUI4_CFLAGS) \
+	$(LIBXFCE4UI_CFLAGS) \
 	$(XFCONF_CFLAGS) \
-	$(XRANDR_CFLAGS)
+	$(XRANDR_CFLAGS) \
+	$(PLATFORM_CFLAGS)
 
 xfce4_display_settings_LDFLAGS = \
 	-no-undefined \
@@ -34,10 +32,7 @@
 
 xfce4_display_settings_LDADD = \
 	$(GTK_LIBS) \
-	$(GLIB_LIBS) \
-	$(GLADE_LIBS) \
-	$(DBUS_GLIB_LIBS) \
-	$(LIBXFCEGUI4_LIBS) \
+	$(LIBXFCE4UI_LIBS) \
 	$(XFCONF_LIBS) \
 	$(XRANDR_LIBS)
 

Modified: xfce4-settings/trunk/dialogs/display-settings/display-dialog.glade
===================================================================
--- xfce4-settings/trunk/dialogs/display-settings/display-dialog.glade	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/display-settings/display-dialog.glade	2009-07-13 16:58:39 UTC (rev 30306)
@@ -1,60 +1,64 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Fri Oct 31 00:42:04 2008 -->
-<glade-interface>
-  <requires lib="xfce4"/>
-  <widget class="XfceTitledDialog" id="display-dialog">
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.14"/>
+  <!-- interface-requires libxfce4ui 4.5 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="XfceTitledDialog" id="display-dialog">
     <property name="title" translatable="yes">Display</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="default_width">400</property>
     <property name="default_height">350</property>
     <property name="icon_name">video-display</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <property name="subtitle" translatable="yes">Configure screen settings and layout</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">2</property>
         <child>
-          <widget class="GtkHBox" id="hbox1">
+          <object class="GtkHBox" id="hbox1">
             <property name="visible">True</property>
             <property name="border_width">12</property>
             <property name="spacing">12</property>
             <child>
-              <widget class="GtkScrolledWindow" id="scrolledwindow1">
+              <object class="GtkScrolledWindow" id="scrolledwindow1">
                 <property name="width_request">200</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <property name="shadow_type">etched-in</property>
                 <child>
-                  <widget class="GtkTreeView" id="randr-outputs">
+                  <object class="GtkTreeView" id="randr-outputs">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="headers_visible">False</property>
                     <property name="enable_search">False</property>
                     <property name="show_expanders">False</property>
-                  </widget>
+                  </object>
                 </child>
-              </widget>
+              </object>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
-              <widget class="GtkTable" id="table1">
+              <object class="GtkTable" id="table1">
                 <property name="visible">True</property>
                 <property name="n_rows">3</property>
                 <property name="n_columns">2</property>
                 <property name="column_spacing">12</property>
                 <property name="row_spacing">6</property>
                 <child>
-                  <widget class="GtkLabel" id="label5">
+                  <object class="GtkLabel" id="label5">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Ro_tation:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">randr-rotation</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="top_attach">2</property>
                     <property name="bottom_attach">3</property>
@@ -63,13 +67,13 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label4">
+                  <object class="GtkLabel" id="label4">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Refresh _rate:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">randr-refresh-rate</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="top_attach">1</property>
                     <property name="bottom_attach">2</property>
@@ -78,22 +82,22 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label3">
+                  <object class="GtkLabel" id="label3">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">R_esolution:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">randr-resolution</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="x_options">GTK_FILL</property>
                     <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkComboBox" id="randr-rotation">
+                  <object class="GtkComboBox" id="randr-rotation">
                     <property name="visible">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
@@ -103,9 +107,9 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkComboBox" id="randr-refresh-rate">
+                  <object class="GtkComboBox" id="randr-refresh-rate">
                     <property name="visible">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
@@ -115,60 +119,70 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkComboBox" id="randr-resolution">
+                  <object class="GtkComboBox" id="randr-resolution">
                     <property name="visible">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
                     <property name="y_options">GTK_FILL</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_area1">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="button-apply">
+              <object class="GtkButton" id="button-apply">
+                <property name="label">gtk-apply</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="tooltip" translatable="yes">Apply any changes and test the new display settings</property>
-                <property name="label">gtk-apply</property>
+                <property name="tooltip_text" translatable="yes">Apply any changes and test the new display settings</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">1</property>
-              </widget>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="button-close">
+              <object class="GtkButton" id="button-close">
+                <property name="label">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-close</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-              </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="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="1">button-apply</action-widget>
+      <action-widget response="0">button-close</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Modified: xfce4-settings/trunk/dialogs/display-settings/main.c
===================================================================
--- xfce4-settings/trunk/dialogs/display-settings/main.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/display-settings/main.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -31,10 +31,9 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <gdk/gdkx.h>
-#include <glade/glade.h>
 
 #include <xfconf/xfconf.h>
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
 #include <libxfce4util/libxfce4util.h>
 
 #include <X11/Xlib.h>
@@ -117,7 +116,7 @@
 
 static void
 display_setting_rotations_changed (GtkComboBox *combobox,
-                                   GladeXML    *gxml)
+                                   GtkBuilder  *builder)
 {
     gint value;
 
@@ -136,17 +135,17 @@
 
 
 static void
-display_setting_rotations_populate (GladeXML *gxml)
+display_setting_rotations_populate (GtkBuilder *builder)
 {
     GtkTreeModel *model;
-    GtkWidget    *combobox;
+    GObject      *combobox;
     Rotation      rotations;
     Rotation      active_rotation;
     guint         n;
     GtkTreeIter   iter;
 
     /* get the combo box store and clear it */
-    combobox = glade_xml_get_widget (gxml, "randr-rotation");
+    combobox = gtk_builder_get_object (builder, "randr-rotation");
     model = gtk_combo_box_get_model (GTK_COMBO_BOX (combobox));
     gtk_list_store_clear (GTK_LIST_STORE (model));
 
@@ -185,7 +184,7 @@
 
 static void
 display_setting_refresh_rates_changed (GtkComboBox *combobox,
-                                       GladeXML    *gxml)
+                                       GtkBuilder  *builder)
 {
     gint value;
 
@@ -204,10 +203,10 @@
 
 
 static void
-display_setting_refresh_rates_populate (GladeXML *gxml)
+display_setting_refresh_rates_populate (GtkBuilder *builder)
 {
     GtkTreeModel *model;
-    GtkWidget    *combobox;
+    GObject      *combobox;
     gshort       *rates;
     gint          nrates;
     GtkTreeIter   iter;
@@ -215,7 +214,7 @@
     gint          n, active = -1;
     gshort        diff, active_diff = G_MAXSHORT;
 #ifdef HAS_RANDR_ONE_POINT_TWO
-    GtkWidget    *rescombo;
+    GObject      *rescombo;
     XRRModeInfo  *mode_info;
     gchar        *mode_name;
     gfloat        rate;
@@ -223,16 +222,16 @@
 #endif
 
     /* get the combo box store and clear it */
-    combobox = glade_xml_get_widget (gxml, "randr-refresh-rate");
+    combobox = gtk_builder_get_object (builder, "randr-refresh-rate");
     model = gtk_combo_box_get_model (GTK_COMBO_BOX (combobox));
     gtk_list_store_clear (GTK_LIST_STORE (model));
 
 #ifdef HAS_RANDR_ONE_POINT_TWO
     /* get the selected resolution mode */
-    rescombo = glade_xml_get_widget (gxml, "randr-resolution");
+    rescombo = gtk_builder_get_object (builder, "randr-resolution");
     if (!display_setting_combo_box_get_value (GTK_COMBO_BOX (rescombo), (gint *) &active_mode))
         active_mode = 0;
-    
+
     if (xfce_randr)
     {
         /* find the selected resolution name */
@@ -314,7 +313,7 @@
 
 static void
 display_setting_resolutions_changed (GtkComboBox *combobox,
-                                     GladeXML    *gxml)
+                                     GtkBuilder  *builder)
 {
     gint value;
 
@@ -326,16 +325,16 @@
         XFCE_RANDR_LEGACY_RESOLUTION (xfce_randr_legacy) = value;
 
     /* update refresh rates */
-    display_setting_refresh_rates_populate (gxml);
+    display_setting_refresh_rates_populate (builder);
 }
 
 
 
 static void
-display_setting_resolutions_populate (GladeXML *gxml)
+display_setting_resolutions_populate (GtkBuilder *builder)
 {
     GtkTreeModel  *model;
-    GtkWidget     *combobox;
+    GObject       *combobox;
     XRRScreenSize *screen_sizes;
     gint           n, nsizes;
     gchar         *name;
@@ -346,7 +345,7 @@
 #endif
 
     /* get the combo box store and clear it */
-    combobox = glade_xml_get_widget (gxml, "randr-resolution");
+    combobox = gtk_builder_get_object (builder, "randr-resolution");
     model = gtk_combo_box_get_model (GTK_COMBO_BOX (combobox));
     gtk_list_store_clear (GTK_LIST_STORE (model));
 
@@ -409,7 +408,7 @@
 
 static void
 display_settings_treeview_selection_changed (GtkTreeSelection *selection,
-                                             GladeXML         *gxml)
+                                             GtkBuilder       *builder)
 {
     GtkTreeModel *model;
     GtkTreeIter   iter;
@@ -432,19 +431,19 @@
             xfce_randr_legacy->active_screen = active_id;
 
         /* update the combo boxes */
-        display_setting_resolutions_populate (gxml);
-        display_setting_rotations_populate (gxml);
+        display_setting_resolutions_populate (builder);
+        display_setting_rotations_populate (builder);
     }
 }
 
 
 
 static void
-display_settings_treeview_populate (GladeXML *gxml)
+display_settings_treeview_populate (GtkBuilder *builder)
 {
     gint              n;
     GtkListStore     *store;
-    GtkWidget        *treeview;
+    GObject          *treeview;
     GtkTreeIter       iter;
     gchar            *name;
     GtkTreeSelection *selection;
@@ -454,9 +453,9 @@
                                 G_TYPE_STRING, /* COLUMN_OUTPUT_NAME */
                                 G_TYPE_STRING, /* COLUMN_OUTPUT_ICON_NAME */
                                 G_TYPE_INT);   /* COLUMN_OUTPUT_ID */
-    
+
     /* set the treeview model */
-    treeview = glade_xml_get_widget (gxml, "randr-outputs");
+    treeview = gtk_builder_get_object (builder, "randr-outputs");
     gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
     selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
 
@@ -479,7 +478,7 @@
                                 COLUMN_OUTPUT_NAME, name,
                                 COLUMN_OUTPUT_ICON_NAME, "video-display",
                                 COLUMN_OUTPUT_ID, n, -1);
-            
+
             /* select active output */
             if (n == xfce_randr->active_output)
                 gtk_tree_selection_select_iter (selection, &iter);
@@ -503,7 +502,7 @@
 
             /* cleanup */
             g_free (name);
-            
+
             /* select active screen */
             if (n == xfce_randr_legacy->active_screen)
                 gtk_tree_selection_select_iter (selection, &iter);
@@ -537,9 +536,9 @@
 
 
 static void
-display_settings_dialog_response (GtkDialog *dialog,
-                                  gint       response_id,
-                                  GladeXML  *gxml)
+display_settings_dialog_response (GtkDialog  *dialog,
+                                  gint        response_id,
+                                  GtkBuilder *builder)
 {
     if (response_id == 1)
     {
@@ -561,7 +560,7 @@
             xfce_randr_legacy_reload (xfce_randr_legacy);
 
         /* update dialog */
-        display_settings_treeview_populate (gxml);
+        display_settings_treeview_populate (builder);
     }
     else
     {
@@ -573,18 +572,16 @@
 
 
 static GtkWidget *
-display_settings_dialog_new_from_xml (GladeXML *gxml)
+display_settings_dialog_new (GtkBuilder *builder)
 {
-    GtkWidget        *treeview;
+    GObject          *treeview;
     GtkCellRenderer  *renderer;
     GtkTreeSelection *selection;
-    GtkWidget        *combobox;
+    GObject          *combobox;
 
     /* get the treeview */
-    treeview = glade_xml_get_widget (gxml, "randr-outputs");
-#if GTK_CHECK_VERSION (2, 12, 0)
-        gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (treeview), COLUMN_OUTPUT_NAME);
-#endif
+    treeview = gtk_builder_get_object (builder, "randr-outputs");
+    gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (treeview), COLUMN_OUTPUT_NAME);
 
     /* icon renderer */
     renderer = gtk_cell_renderer_pixbuf_new ();
@@ -599,25 +596,25 @@
     /* treeview selection */
     selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
     gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
-    g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (display_settings_treeview_selection_changed), gxml);
+    g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (display_settings_treeview_selection_changed), builder);
 
     /* setup the combo boxes */
-    combobox = glade_xml_get_widget (gxml, "randr-resolution");
+    combobox = gtk_builder_get_object (builder, "randr-resolution");
     display_settings_combo_box_create (GTK_COMBO_BOX (combobox));
-    g_signal_connect (G_OBJECT (combobox), "changed", G_CALLBACK (display_setting_resolutions_changed), gxml);
+    g_signal_connect (G_OBJECT (combobox), "changed", G_CALLBACK (display_setting_resolutions_changed), builder);
 
-    combobox = glade_xml_get_widget (gxml, "randr-refresh-rate");
+    combobox = gtk_builder_get_object (builder, "randr-refresh-rate");
     display_settings_combo_box_create (GTK_COMBO_BOX (combobox));
-    g_signal_connect (G_OBJECT (combobox), "changed", G_CALLBACK (display_setting_refresh_rates_changed), gxml);
+    g_signal_connect (G_OBJECT (combobox), "changed", G_CALLBACK (display_setting_refresh_rates_changed), builder);
 
-    combobox = glade_xml_get_widget (gxml, "randr-rotation");
+    combobox = gtk_builder_get_object (builder, "randr-rotation");
     display_settings_combo_box_create (GTK_COMBO_BOX (combobox));
-    g_signal_connect (G_OBJECT (combobox), "changed", G_CALLBACK (display_setting_rotations_changed), gxml);
+    g_signal_connect (G_OBJECT (combobox), "changed", G_CALLBACK (display_setting_rotations_changed), builder);
 
     /* populate the treeview */
-    display_settings_treeview_populate (gxml);
+    display_settings_treeview_populate (builder);
 
-    return glade_xml_get_widget (gxml, "display-dialog");
+    return GTK_WIDGET (gtk_builder_get_object (builder, "display-dialog"));
 }
 
 
@@ -626,7 +623,7 @@
 main (gint argc, gchar **argv)
 {
     GtkWidget  *dialog;
-    GladeXML   *gxml;
+    GtkBuilder *builder;
     GError     *error = NULL;
     GdkDisplay *display;
     gboolean    succeeded = TRUE;
@@ -660,7 +657,7 @@
     if (G_UNLIKELY (opt_version))
     {
         g_print ("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string ());
-        g_print ("%s\n", "Copyright (c) 2004-2008");
+        g_print ("%s\n", "Copyright (c) 2004-2009");
         g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved."));
         g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT);
         g_print ("\n");
@@ -717,7 +714,7 @@
                 /* show an error dialog the version is too old */
                 dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE,
                                                  _("Failed to use the RandR extension"));
-                gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), error->message);
+                gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s", error->message);
                 gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_QUIT, GTK_RESPONSE_CLOSE);
                 gtk_dialog_run (GTK_DIALOG (dialog));
                 gtk_widget_destroy (dialog);
@@ -728,13 +725,18 @@
             }
         }
 
-        /* load the dialog glade xml */
-        gxml = glade_xml_new_from_buffer (display_dialog_glade, display_dialog_glade_length, NULL, NULL);
-        if (G_LIKELY (gxml))
+        /* hook to make sure the libxfce4ui library is linked */
+        if (xfce_titled_dialog_get_type () == 0)
+            return EXIT_FAILURE;
+
+        /* load the glade interface */
+        builder = gtk_builder_new ();
+        if (gtk_builder_add_from_string (builder, display_dialog_glade,
+                                         display_dialog_glade_length, &error) != 0)
         {
             /* build the dialog */
-            dialog = display_settings_dialog_new_from_xml (gxml);
-            g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (display_settings_dialog_response), gxml);
+            dialog = display_settings_dialog_new (builder);
+            g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (display_settings_dialog_response), builder);
 
 #if 0
 #ifdef HAS_RANDR_ONE_POINT_TWO
@@ -742,7 +744,7 @@
 #endif
             {
                 /* destroy the devices box */
-                box = glade_xml_get_widget (gxml, "randr-devices-tab");
+                box = gtk_builder_get_object (builder, "randr-devices-tab");
                 gtk_widget_destroy (box);
             }
 #endif
@@ -752,15 +754,16 @@
 
             /* enter the main loop */
             gtk_main ();
+        }
+        else
+        {
+            g_error ("Failed to load the glade file: %s.", error->message);
+            g_error_free (error);
+        }
 
-            /* destroy the dialog */
-            if (GTK_IS_WIDGET (dialog))
-                gtk_widget_destroy (dialog);
+        /* release the builder */
+        g_object_unref (G_OBJECT (builder));
 
-            /* release the glade xml */
-            g_object_unref (G_OBJECT (gxml));
-        }
-        
         err1:
 
         /* release the channel */
@@ -781,5 +784,5 @@
     xfconf_shutdown ();
 
     return (succeeded ? EXIT_SUCCESS : EXIT_FAILURE);
-    
+
 }

Modified: xfce4-settings/trunk/dialogs/keyboard-settings/Makefile.am
===================================================================
--- xfce4-settings/trunk/dialogs/keyboard-settings/Makefile.am	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/keyboard-settings/Makefile.am	2009-07-13 16:58:39 UTC (rev 30306)
@@ -22,15 +22,13 @@
 
 xfce4_keyboard_settings_CFLAGS = \
 	$(GTK_CFLAGS) \
-	$(GLIB_CFLAGS) \
-	$(GLADE_CFLAGS) \
-	$(DBUS_GLIB_CFLAGS) \
 	$(LIBXKLAVIER_CFLAGS) \
 	$(LIBXFCE4UTIL_CFLAGS) \
-	$(LIBXFCEGUI4_CFLAGS) \
+	$(LIBXFCE4UI_CFLAGS) \
 	$(LIBXFCE4KBD_PRIVATE_CFLAGS) \
 	$(EXO_CFLAGS) \
-	$(XFCONF_CFLAGS)
+	$(XFCONF_CFLAGS) \
+	$(PLATFORM_CFLAGS)
 
 xfce4_keyboard_settings_LDFLAGS = \
 	-no-undefined \
@@ -38,12 +36,9 @@
 
 xfce4_keyboard_settings_LDADD = \
 	$(GTK_LIBS) \
-	$(GLIB_LIBS) \
-	$(GLADE_LIBS) \
-	$(DBUS_GLIB_LIBS) \
 	$(LIBXKLAVIER_LIBS) \
 	$(LIBXFCE4UTIL_LIBS) \
-	$(LIBXFCEGUI4_LIBS) \
+	$(LIBXFCE4UI_LIBS) \
 	$(LIBXFCE4KBD_PRIVATE_LIBS) \
 	$(EXO_LIBS) \
 	$(XFCONF_LIBS)

Modified: xfce4-settings/trunk/dialogs/keyboard-settings/command-dialog.c
===================================================================
--- xfce4-settings/trunk/dialogs/keyboard-settings/command-dialog.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/keyboard-settings/command-dialog.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -3,19 +3,19 @@
 /*-
  * Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>.
  *
- * This program is free software; you can redistribute it and/or modify 
- * it under the terms of the GNU General Public License as published by 
- * the Free Software Foundation; either version 2 of the License, or (at 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
  * your option) any later version.
  *
- * This program is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty of 
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License 
- * along with this program; if not, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA  02111-1307  USA
  */
 
@@ -26,14 +26,12 @@
 #include <gtk/gtk.h>
 
 #include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
 
 #include "command-dialog.h"
 
 
 
-static void command_dialog_class_init      (CommandDialogClass *klass);
-static void command_dialog_init            (CommandDialog      *dialog);
 static void command_dialog_dispose         (GObject             *object);
 static void command_dialog_finalize        (GObject             *object);
 static void command_dialog_create_contents (CommandDialog      *dialog,
@@ -58,47 +56,15 @@
 
 
 
-static GObjectClass *command_dialog_parent_class = NULL;
+G_DEFINE_TYPE (CommandDialog, command_dialog, XFCE_TYPE_TITLED_DIALOG)
 
 
 
-GType
-command_dialog_get_type (void)
-{
-  static GType type = G_TYPE_INVALID;
-
-  if (G_UNLIKELY (type == G_TYPE_INVALID))
-    {
-      static const GTypeInfo info = 
-        {
-          sizeof (CommandDialogClass),
-          NULL,
-          NULL,
-          (GClassInitFunc) command_dialog_class_init,
-          NULL,
-          NULL,
-          sizeof (CommandDialog),
-          0,
-          (GInstanceInitFunc) command_dialog_init,
-          NULL,
-        };
-
-      type = g_type_register_static (XFCE_TYPE_TITLED_DIALOG, "CommandDialog", &info, 0);
-    }
-  
-  return type;
-}
-
-
-
 static void
 command_dialog_class_init (CommandDialogClass *klass)
 {
   GObjectClass *gobject_class;
 
-  /* Determine parent type class */
-  command_dialog_parent_class = g_type_class_peek_parent (klass);
-
   gobject_class = G_OBJECT_CLASS (klass);
   gobject_class->dispose = command_dialog_dispose;
   gobject_class->finalize = command_dialog_finalize;
@@ -136,7 +102,7 @@
                     const gchar *action)
 {
   CommandDialog *dialog;
-  
+
   dialog = COMMAND_DIALOG (g_object_new (TYPE_COMMAND_DIALOG, NULL));
 
   command_dialog_create_contents (dialog, shortcut, action);
@@ -146,7 +112,7 @@
 
 
 
-static void 
+static void
 command_dialog_create_contents (CommandDialog *dialog,
                                 const gchar   *shortcut,
                                 const gchar   *action)
@@ -195,7 +161,7 @@
   gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
   gtk_widget_show (label);
-  
+
   hbox = gtk_hbox_new (FALSE, 6);
   gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
   gtk_widget_show (hbox);
@@ -238,12 +204,12 @@
   gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
   gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
 
-  do 
+  do
     {
       response = gtk_dialog_run (GTK_DIALOG (dialog));
 
       if (G_UNLIKELY (response != GTK_RESPONSE_CANCEL && g_utf8_strlen (command_dialog_get_command (dialog), -1) == 0))
-        xfce_err (_("The command may not be empty."));
+        xfce_dialog_show_error (GTK_WINDOW (dialog), NULL, _("The command may not be empty."));
       else
         finished = TRUE;
     }
@@ -254,7 +220,7 @@
 
 
 
-static void 
+static void
 command_dialog_button_clicked (CommandDialog *dialog)
 {
   GtkWidget     *chooser;
@@ -263,9 +229,9 @@
 
   g_return_if_fail (IS_COMMAND_DIALOG (dialog));
 
-  chooser = gtk_file_chooser_dialog_new (_("Select command"), 
-                                         GTK_WINDOW (dialog), 
-                                         GTK_FILE_CHOOSER_ACTION_OPEN, 
+  chooser = gtk_file_chooser_dialog_new (_("Select command"),
+                                         GTK_WINDOW (dialog),
+                                         GTK_FILE_CHOOSER_ACTION_OPEN,
                                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                          GTK_STOCK_OPEN, GTK_RESPONSE_OK, NULL);
 

Modified: xfce4-settings/trunk/dialogs/keyboard-settings/command-dialog.h
===================================================================
--- xfce4-settings/trunk/dialogs/keyboard-settings/command-dialog.h	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/keyboard-settings/command-dialog.h	2009-07-13 16:58:39 UTC (rev 30306)
@@ -3,19 +3,19 @@
 /*-
  * Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>.
  *
- * This program is free software; you can redistribute it and/or modify 
- * it under the terms of the GNU General Public License as published by 
- * the Free Software Foundation; either version 2 of the License, or (at 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
  * your option) any later version.
  *
- * This program is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty of 
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License 
- * along with this program; if not, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA  02111-1307  USA
  */
 

Modified: xfce4-settings/trunk/dialogs/keyboard-settings/keyboard-dialog.glade
===================================================================
--- xfce4-settings/trunk/dialogs/keyboard-settings/keyboard-dialog.glade	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/keyboard-settings/keyboard-dialog.glade	2009-07-13 16:58:39 UTC (rev 30306)
@@ -1,112 +1,144 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Sun Nov 16 15:59:31 2008 -->
-<glade-interface>
-  <requires lib="xfce4"/>
-  <widget class="XfceTitledDialog" id="keyboard-settings-dialog">
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.14"/>
+  <!-- interface-requires libxfce4ui 4.5 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkAdjustment" id="xkb_key_repeat_delay">
+    <property name="value">500</property>
+    <property name="lower">10</property>
+    <property name="upper">1000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">1</property>
+  </object>
+  <object class="GtkAdjustment" id="xkb_key_repeat_rate">
+    <property name="value">20</property>
+    <property name="lower">1</property>
+    <property name="upper">250</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">1</property>
+  </object>
+  <object class="GtkAdjustment" id="net_cursor_blink_time">
+    <property name="value">1000</property>
+    <property name="lower">100</property>
+    <property name="upper">2000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">1</property>
+  </object>
+  <object class="XfceTitledDialog" id="keyboard-settings-dialog">
     <property name="title" translatable="yes">Keyboard</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="default_width">400</property>
     <property name="icon_name">preferences-desktop-keyboard</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <property name="subtitle" translatable="yes">Edit keyboard settings and application shortcuts</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">2</property>
         <child>
-          <widget class="GtkVBox" id="plug-child">
+          <object class="GtkVBox" id="plug-child">
             <property name="visible">True</property>
             <property name="border_width">6</property>
+            <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
-              <widget class="GtkNotebook" id="notebook1">
+              <object class="GtkNotebook" id="notebook1">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox2">
+                  <object class="GtkVBox" id="vbox2">
                     <property name="visible">True</property>
                     <property name="border_width">12</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkVBox" id="vbox3">
+                      <object class="GtkVBox" id="vbox3">
                         <property name="visible">True</property>
+                        <property name="orientation">vertical</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkFrame" id="frame2">
+                          <object class="GtkFrame" id="frame2">
                             <property name="visible">True</property>
                             <property name="label_xalign">0</property>
-                            <property name="shadow_type">GTK_SHADOW_NONE</property>
+                            <property name="shadow_type">none</property>
                             <child>
-                              <widget class="GtkAlignment" id="alignment2">
+                              <object class="GtkAlignment" id="alignment2">
                                 <property name="visible">True</property>
                                 <property name="bottom_padding">6</property>
                                 <property name="left_padding">12</property>
                                 <child>
-                                  <widget class="GtkVBox" id="vbox3">
+                                  <object class="GtkVBox" id="vbox1">
                                     <property name="visible">True</property>
                                     <property name="border_width">6</property>
+                                    <property name="orientation">vertical</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkCheckButton" id="xkb_key_repeat_check">
+                                      <object class="GtkCheckButton" id="xkb_key_repeat_check">
+                                        <property name="label" translatable="yes">_Enable key repeat</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="tooltip" translatable="yes">When selected, pressing and holding down a key emits the same character over and over again</property>
-                                        <property name="label" translatable="yes">_Enable key repeat</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="tooltip_text" translatable="yes">When selected, pressing and holding down a key emits the same character over and over again</property>
                                         <property name="use_underline">True</property>
-                                        <property name="response_id">0</property>
                                         <property name="active">True</property>
                                         <property name="draw_indicator">True</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkAlignment" id="xkb_key_repeat_box">
+                                      <object class="GtkAlignment" id="xkb_key_repeat_box">
                                         <property name="visible">True</property>
-                                        <property name="left_padding">12</property>
+                                        <property name="left_padding">18</property>
                                         <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="label7">
+                                              <object class="GtkLabel" id="label7">
                                                 <property name="visible">True</property>
                                                 <property name="xalign">0</property>
                                                 <property name="label" translatable="yes">_Repeat delay:</property>
                                                 <property name="use_underline">True</property>
                                                 <property name="mnemonic_widget">xkb_key_repeat_delay_scale</property>
-                                              </widget>
+                                              </object>
                                               <packing>
                                                 <property name="expand">False</property>
                                                 <property name="fill">False</property>
+                                                <property name="position">0</property>
                                               </packing>
                                             </child>
                                             <child>
-                                              <widget class="GtkHScale" id="xkb_key_repeat_delay_scale">
+                                              <object class="GtkHScale" id="xkb_key_repeat_delay_scale">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
-                                                <property name="tooltip" translatable="yes">The time, in milliseconds, before a pressed key begins repeating</property>
-                                                <property name="update_policy">GTK_UPDATE_DELAYED</property>
-                                                <property name="adjustment">500 10 1000 1 10 1</property>
+                                                <property name="tooltip_text" translatable="yes">The time, in milliseconds, before a pressed key begins repeating</property>
+                                                <property name="update_policy">delayed</property>
+                                                <property name="adjustment">xkb_key_repeat_delay</property>
                                                 <property name="digits">0</property>
-                                                <property name="value_pos">GTK_POS_RIGHT</property>
-                                              </widget>
+                                                <property name="value_pos">right</property>
+                                              </object>
                                               <packing>
                                                 <property name="position">1</property>
                                               </packing>
                                             </child>
                                             <child>
-                                              <widget class="GtkLabel" id="label10">
+                                              <object class="GtkLabel" id="label10">
                                                 <property name="visible">True</property>
                                                 <property name="xalign">0</property>
                                                 <property name="label" translatable="yes">Repeat _speed:</property>
                                                 <property name="use_underline">True</property>
                                                 <property name="mnemonic_widget">xkb_key_repeat_rate_scale</property>
-                                              </widget>
+                                              </object>
                                               <packing>
                                                 <property name="expand">False</property>
                                                 <property name="fill">False</property>
@@ -114,144 +146,150 @@
                                               </packing>
                                             </child>
                                             <child>
-                                              <widget class="GtkHScale" id="xkb_key_repeat_rate_scale">
+                                              <object class="GtkHScale" id="xkb_key_repeat_rate_scale">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
-                                                <property name="tooltip" translatable="yes">The rate at which keystrokes are generated while a key is pressed</property>
-                                                <property name="update_policy">GTK_UPDATE_DELAYED</property>
-                                                <property name="adjustment">20 1 250 1 10 1</property>
+                                                <property name="tooltip_text" translatable="yes">The rate at which keystrokes are generated while a key is pressed</property>
+                                                <property name="update_policy">delayed</property>
+                                                <property name="adjustment">xkb_key_repeat_rate</property>
                                                 <property name="digits">0</property>
-                                                <property name="value_pos">GTK_POS_RIGHT</property>
-                                              </widget>
+                                                <property name="value_pos">right</property>
+                                              </object>
                                               <packing>
                                                 <property name="position">3</property>
                                               </packing>
                                             </child>
-                                          </widget>
+                                          </object>
                                         </child>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                            <child>
-                              <widget class="GtkLabel" id="label5">
+                            <child type="label">
+                              <object class="GtkLabel" id="label5">
                                 <property name="visible">True</property>
-                                <property name="label" translatable="yes"><b>Typing Settings</b></property>
-                                <property name="use_markup">True</property>
-                              </widget>
-                              <packing>
-                                <property name="type">label_item</property>
-                              </packing>
+                                <property name="label" translatable="yes">Typing Settings</property>
+                                <attributes>
+                                  <attribute name="weight" value="bold"/>
+                                </attributes>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkFrame" id="frame3">
+                          <object class="GtkFrame" id="frame3">
                             <property name="visible">True</property>
                             <property name="label_xalign">0</property>
-                            <property name="shadow_type">GTK_SHADOW_NONE</property>
+                            <property name="shadow_type">none</property>
                             <child>
-                              <widget class="GtkAlignment" id="alignment3">
+                              <object class="GtkAlignment" id="alignment3">
                                 <property name="visible">True</property>
                                 <property name="left_padding">12</property>
                                 <child>
-                                  <widget class="GtkVBox" id="vbox4">
+                                  <object class="GtkVBox" id="vbox4">
                                     <property name="visible">True</property>
                                     <property name="border_width">6</property>
+                                    <property name="orientation">vertical</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkCheckButton" id="net_cursor_blink_check">
+                                      <object class="GtkCheckButton" id="net_cursor_blink_check">
+                                        <property name="label" translatable="yes">Show _blinking</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="tooltip" translatable="yes">Specify whether or not the text cursor blinks</property>
-                                        <property name="label" translatable="yes">Show _blinking</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="tooltip_text" translatable="yes">Specify whether or not the text cursor blinks</property>
                                         <property name="use_underline">True</property>
-                                        <property name="response_id">0</property>
                                         <property name="draw_indicator">True</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkAlignment" id="net_cursor_blink_box">
+                                      <object class="GtkAlignment" id="net_cursor_blink_box">
                                         <property name="visible">True</property>
                                         <property name="sensitive">False</property>
-                                        <property name="left_padding">12</property>
+                                        <property name="left_padding">18</property>
                                         <child>
-                                          <widget class="GtkVBox" id="vbox7">
+                                          <object class="GtkVBox" id="vbox7">
                                             <property name="visible">True</property>
+                                            <property name="orientation">vertical</property>
                                             <property name="spacing">6</property>
                                             <child>
-                                              <widget class="GtkLabel" id="label13">
+                                              <object class="GtkLabel" id="label13">
                                                 <property name="visible">True</property>
                                                 <property name="xalign">0</property>
                                                 <property name="label" translatable="yes">Blink _delay:</property>
                                                 <property name="use_underline">True</property>
                                                 <property name="mnemonic_widget">net_cursor_blink_time_scale</property>
-                                              </widget>
+                                              </object>
                                               <packing>
                                                 <property name="expand">False</property>
                                                 <property name="fill">False</property>
+                                                <property name="position">0</property>
                                               </packing>
                                             </child>
                                             <child>
-                                              <widget class="GtkHScale" id="net_cursor_blink_time_scale">
+                                              <object class="GtkHScale" id="net_cursor_blink_time_scale">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
-                                                <property name="tooltip" translatable="yes">The delay, in milliseconds, between successive blinks of the cursor</property>
-                                                <property name="update_policy">GTK_UPDATE_DELAYED</property>
-                                                <property name="adjustment">1000 100 2000 1 10 1</property>
+                                                <property name="tooltip_text" translatable="yes">The delay, in milliseconds, between successive blinks of the cursor</property>
+                                                <property name="update_policy">delayed</property>
+                                                <property name="adjustment">net_cursor_blink_time</property>
                                                 <property name="digits">0</property>
-                                                <property name="value_pos">GTK_POS_RIGHT</property>
-                                              </widget>
+                                                <property name="value_pos">right</property>
+                                              </object>
                                               <packing>
                                                 <property name="position">1</property>
                                               </packing>
                                             </child>
-                                          </widget>
+                                          </object>
                                         </child>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                            <child>
-                              <widget class="GtkLabel" id="label6">
+                            <child type="label">
+                              <object class="GtkLabel" id="label6">
                                 <property name="visible">True</property>
-                                <property name="label" translatable="yes"><b>Cursor</b></property>
-                                <property name="use_markup">True</property>
-                              </widget>
-                              <packing>
-                                <property name="type">label_item</property>
-                              </packing>
+                                <property name="label" translatable="yes">Cursor</property>
+                                <attributes>
+                                  <attribute name="weight" value="bold"/>
+                                </attributes>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
                     <child>
-                      <widget class="GtkHSeparator" id="hseparator1">
+                      <object class="GtkHSeparator" id="hseparator1">
                         <property name="visible">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="padding">6</property>
@@ -259,15 +297,15 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label1">
+                      <object class="GtkLabel" id="label1">
                         <property name="visible">True</property>
                         <property name="xalign">0</property>
                         <property name="yalign">1</property>
                         <property name="label" translatable="yes">Use this area to _test the settings above:</property>
                         <property name="use_underline">True</property>
-                        <property name="wrap_mode">PANGO_WRAP_WORD_CHAR</property>
+                        <property name="wrap_mode">word-char</property>
                         <property name="mnemonic_widget">entry1</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -275,415 +313,437 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkEntry" id="entry1">
+                      <object class="GtkEntry" id="entry1">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
                         <property name="position">3</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                 </child>
-                <child>
-                  <widget class="GtkLabel" id="label2">
+                <child type="tab">
+                  <object class="GtkLabel" id="label2">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">Be_havior</property>
                     <property name="use_underline">True</property>
-                  </widget>
+                  </object>
                   <packing>
-                    <property name="type">tab</property>
                     <property name="tab_fill">False</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox5">
+                  <object class="GtkVBox" id="vbox5">
                     <property name="visible">True</property>
                     <property name="border_width">12</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label16">
+                      <object class="GtkLabel" id="label16">
                         <property name="visible">True</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Define _shortcuts for launching applications:</property>
                         <property name="use_underline">True</property>
                         <property name="mnemonic_widget">kbd_shortcuts_view</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkScrolledWindow" id="scrolledwindow2">
+                      <object class="GtkScrolledWindow" id="scrolledwindow2">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <property name="hscrollbar_policy">automatic</property>
+                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="shadow_type">in</property>
                         <child>
-                          <widget class="GtkTreeView" id="kbd_shortcuts_view">
+                          <object class="GtkTreeView" id="kbd_shortcuts_view">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="search_column">0</property>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHButtonBox" id="hbuttonbox1">
+                      <object class="GtkHButtonBox" id="hbuttonbox1">
                         <property name="visible">True</property>
                         <property name="border_width">2</property>
-                        <property name="spacing">12</property>
-                        <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
+                        <property name="spacing">6</property>
+                        <property name="layout_style">spread</property>
                         <child>
-                          <widget class="GtkButton" id="add_shortcut_button">
+                          <object class="GtkButton" id="add_shortcut_button">
+                            <property name="label">gtk-add</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="label">gtk-add</property>
                             <property name="use_stock">True</property>
-                            <property name="response_id">0</property>
-                          </widget>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                         <child>
-                          <widget class="GtkButton" id="delete_shortcut_button">
+                          <object class="GtkButton" id="delete_shortcut_button">
+                            <property name="label">gtk-remove</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="label">gtk-remove</property>
                             <property name="use_stock">True</property>
-                            <property name="response_id">0</property>
-                          </widget>
+                          </object>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkButton" id="reset_shortcuts_button">
+                          <object class="GtkButton" id="reset_shortcuts_button">
+                            <property name="label" translatable="yes">_Reset to Defaults</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="label" translatable="yes">_Reset to Defaults</property>
+                            <property name="image">image1</property>
                             <property name="use_underline">True</property>
-                            <property name="response_id">0</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="fill">False</property>
                         <property name="position">2</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">1</property>
                   </packing>
                 </child>
-                <child>
-                  <widget class="GtkLabel" id="label3">
+                <child type="tab">
+                  <object class="GtkLabel" id="label3">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">Appli_cation Shortcuts</property>
                     <property name="use_underline">True</property>
-                  </widget>
+                  </object>
                   <packing>
-                    <property name="type">tab</property>
                     <property name="position">1</property>
                     <property name="tab_fill">False</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="xkb_tab_layout_vbox">
+                  <object class="GtkVBox" id="xkb_tab_layout_vbox">
                     <property name="border_width">12</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkCheckButton" id="xkb_use_system_default_checkbutton">
+                      <object class="GtkCheckButton" id="xkb_use_system_default_checkbutton">
+                        <property name="label" translatable="yes">_Use system defaults</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="tooltip" translatable="yes">Specifies whether the keyboard layout is controlled with this settings dialog, or by the X server</property>
-                        <property name="label" translatable="yes">_Use system defaults</property>
+                        <property name="receives_default">False</property>
+                        <property name="tooltip_text" translatable="yes">Specifies whether the keyboard layout is controlled with this settings dialog, or by the X server</property>
                         <property name="use_underline">True</property>
                         <property name="active">True</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkFrame" id="xkb_model_frame">
+                      <object class="GtkFrame" id="xkb_model_frame">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment1">
+                          <object class="GtkAlignment" id="alignment1">
                             <property name="visible">True</property>
                             <property name="border_width">6</property>
-                            <property name="left_padding">6</property>
+                            <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkComboBox" id="xkb_model_combo">
+                              <object class="GtkComboBox" id="xkb_model_combo">
                                 <property name="visible">True</property>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label11">
+                        <child type="label">
+                          <object class="GtkLabel" id="label11">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Keyboard model</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Keyboard model</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkFrame" id="xkb_layout_frame">
+                      <object class="GtkFrame" id="xkb_layout_frame">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment4">
+                          <object class="GtkAlignment" id="alignment4">
                             <property name="visible">True</property>
-                            <property name="border_width">6</property>
-                            <property name="left_padding">6</property>
+                            <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox1">
+                              <object class="GtkVBox" id="vbox8">
                                 <property name="visible">True</property>
-                                <property name="spacing">12</property>
+                                <property name="border_width">6</property>
+                                <property name="orientation">vertical</property>
+                                <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkScrolledWindow" id="scrolledwindow1">
+                                  <object class="GtkScrolledWindow" id="scrolledwindow1">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                                    <property name="hscrollbar_policy">automatic</property>
+                                    <property name="vscrollbar_policy">automatic</property>
+                                    <property name="shadow_type">in</property>
                                     <child>
-                                      <widget class="GtkTreeView" id="xkb_layout_view">
+                                      <object class="GtkTreeView" id="xkb_layout_view">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="search_column">0</property>
-                                      </widget>
+                                      </object>
                                     </child>
-                                  </widget>
+                                  </object>
+                                  <packing>
+                                    <property name="position">0</property>
+                                  </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkVBox" id="vbox10">
+                                  <object class="GtkHButtonBox" id="hbuttonbox2">
                                     <property name="visible">True</property>
                                     <property name="spacing">6</property>
+                                    <property name="layout_style">spread</property>
                                     <child>
-                                      <widget class="GtkButton" id="xkb_layout_add_button">
+                                      <object class="GtkButton" id="xkb_layout_add_button">
+                                        <property name="label">gtk-add</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
-                                        <property name="label">gtk-add</property>
                                         <property name="use_stock">True</property>
-                                        <property name="response_id">0</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkButton" id="xkb_layout_edit_button">
+                                      <object class="GtkButton" id="xkb_layout_edit_button">
+                                        <property name="label">gtk-edit</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
-                                        <property name="label">gtk-edit</property>
                                         <property name="use_stock">True</property>
-                                        <property name="response_id">0</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
+                                        <property name="fill">False</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkButton" id="xkb_layout_delete_button">
+                                      <object class="GtkButton" id="xkb_layout_delete_button">
+                                        <property name="label">gtk-delete</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
-                                        <property name="label">gtk-delete</property>
                                         <property name="use_stock">True</property>
-                                        <property name="response_id">0</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="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label8">
+                        <child type="label">
+                          <object class="GtkLabel" id="label8">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Keyboard layout</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Keyboard layout</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="position">2</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">2</property>
                   </packing>
                 </child>
-                <child>
-                  <widget class="GtkLabel" id="label4">
+                <child type="tab">
+                  <object class="GtkLabel" id="label4">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">_Layout</property>
                     <property name="use_underline">True</property>
-                  </widget>
+                  </object>
                   <packing>
-                    <property name="type">tab</property>
                     <property name="position">2</property>
                     <property name="tab_fill">False</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_area1">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_EDGE</property>
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="button1">
+              <object class="GtkButton" id="button2">
+                <property name="label">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-help</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button2">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="label">gtk-close</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-              </widget>
+              </object>
               <packing>
-                <property name="position">1</property>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-  <widget class="XfceTitledDialog" id="keyboard-layout-selection-dialog">
+    <action-widgets>
+      <action-widget response="0">button2</action-widget>
+    </action-widgets>
+  </object>
+  <object class="XfceTitledDialog" id="keyboard-layout-selection-dialog">
     <property name="title" translatable="yes">Keyboard layout selection</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="default_height">300</property>
     <property name="icon_name">preferences-desktop-keyboard</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <property name="subtitle" translatable="yes">Select keyboard layout and variant</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkVBox" id="dialog-vbox2">
         <property name="visible">True</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow3">
+          <object class="GtkScrolledWindow" id="scrolledwindow3">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="border_width">6</property>
-            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-            <property name="shadow_type">GTK_SHADOW_IN</property>
+            <property name="hscrollbar_policy">automatic</property>
+            <property name="vscrollbar_policy">automatic</property>
+            <property name="shadow_type">in</property>
             <child>
-              <widget class="GtkTreeView" id="layout_selection_view">
+              <object class="GtkTreeView" id="layout_selection_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="headers_visible">False</property>
                 <property name="search_column">0</property>
-              </widget>
+              </object>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="position">1</property>
           </packing>
         </child>
         <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area2">
+          <object class="GtkHButtonBox" id="dialog-action_area2">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="layout_selection_ok_button">
+              <object class="GtkButton" id="layout_selection_ok_button">
+                <property name="label">gtk-ok</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-ok</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">1</property>
-              </widget>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="layout_selection_cancel_button">
+              <object class="GtkButton" id="layout_selection_cancel_button">
+                <property name="label">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-cancel</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-              </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="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="0">layout_selection_ok_button</action-widget>
+      <action-widget response="0">layout_selection_cancel_button</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="stock">gtk-revert-to-saved</property>
+  </object>
+</interface>

Modified: xfce4-settings/trunk/dialogs/keyboard-settings/main.c
===================================================================
--- xfce4-settings/trunk/dialogs/keyboard-settings/main.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/keyboard-settings/main.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -2,19 +2,19 @@
 /*-
  * Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>.
  *
- * This program is free software; you can redistribute it and/or modify 
- * it under the terms of the GNU General Public License as published by 
- * the Free Software Foundation; either version 2 of the License, or (at 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
  * your option) any later version.
  *
- * This program is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty of 
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License 
- * along with this program; if not, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA  02111-1307  USA
  */
 
@@ -76,7 +76,7 @@
   if (G_UNLIKELY (opt_version))
     {
       g_print ("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string ());
-      g_print ("%s\n", "Copyright (c) 2008");
+      g_print ("%s\n", "Copyright (c) 2008-2009");
       g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved."));
       g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT);
       g_print ("\n");
@@ -126,7 +126,7 @@
     }
 
   g_object_unref (settings);
-  
+
   xfconf_shutdown ();
 
   return EXIT_SUCCESS;

Modified: xfce4-settings/trunk/dialogs/keyboard-settings/xfce-keyboard-settings.c
===================================================================
--- xfce4-settings/trunk/dialogs/keyboard-settings/xfce-keyboard-settings.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/keyboard-settings/xfce-keyboard-settings.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -29,13 +29,12 @@
 
 #include <glib.h>
 #include <glib-object.h>
-
+#include <gdk/gdkx.h>
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 
 #include <exo/exo.h>
 #include <xfconf/xfconf.h>
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
 #include <libxfce4kbd-private/xfce-shortcuts-provider.h>
 #include <libxfce4kbd-private/xfce-shortcut-dialog.h>
 
@@ -58,16 +57,8 @@
 
 
 
-/* Property identifiers */
 enum
 {
-  PROP_0,
-  PROP_GLADE_XML,
-};
-
-
-enum
-{
     XKB_COMBO_DESCRIPTION = 0,
     XKB_COMBO_MODELS,
     XKB_COMBO_NUM_COLUMNS
@@ -94,18 +85,8 @@
 
 
 
-static void                      xfce_keyboard_settings_class_init            (XfceKeyboardSettingsClass *klass);
-static void                      xfce_keyboard_settings_init                  (XfceKeyboardSettings      *settings);
 static void                      xfce_keyboard_settings_constructed           (GObject                   *object);
 static void                      xfce_keyboard_settings_finalize              (GObject                   *object);
-static void                      xfce_keyboard_settings_get_property          (GObject                   *object,
-                                                                               guint                      prop_id,
-                                                                               GValue                    *value,
-                                                                               GParamSpec                *pspec);
-static void                      xfce_keyboard_settings_set_property          (GObject                   *object,
-                                                                               guint                      prop_id,
-                                                                               const GValue              *value,
-                                                                               GParamSpec                *pspec);
 static void                      xfce_keyboard_settings_row_activated         (GtkTreeView               *tree_view,
                                                                                GtkTreePath               *path,
                                                                                GtkTreeViewColumn         *column,
@@ -138,7 +119,6 @@
 
 #ifdef HAVE_LIBXKLAVIER
 
-static gchar *                   xfce_keyboard_settings_model_description     (XklConfigItem             *config_item);
 static gboolean                  xfce_keyboard_settings_update_sensitive      (GtkToggleButton           *toggle,
                                                                                XfceKeyboardSettings      *settings);
 static void                      xfce_keyboard_settings_system_default_cb     (GtkToggleButton           *toggle,
@@ -157,8 +137,6 @@
 static void                      xfce_keyboard_settings_update_layout_buttons (XfceKeyboardSettings      *settings);
 static void                      xfce_keyboard_settings_update_edit_button    (GtkTreeView               *tree_view,
                                                                                XfceKeyboardSettings      *settings);
-static void                      xfce_keyboard_settings_update_edit_button    (GtkTreeView               *tree_view,
-                                                                               XfceKeyboardSettings      *settings);
 static void                      xfce_keyboard_settings_edit_layout_button_cb (GtkWidget                 *widget,
                                                                                XfceKeyboardSettings      *settings);
 static void                      xfce_keyboard_settings_add_layout_button_cb  (GtkWidget                 *widget,
@@ -179,8 +157,6 @@
 
 struct _XfceKeyboardSettingsPrivate
 {
-  GladeXML              *glade_xml;
-
   XfceShortcutsProvider *provider;
 
 #ifdef HAVE_LIBXKLAVIER
@@ -204,39 +180,10 @@
 
 
 
-static GObjectClass *xfce_keyboard_settings_parent_class = NULL;
+G_DEFINE_TYPE (XfceKeyboardSettings, xfce_keyboard_settings, GTK_TYPE_BUILDER)
 
 
 
-GType
-xfce_keyboard_settings_get_type (void)
-{
-  static GType type = G_TYPE_INVALID;
-
-  if (G_UNLIKELY (type == G_TYPE_INVALID))
-    {
-      static const GTypeInfo info =
-      {
-        sizeof (XfceKeyboardSettingsClass),
-        NULL,
-        NULL,
-        (GClassInitFunc) xfce_keyboard_settings_class_init,
-        NULL,
-        NULL,
-        sizeof (XfceKeyboardSettings),
-        0,
-        (GInstanceInitFunc) xfce_keyboard_settings_init,
-        NULL,
-      };
-
-      type = g_type_register_static (G_TYPE_OBJECT, "XfceKeyboardSettings", &info, 0);
-    }
-
-  return type;
-}
-
-
-
 static void
 xfce_keyboard_settings_class_init (XfceKeyboardSettingsClass *klass)
 {
@@ -244,25 +191,9 @@
 
   g_type_class_add_private (klass, sizeof (XfceKeyboardSettingsPrivate));
 
-  /* Determine the parent type class */
-  xfce_keyboard_settings_parent_class = g_type_class_peek_parent (klass);
-
   gobject_class = G_OBJECT_CLASS (klass);
-#if GLIB_CHECK_VERSION (2,14,0)
   gobject_class->constructed = xfce_keyboard_settings_constructed;
-#endif
   gobject_class->finalize = xfce_keyboard_settings_finalize;
-  gobject_class->get_property = xfce_keyboard_settings_get_property;
-  gobject_class->set_property = xfce_keyboard_settings_set_property;
-
-  g_object_class_install_property (gobject_class,
-                                   PROP_GLADE_XML,
-                                   g_param_spec_object ("glade-xml",
-                                                        "glade-xml",
-                                                        "glade-xml",
-                                                        GLADE_TYPE_XML,
-                                                        G_PARAM_READWRITE |
-                                                        G_PARAM_CONSTRUCT_ONLY));
 }
 
 
@@ -270,8 +201,9 @@
 static void
 xfce_keyboard_settings_init (XfceKeyboardSettings *settings)
 {
+  GError *error = NULL;
+
   settings->priv = XFCE_KEYBOARD_SETTINGS_GET_PRIVATE (settings);
-  settings->priv->glade_xml = NULL;
 
   settings->priv->keyboards_channel = xfconf_channel_new ("keyboards");
   settings->priv->keyboard_layout_channel = xfconf_channel_new ("keyboard-layout");
@@ -282,6 +214,13 @@
                     G_CALLBACK (xfce_keyboard_settings_shortcut_added), settings);
   g_signal_connect (settings->priv->provider, "shortcut-removed",
                     G_CALLBACK (xfce_keyboard_settings_shortcut_removed), settings);
+
+  if (gtk_builder_add_from_string (GTK_BUILDER (settings), keyboard_dialog_glade,
+                                   keyboard_dialog_glade_length, &error) == 0)
+    {
+      g_error ("Failed to load the glade file: %s.", error->message);
+      g_error_free (error);
+    }
 }
 
 
@@ -296,45 +235,45 @@
   GtkAdjustment        *xkb_key_repeat_delay_scale;
   GtkAdjustment        *net_cursor_blink_time_scale;
   GtkListStore         *list_store;
-  GtkWidget            *xkb_key_repeat_check;
-  GtkWidget            *xkb_key_repeat_box;
-  GtkWidget            *net_cursor_blink_check;
-  GtkWidget            *net_cursor_blink_box;
-  GtkWidget            *kbd_shortcuts_view;
-  GtkWidget            *button;
+  GObject              *xkb_key_repeat_check;
+  GObject              *xkb_key_repeat_box;
+  GObject              *net_cursor_blink_check;
+  GObject              *net_cursor_blink_box;
+  GObject              *kbd_shortcuts_view;
+  GObject              *button;
 #ifdef HAVE_LIBXKLAVIER
-  GtkWidget            *xkb_use_system_default_checkbutton;
-  GtkWidget            *xkb_tab_layout_vbox;
-  GtkWidget            *xkb_model_combo;
-  GtkWidget            *xkb_layout_view;
-  GtkWidget            *xkb_layout_add_button;
-  GtkWidget            *xkb_layout_edit_button;
-  GtkWidget            *xkb_layout_delete_button;
+  GObject              *xkb_use_system_default_checkbutton;
+  GObject              *xkb_tab_layout_vbox;
+  GObject              *xkb_model_combo;
+  GObject              *xkb_layout_view;
+  GObject              *xkb_layout_add_button;
+  GObject              *xkb_layout_edit_button;
+  GObject              *xkb_layout_delete_button;
 #endif /* HAVE_LIBXKLAVIER */
 
   /* XKB settings */
-  xkb_key_repeat_check = glade_xml_get_widget (settings->priv->glade_xml, "xkb_key_repeat_check");
-  xkb_key_repeat_box = glade_xml_get_widget (settings->priv->glade_xml, "xkb_key_repeat_box");
+  xkb_key_repeat_check = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_key_repeat_check");
+  xkb_key_repeat_box = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_key_repeat_box");
   exo_binding_new (G_OBJECT (xkb_key_repeat_check), "active", G_OBJECT (xkb_key_repeat_box), "sensitive");
   xfconf_g_property_bind (settings->priv->keyboards_channel, "/Default/KeyRepeat", G_TYPE_BOOLEAN, G_OBJECT (xkb_key_repeat_check), "active");
 
-  xkb_key_repeat_rate_scale = gtk_range_get_adjustment (GTK_RANGE (glade_xml_get_widget (settings->priv->glade_xml, "xkb_key_repeat_rate_scale")));
+  xkb_key_repeat_rate_scale = gtk_range_get_adjustment (GTK_RANGE (gtk_builder_get_object (GTK_BUILDER (settings), "xkb_key_repeat_rate_scale")));
   xfconf_g_property_bind (settings->priv->keyboards_channel, "/Default/KeyRepeat/Rate", G_TYPE_INT, G_OBJECT (xkb_key_repeat_rate_scale), "value");
 
-  xkb_key_repeat_delay_scale = gtk_range_get_adjustment (GTK_RANGE (glade_xml_get_widget (settings->priv->glade_xml, "xkb_key_repeat_delay_scale")));
+  xkb_key_repeat_delay_scale = gtk_range_get_adjustment (GTK_RANGE (gtk_builder_get_object (GTK_BUILDER (settings), "xkb_key_repeat_delay_scale")));
   xfconf_g_property_bind (settings->priv->keyboards_channel, "/Default/KeyRepeat/Delay", G_TYPE_INT, G_OBJECT (xkb_key_repeat_delay_scale), "value");
 
   /* XSETTINGS */
-  net_cursor_blink_check = glade_xml_get_widget (settings->priv->glade_xml, "net_cursor_blink_check");
-  net_cursor_blink_box = glade_xml_get_widget (settings->priv->glade_xml, "net_cursor_blink_box");
+  net_cursor_blink_check = gtk_builder_get_object (GTK_BUILDER (settings), "net_cursor_blink_check");
+  net_cursor_blink_box = gtk_builder_get_object (GTK_BUILDER (settings), "net_cursor_blink_box");
   exo_binding_new (G_OBJECT (net_cursor_blink_check), "active", G_OBJECT (net_cursor_blink_box), "sensitive");
   xfconf_g_property_bind (settings->priv->xsettings_channel, "/Net/CursorBlink", G_TYPE_BOOLEAN, G_OBJECT (net_cursor_blink_check), "active");
 
-  net_cursor_blink_time_scale = gtk_range_get_adjustment (GTK_RANGE (glade_xml_get_widget (settings->priv->glade_xml, "net_cursor_blink_time_scale")));
+  net_cursor_blink_time_scale = gtk_range_get_adjustment (GTK_RANGE (gtk_builder_get_object (GTK_BUILDER (settings), "net_cursor_blink_time_scale")));
   xfconf_g_property_bind (settings->priv->xsettings_channel, "/NetCursorBlinkTime", G_TYPE_INT, G_OBJECT (net_cursor_blink_time_scale), "value");
 
   /* Configure shortcuts tree view */
-  kbd_shortcuts_view = glade_xml_get_widget (settings->priv->glade_xml, "kbd_shortcuts_view");
+  kbd_shortcuts_view = gtk_builder_get_object (GTK_BUILDER (settings), "kbd_shortcuts_view");
   gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (kbd_shortcuts_view)), GTK_SELECTION_MULTIPLE);
   g_signal_connect (kbd_shortcuts_view, "row-activated", G_CALLBACK (xfce_keyboard_settings_row_activated), settings);
 
@@ -354,16 +293,15 @@
   gtk_tree_view_append_column (GTK_TREE_VIEW (kbd_shortcuts_view), column);
 
   /* Connect to add button */
-  button = glade_xml_get_widget (settings->priv->glade_xml, "add_shortcut_button");
+  button = gtk_builder_get_object (GTK_BUILDER (settings), "add_shortcut_button");
   g_signal_connect_swapped (button, "clicked", G_CALLBACK (xfce_keyboard_settings_add_button_clicked), settings);
 
   /* Connect to remove button */
-  button = glade_xml_get_widget (settings->priv->glade_xml, "delete_shortcut_button");
+  button = gtk_builder_get_object (GTK_BUILDER (settings), "delete_shortcut_button");
   g_signal_connect_swapped (button, "clicked", G_CALLBACK (xfce_keyboard_settings_delete_button_clicked), settings);
 
   /* Connect to reset button */
-  button = glade_xml_get_widget (settings->priv->glade_xml, "reset_shortcuts_button");
-  gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_stock (GTK_STOCK_REVERT_TO_SAVED, GTK_ICON_SIZE_BUTTON));
+  button = gtk_builder_get_object (GTK_BUILDER (settings), "reset_shortcuts_button");
   g_signal_connect_swapped (button, "clicked", G_CALLBACK (xfce_keyboard_settings_reset_button_clicked), settings);
 
   xfce_keyboard_settings_initialize_shortcuts (settings);
@@ -381,11 +319,11 @@
   xkl_config_registry_load (settings->priv->xkl_registry);
 
   /* Tab */
-  xkb_tab_layout_vbox = glade_xml_get_widget (settings->priv->glade_xml, "xkb_tab_layout_vbox");
+  xkb_tab_layout_vbox = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_tab_layout_vbox");
   gtk_widget_show (GTK_WIDGET (xkb_tab_layout_vbox));
 
   /* USe system defaults, ie disable options */
-  xkb_use_system_default_checkbutton = glade_xml_get_widget (settings->priv->glade_xml, "xkb_use_system_default_checkbutton");
+  xkb_use_system_default_checkbutton = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_use_system_default_checkbutton");
   xfconf_g_property_bind (settings->priv->keyboard_layout_channel, "/Default/XkbDisable", G_TYPE_BOOLEAN,
                              (GObject *) xkb_use_system_default_checkbutton, "active");
   xfce_keyboard_settings_update_sensitive (GTK_TOGGLE_BUTTON (xkb_use_system_default_checkbutton), settings);
@@ -395,7 +333,7 @@
                     settings);
 
   /* Keyboard model combo */
-  xkb_model_combo = glade_xml_get_widget (settings->priv->glade_xml, "xkb_model_combo");
+  xkb_model_combo = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_model_combo");
   gtk_cell_layout_clear (GTK_CELL_LAYOUT (xkb_model_combo));
   renderer = gtk_cell_renderer_text_new ();
   gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (xkb_model_combo), renderer, TRUE);
@@ -414,7 +352,7 @@
 
   /* Keyboard layout/variant treeview */
   settings->priv->layout_selection_treestore = NULL;
-  xkb_layout_view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_view");
+  xkb_layout_view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_view");
 
   renderer =  gtk_cell_renderer_toggle_new ();
   gtk_cell_renderer_toggle_set_radio (GTK_CELL_RENDERER_TOGGLE (renderer), TRUE);
@@ -431,9 +369,9 @@
   g_signal_connect (G_OBJECT (xkb_layout_view), "cursor-changed", G_CALLBACK (xfce_keyboard_settings_update_edit_button), settings);
 
   /* Layout buttons */
-  xkb_layout_add_button = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_add_button");
-  xkb_layout_edit_button = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_edit_button");
-  xkb_layout_delete_button = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_delete_button");
+  xkb_layout_add_button = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_add_button");
+  xkb_layout_edit_button = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_edit_button");
+  xkb_layout_delete_button = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_delete_button");
 
   g_signal_connect (G_OBJECT (xkb_layout_add_button),    "clicked", G_CALLBACK (xfce_keyboard_settings_add_layout_button_cb), settings);
   g_signal_connect (G_OBJECT (xkb_layout_edit_button),   "clicked", G_CALLBACK (xfce_keyboard_settings_edit_layout_button_cb), settings);
@@ -456,76 +394,17 @@
   xkl_engine_stop_listen (settings->priv->xkl_engine);
 #endif /* HAVE_LIBXKLAVIER */
 
-  g_object_unref (settings->priv->provider);
+  g_object_unref (G_OBJECT (settings->priv->provider));
 
   (*G_OBJECT_CLASS (xfce_keyboard_settings_parent_class)->finalize) (object);
 }
 
 
 
-static void
-xfce_keyboard_settings_get_property (GObject    *object,
-                                     guint       prop_id,
-                                     GValue     *value,
-                                     GParamSpec *pspec)
-{
-  XfceKeyboardSettings *settings = XFCE_KEYBOARD_SETTINGS (object);
-
-  switch (prop_id)
-    {
-    case PROP_GLADE_XML:
-      g_value_set_object (value, settings->priv->glade_xml);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-
-
-static void
-xfce_keyboard_settings_set_property (GObject      *object,
-                                     guint         prop_id,
-                                     const GValue *value,
-                                     GParamSpec   *pspec)
-{
-  XfceKeyboardSettings *settings = XFCE_KEYBOARD_SETTINGS (object);
-
-  switch (prop_id)
-    {
-    case PROP_GLADE_XML:
-      if (GLADE_IS_XML (settings->priv->glade_xml))
-        g_object_unref (settings->priv->glade_xml);
-
-      settings->priv->glade_xml = g_value_get_object (value);
-
-      g_object_notify (object, "glade-xml");
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-
-
 XfceKeyboardSettings *
 xfce_keyboard_settings_new (void)
 {
-  XfceKeyboardSettings *settings = NULL;
-  GladeXML             *glade_xml;
-
-  glade_xml = glade_xml_new_from_buffer (keyboard_dialog_glade, keyboard_dialog_glade_length, NULL, NULL);
-
-  if (G_LIKELY (glade_xml != NULL))
-    settings = g_object_new (XFCE_TYPE_KEYBOARD_SETTINGS, "glade-xml", glade_xml, NULL);
-
-#if !GLIB_CHECK_VERSION (2,14,0)
-  xfce_keyboard_settings_constructed (G_OBJECT (settings));
-#endif
-
-  return settings;
+  return g_object_new (XFCE_TYPE_KEYBOARD_SETTINGS, NULL);
 }
 
 
@@ -534,7 +413,7 @@
 xfce_keyboard_settings_create_dialog (XfceKeyboardSettings *settings)
 {
   g_return_val_if_fail (XFCE_IS_KEYBOARD_SETTINGS (settings), NULL);
-  return glade_xml_get_widget (settings->priv->glade_xml, "keyboard-settings-dialog");
+  return GTK_WIDGET (gtk_builder_get_object (GTK_BUILDER (settings), "keyboard-settings-dialog"));
 }
 
 
@@ -544,16 +423,16 @@
                                     GdkNativeWindow       socket_id)
 {
   GtkWidget *plug;
-  GtkWidget *child;
+  GObject   *child;
 
   g_return_val_if_fail (XFCE_IS_KEYBOARD_SETTINGS (settings), NULL);
 
   plug = gtk_plug_new (socket_id);
   gtk_widget_show (plug);
 
-  child = glade_xml_get_widget (settings->priv->glade_xml, "plug-child");
-  gtk_widget_reparent (child, plug);
-  gtk_widget_show (child);
+  child = gtk_builder_get_object (GTK_BUILDER (settings), "plug-child");
+  gtk_widget_reparent (GTK_WIDGET (child), plug);
+  gtk_widget_show (GTK_WIDGET (child));
 
   return plug;
 }
@@ -588,14 +467,14 @@
 {
   GtkTreeModel *tree_model;
   GtkTreeIter   iter;
-  GtkWidget    *tree_view;
+  GObject      *tree_view;
 
   g_return_if_fail (XFCE_IS_KEYBOARD_SETTINGS (settings));
   g_return_if_fail (shortcut != NULL);
 
   DBG ("property = %s, shortcut = %s, command = %s", shortcut->property_name, shortcut->shortcut, shortcut->command);
 
-  tree_view = glade_xml_get_widget (settings->priv->glade_xml, "kbd_shortcuts_view");
+  tree_view = gtk_builder_get_object (GTK_BUILDER (settings), "kbd_shortcuts_view");
   tree_model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view));
 
   gtk_list_store_append (GTK_LIST_STORE (tree_model), &iter);
@@ -837,12 +716,12 @@
 {
   XfceShortcut *sc;
   GtkTreeModel *model;
-  GtkWidget    *view;
+  GObject      *view;
   GtkTreeIter   iter;
 
   g_return_if_fail (XFCE_IS_KEYBOARD_SETTINGS (settings));
 
-  view = glade_xml_get_widget (settings->priv->glade_xml, "kbd_shortcuts_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "kbd_shortcuts_view");
   model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
 
   sc = xfce_shortcuts_provider_get_shortcut (settings->priv->provider, shortcut);
@@ -889,11 +768,11 @@
                                          XfceKeyboardSettings  *settings)
 {
   GtkTreeModel *model;
-  GtkWidget    *view;
+  GObject      *view;
 
   g_return_if_fail (XFCE_IS_KEYBOARD_SETTINGS (settings));
 
-  view = glade_xml_get_widget (settings->priv->glade_xml, "kbd_shortcuts_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "kbd_shortcuts_view");
   model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
 
   gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) _xfce_keyboard_settings_remove_shortcut,
@@ -908,7 +787,7 @@
 {
   GtkWidget   *command_dialog;
   GtkWidget   *shortcut_dialog;
-  GtkWidget   *parent;
+  GObject      *parent;
   const gchar *shortcut;
   const gchar *command;
   gboolean     finished = FALSE;
@@ -926,7 +805,7 @@
 
       if (G_UNLIKELY (response == GTK_RESPONSE_OK &&
                       g_utf8_strlen (command_dialog_get_command (COMMAND_DIALOG (command_dialog)), -1) == 0))
-        xfce_err (_("Shortcut command may not be empty."));
+        xfce_dialog_show_error (GTK_WINDOW (command_dialog), NULL, _("Shortcut command may not be empty."));
       else
         finished = TRUE;
     }
@@ -946,8 +825,8 @@
       g_signal_connect (shortcut_dialog, "validate-shortcut", G_CALLBACK (xfce_keyboard_settings_validate_shortcut), settings);
 
       /* Run shortcut dialog until a valid shortcut is entered or the dialog is cancelled */
-      parent = glade_xml_get_widget (settings->priv->glade_xml, "keyboard-shortcuts-dialog");
-      response = xfce_shortcut_dialog_run (XFCE_SHORTCUT_DIALOG (shortcut_dialog), parent);
+      parent = gtk_builder_get_object (GTK_BUILDER (settings), "keyboard-shortcuts-dialog");
+      response = xfce_shortcut_dialog_run (XFCE_SHORTCUT_DIALOG (shortcut_dialog), GTK_WIDGET (parent));
 
       /* Only continue if the shortcut dialog succeeded */
       if (G_LIKELY (response == GTK_RESPONSE_OK))
@@ -976,7 +855,7 @@
   GtkTreeModel     *model;
   GtkTreePath      *path;
   GtkTreeIter       iter;
-  GtkWidget        *view;
+  GObject          *view;
   GList            *rows;
   GList            *row_iter;
   GList            *row_references = NULL;
@@ -986,7 +865,7 @@
 
   g_return_if_fail (XFCE_IS_KEYBOARD_SETTINGS (settings));
 
-  view = glade_xml_get_widget (settings->priv->glade_xml, "kbd_shortcuts_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "kbd_shortcuts_view");
   selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
   rows = gtk_tree_selection_get_selected_rows (selection, &model);
 
@@ -1070,19 +949,18 @@
 static gboolean
 xfce_keyboard_settings_update_sensitive (GtkToggleButton *toggle, XfceKeyboardSettings *settings)
 {
-  GtkWidget *xkb_model_frame;
-  GtkWidget *xkb_layout_frame;
-  gboolean   active;
+  GObject  *xkb_model_frame;
+  GObject  *xkb_layout_frame;
+  gboolean  active;
 
-  g_return_if_fail (XFCE_IS_KEYBOARD_SETTINGS (settings));
-  g_return_if_fail (GLADE_IS_XML (settings->priv->glade_xml));
+  g_return_val_if_fail (XFCE_IS_KEYBOARD_SETTINGS (settings), FALSE);
 
   active = gtk_toggle_button_get_active (toggle);
-  xkb_model_frame = glade_xml_get_widget (settings->priv->glade_xml, "xkb_model_frame");
-  xkb_layout_frame = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_frame");
+  xkb_model_frame = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_model_frame");
+  xkb_layout_frame = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_frame");
 
-  gtk_widget_set_sensitive (xkb_model_frame, !active);
-  gtk_widget_set_sensitive (xkb_layout_frame, !active);
+  gtk_widget_set_sensitive (GTK_WIDGET (xkb_model_frame), !active);
+  gtk_widget_set_sensitive (GTK_WIDGET (xkb_layout_frame), !active);
 
   return active;
 }
@@ -1092,13 +970,10 @@
 static void
 xfce_keyboard_settings_system_default_cb (GtkToggleButton *toggle, XfceKeyboardSettings *settings)
 {
-  GtkWidget *xkb_model_frame;
-  GtkWidget *xkb_layout_frame;
   GtkWidget *warning_dialog;
   gboolean   use_system_defaults;
 
   g_return_if_fail (XFCE_IS_KEYBOARD_SETTINGS (settings));
-  g_return_if_fail (GLADE_IS_XML (settings->priv->glade_xml));
 
   use_system_defaults = xfce_keyboard_settings_update_sensitive (toggle, settings);
   if (use_system_defaults)
@@ -1117,7 +992,7 @@
 static void
 xfce_keyboard_settings_set_layout (XfceKeyboardSettings *settings)
 {
-  GtkWidget    *view;
+  GObject      *view;
   GtkTreeModel *model;
   GtkTreeIter   iter;
   gboolean      active;
@@ -1127,7 +1002,7 @@
   gchar        *layouts;
   gchar        *tmp;
 
-  view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_view");
   model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
   gtk_tree_model_get_iter_first (model, &iter);
   gtk_tree_model_get (model, &iter, XKB_TREE_ACTIVE, &active, XKB_TREE_LAYOUTS, &val_layout, XKB_TREE_VARIANTS, &val_variant, -1);
@@ -1177,7 +1052,7 @@
 xfce_keyboard_settings_init_layout (XfceKeyboardSettings *settings)
 {
   XklState     *xkl_state = NULL;
-  GtkWidget    *view;
+  GObject      *view;
   GtkTreeModel *model;
   GtkTreeIter   iter;
   gchar        *val_layout;
@@ -1200,7 +1075,7 @@
   layouts = g_strsplit (val_layout, ",", 0);
   variants = g_strsplit (val_variant, ",", 0);
 
-  view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_view");
   model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
 
   xkl_state = xkl_engine_get_current_state (settings->priv->xkl_engine);
@@ -1230,14 +1105,14 @@
                                            XklConfigItem        *config_item,
                                            XfceKeyboardSettings *settings)
 {
-  GtkWidget    *view;
+  GObject      *view;
   GtkTreeModel *model;
   GtkTreeIter   iter;
   gchar        *model_name;
 
   model_name = xfce_keyboard_settings_xkb_description (config_item);
 
-  view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_model_combo");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_model_combo");
   model = gtk_combo_box_get_model (GTK_COMBO_BOX (view));
 
   gtk_list_store_append (GTK_LIST_STORE (model), &iter );
@@ -1250,7 +1125,7 @@
 static void
 xfce_keyboard_settings_init_model (XfceKeyboardSettings *settings)
 {
-  GtkWidget    *view;
+  GObject      *view;
   GtkTreeModel *model;
   GtkTreeIter   iter;
   gchar        *id;
@@ -1258,7 +1133,7 @@
   gboolean      item;
   gboolean      found = FALSE;
 
-  view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_model_combo");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_model_combo");
   model = gtk_combo_box_get_model (GTK_COMBO_BOX (view));
 
   xkbmodel = xfconf_channel_get_string (settings->priv->keyboard_layout_channel, "/Default/XkbModel", settings->priv->xkl_rec_config->model);
@@ -1287,7 +1162,7 @@
                                          gchar                 *path_str,
                                          XfceKeyboardSettings  *settings)
 {
-  GtkWidget        *view;
+  GObject          *view;
   GtkTreeModel     *model;
   GtkTreeIter       iter;
   GtkTreePath      *path1,
@@ -1296,7 +1171,7 @@
                     group_id = 0;
   gboolean          selected = FALSE;
 
-  view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_view");
   model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
   path1 = gtk_tree_path_new_from_string (path_str);
   column = g_object_get_data (G_OBJECT (cell), "column");
@@ -1339,23 +1214,23 @@
 static void
 xfce_keyboard_settings_update_layout_buttons (XfceKeyboardSettings *settings)
 {
-  GtkWidget    *view;
+  GObject      *view;
   GtkTreeModel *model;
-  GtkWidget    *xkb_layout_add_button;
-  GtkWidget    *xkb_layout_delete_button;
+  GObject      *object;
   gint          n_layouts;
   gint          max_layouts;
 
-  xkb_layout_add_button = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_add_button");
-  xkb_layout_delete_button = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_delete_button");
-  view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_view");
   model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
 
   n_layouts = gtk_tree_model_iter_n_children (model, NULL);
   max_layouts = xkl_engine_get_max_num_groups (settings->priv->xkl_engine);
 
-  gtk_widget_set_sensitive (xkb_layout_add_button, (n_layouts < max_layouts));
-  gtk_widget_set_sensitive (xkb_layout_delete_button, (n_layouts > 1));
+  object = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_add_button");
+  gtk_widget_set_sensitive (GTK_WIDGET (object), (n_layouts < max_layouts));
+
+  object = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_delete_button");
+  gtk_widget_set_sensitive (GTK_WIDGET (object), (n_layouts > 1));
 }
 
 
@@ -1364,14 +1239,14 @@
 xfce_keyboard_settings_update_edit_button (GtkTreeView          *tree_view,
                                            XfceKeyboardSettings *settings)
 {
-  GtkWidget         *xkb_layout_edit_button;
+  GObject           *object;
   GtkTreePath       *path;
   GtkTreeViewColumn *column;
 
-  xkb_layout_edit_button = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_edit_button");
+  object = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_edit_button");
 
   gtk_tree_view_get_cursor (GTK_TREE_VIEW (tree_view), &path, &column);
-  gtk_widget_set_sensitive (xkb_layout_edit_button, (path != NULL));
+  gtk_widget_set_sensitive (GTK_WIDGET (object), (path != NULL));
 }
 
 
@@ -1381,14 +1256,14 @@
                                               XfceKeyboardSettings *settings)
 {
   GtkTreeSelection *selection;
-  GtkWidget        *view;
+  GObject          *view;
   GtkTreeModel     *model;
   GtkTreeIter       iter;
   gchar            *layout;
   gchar           **strings;
 
   layout = xfce_keyboard_settings_layout_selection (settings);
-  view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_view");
   if (layout)
     {
       model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
@@ -1409,15 +1284,14 @@
 xfce_keyboard_settings_add_layout_button_cb (GtkWidget            *widget,
                                              XfceKeyboardSettings *settings)
 {
-  GtkTreeSelection *selection;
-  GtkWidget        *view;
+  GObject          *view;
   GtkTreeModel     *model;
   GtkTreeIter       iter;
   gchar            *layout;
   gchar           **strings;
 
   layout = xfce_keyboard_settings_layout_selection (settings);
-  view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_view");
   if (layout)
     {
       model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
@@ -1438,12 +1312,12 @@
 xfce_keyboard_settings_del_layout_button_cb (GtkWidget            *widget,
                                              XfceKeyboardSettings *settings)
 {
-  GtkWidget        *view;
+  GObject          *view;
   GtkTreeModel     *model;
   GtkTreeIter       iter;
   GtkTreeSelection *selection;
 
-  view = glade_xml_get_widget (settings->priv->glade_xml, "xkb_layout_view");
+  view = gtk_builder_get_object (GTK_BUILDER (settings), "xkb_layout_view");
   selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
 
   if (gtk_tree_selection_get_selected (selection, &model, &iter))
@@ -1462,14 +1336,13 @@
                                             XklConfigItem        *config_item,
                                             XfceKeyboardSettings *settings)
 {
-  GtkTreeModel *model;
   GtkTreeStore *treestore;
   GtkTreeIter   iter;
-  GtkWidget    *treeview;
-  char         *variant;
+  GObject      *treeview;
+  gchar        *variant;
 
   variant = xfce_keyboard_settings_xkb_description (config_item);
-  treeview = glade_xml_get_widget (settings->priv->glade_xml, "layout_selection_view");
+  treeview = gtk_builder_get_object (GTK_BUILDER (settings), "layout_selection_view");
   treestore = GTK_TREE_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)));
   gtk_tree_store_append (treestore, &iter, &settings->priv->layout_selection_iter);
   gtk_tree_store_set (treestore, &iter,
@@ -1485,14 +1358,12 @@
                                            XklConfigItem        *config_item,
                                            XfceKeyboardSettings *settings)
 {
-  GtkTreeModel *model;
-  GtkTreeIter   iter;
   GtkTreeStore *treestore;
-  GtkWidget    *treeview;
+  GObject      *treeview;
   gchar        *layout;
 
   layout = xfce_keyboard_settings_xkb_description (config_item);
-  treeview = glade_xml_get_widget (settings->priv->glade_xml, "layout_selection_view");
+  treeview = gtk_builder_get_object (GTK_BUILDER (settings), "layout_selection_view");
   treestore = GTK_TREE_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)));
   gtk_tree_store_append (treestore, &settings->priv->layout_selection_iter, NULL);
   gtk_tree_store_set (treestore, &settings->priv->layout_selection_iter,
@@ -1520,24 +1391,21 @@
 static gchar *
 xfce_keyboard_settings_layout_selection (XfceKeyboardSettings *settings)
 {
-  GtkWidget         *keyboard_layout_selection_dialog;
-  GtkWidget         *layout_selection_ok_button;
-  GtkWidget         *layout_selection_cancel_button;
-  GtkWidget         *layout_selection_view;
+  GObject           *keyboard_layout_selection_dialog;
+  GObject           *layout_selection_view;
   GtkTreePath       *path;
   GtkCellRenderer   *renderer;
   GtkTreeModel      *model;
   GtkTreeIter        iter;
   GtkTreeViewColumn *column;
   GtkTreeSelection  *selection;
-  GtkTreeIter        selected_iter;
   gchar             *val_layout;
   gchar             *layout;
   gchar             *variant;
   gint               result;
 
-  keyboard_layout_selection_dialog = glade_xml_get_widget (settings->priv->glade_xml, "keyboard-layout-selection-dialog");
-  layout_selection_view = glade_xml_get_widget (settings->priv->glade_xml, "layout_selection_view");
+  keyboard_layout_selection_dialog = gtk_builder_get_object (GTK_BUILDER (settings), "keyboard-layout-selection-dialog");
+  layout_selection_view = gtk_builder_get_object (GTK_BUILDER (settings), "layout_selection_view");
 
   if (!settings->priv->layout_selection_treestore)
     {
@@ -1553,7 +1421,7 @@
       g_signal_connect (GTK_TREE_VIEW (layout_selection_view), "row-activated", G_CALLBACK (xfce_keyboard_settings_layout_activate_cb), keyboard_layout_selection_dialog);
     }
   val_layout = NULL;
-  gtk_widget_show (keyboard_layout_selection_dialog);
+  gtk_widget_show (GTK_WIDGET (keyboard_layout_selection_dialog));
   result = gtk_dialog_run (GTK_DIALOG (keyboard_layout_selection_dialog));
   if (result)
     {
@@ -1577,7 +1445,7 @@
       g_free (variant);
     }
 
-  gtk_widget_hide (keyboard_layout_selection_dialog);
+  gtk_widget_hide (GTK_WIDGET (keyboard_layout_selection_dialog));
   return val_layout;
 }
 

Modified: xfce4-settings/trunk/dialogs/keyboard-settings/xfce-keyboard-settings.h
===================================================================
--- xfce4-settings/trunk/dialogs/keyboard-settings/xfce-keyboard-settings.h	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/keyboard-settings/xfce-keyboard-settings.h	2009-07-13 16:58:39 UTC (rev 30306)
@@ -2,19 +2,19 @@
 /*-
  * Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>.
  *
- * This program is free software; you can redistribute it and/or modify 
- * it under the terms of the GNU General Public License as published by 
- * the Free Software Foundation; either version 2 of the License, or (at 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
  * your option) any later version.
  *
- * This program is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty of 
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License 
- * along with this program; if not, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA  02111-1307  USA
  */
 
@@ -23,7 +23,7 @@
 
 #include <glib-object.h>
 
-G_BEGIN_DECLS;
+G_BEGIN_DECLS
 
 typedef struct _XfceKeyboardSettingsPrivate XfceKeyboardSettingsPrivate;
 typedef struct _XfceKeyboardSettingsClass   XfceKeyboardSettingsClass;
@@ -47,16 +47,16 @@
 
 struct _XfceKeyboardSettingsClass
 {
-  GObjectClass __parent__;
+  GtkBuilderClass __parent__;
 };
 
 struct _XfceKeyboardSettings
 {
-  GObject __parent__;
+  GtkBuilder __parent__;
 
   XfceKeyboardSettingsPrivate *priv;
 };
 
-G_END_DECLS;
+G_END_DECLS
 
 #endif /* !__XFCE_KEYBOARD_SETTINGS_H__ */

Modified: xfce4-settings/trunk/dialogs/mouse-settings/Makefile.am
===================================================================
--- xfce4-settings/trunk/dialogs/mouse-settings/Makefile.am	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/mouse-settings/Makefile.am	2009-07-13 16:58:39 UTC (rev 30306)
@@ -17,12 +17,12 @@
 
 xfce4_mouse_settings_CFLAGS = \
 	$(GTK_CFLAGS) \
-	$(GLIB_CFLAGS) \
-	$(GLADE_CFLAGS) \
-	$(LIBXFCEGUI4_CFLAGS) \
+	$(LIBXFCE4UTIL_CFLAGS) \
+	$(LIBXFCE4UI_CFLAGS) \
 	$(XFCONF_CFLAGS) \
 	$(XI_CFLAGS) \
-	$(XFCONF_CFLAGS)
+	$(XFCONF_CFLAGS) \
+	$(PLATFORM_CFLAGS)
 
 xfce4_mouse_settings_LDFLAGS = \
 	-no-undefined \
@@ -30,9 +30,8 @@
 
 xfce4_mouse_settings_LDADD = \
 	$(GTK_LIBS) \
-	$(GLIB_LIBS) \
-	$(GLADE_LIBS) \
-	$(LIBXFCEGUI4_LIBS) \
+	$(LIBXFCE4UTIL_LIBS) \
+	$(LIBXFCE4UI_LIBS) \
 	$(XFCONF_LIBS) \
 	$(XI_LIBS)
 

Modified: xfce4-settings/trunk/dialogs/mouse-settings/main.c
===================================================================
--- xfce4-settings/trunk/dialogs/mouse-settings/main.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/mouse-settings/main.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -42,11 +42,10 @@
 
 #include <gtk/gtk.h>
 #include <gdk/gdkx.h>
-#include <glade/glade.h>
 
 #include <xfconf/xfconf.h>
 #include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
 
 #include "mouse-dialog_glade.h"
 
@@ -84,7 +83,7 @@
 
 #ifdef HAS_DEVICE_HOTPLUGGING
 /* event id for device add/remove */
-gint device_presence_event_type = 0;
+static gint device_presence_event_type = 0;
 #endif
 
 /* option entries */
@@ -298,13 +297,13 @@
 
 static void
 mouse_settings_themes_selection_changed (GtkTreeSelection *selection,
-                                         GladeXML       *gxml)
+                                         GtkBuilder       *builder)
 {
     GtkTreeModel *model;
     GtkTreeIter   iter;
     gboolean      has_selection;
     gchar        *path, *name;
-    GtkWidget      *image;
+    GObject      *image;
 
     has_selection = gtk_tree_selection_get_selected (selection, &model, &iter);
     if (G_LIKELY (has_selection))
@@ -314,7 +313,7 @@
                             COLUMN_THEME_NAME, &name, -1);
 
         /* update the preview widget */
-        image = glade_xml_get_widget (gxml, "mouse-theme-preview");
+        image = gtk_builder_get_object (builder, "mouse-theme-preview");
         mouse_settings_themes_preview_image (path, GTK_IMAGE (image));
 
         /* write configuration (not during a lock) */
@@ -366,7 +365,7 @@
 
 
 static void
-mouse_settings_themes_populate_store (GladeXML *gxml)
+mouse_settings_themes_populate_store (GtkBuilder *builder)
 {
     const gchar        *path;
     gchar             **basedirs;
@@ -387,7 +386,7 @@
     GtkListStore       *store;
     GtkCellRenderer    *renderer;
     GtkTreeViewColumn  *column;
-    GtkWidget          *treeview;
+    GObject            *treeview;
     GtkTreeSelection   *selection;
     gchar              *comment_escaped;
 
@@ -527,11 +526,9 @@
     g_free (active_theme);
 
     /* set the treeview store */
-    treeview = glade_xml_get_widget (gxml, "mouse-theme-treeview");
+    treeview = gtk_builder_get_object (builder, "mouse-theme-treeview");
     gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
-#if GTK_CHECK_VERSION (2, 12, 0)
     gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (treeview), COLUMN_THEME_COMMENT);
-#endif
 
     /* setup the columns */
     renderer = gtk_cell_renderer_pixbuf_new ();
@@ -546,7 +543,7 @@
     /* setup selection */
     selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
     gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
-    g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (mouse_settings_themes_selection_changed), gxml);
+    g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (mouse_settings_themes_selection_changed), builder);
 
     /* select the active theme in the treeview */
     gtk_tree_view_set_cursor (GTK_TREE_VIEW (treeview), active_path, NULL, FALSE);
@@ -566,7 +563,7 @@
 
 static void
 mouse_settings_device_selection_changed (GtkTreeSelection *selection,
-                                         GladeXML         *gxml)
+                                         GtkBuilder       *builder)
 {
     gint               nbuttons;
     Display           *xdisplay;
@@ -580,7 +577,7 @@
     gint               id_4 = 0, id_5 = 0;
     gdouble            acceleration = -1.00;
     gint               threshold = -1;
-    GtkWidget         *widget;
+    GObject           *object;
     GtkTreeModel      *model;
     GtkTreeIter        iter;
     gboolean           has_selection;
@@ -663,22 +660,22 @@
     }
 
     /* update button order */
-    widget = glade_xml_get_widget (gxml, id_1 > id_3 ? "mouse-left-handed" : "mouse-right-handed");
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
+    object = gtk_builder_get_object (builder, id_1 > id_3 ? "mouse-left-handed" : "mouse-right-handed");
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (object), TRUE);
 
-    widget = glade_xml_get_widget (gxml, "mouse-reverse-scrolling");
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), !!(id_5 < id_4));
-    gtk_widget_set_sensitive (widget, nbuttons >= 5);
+    object = gtk_builder_get_object (builder, "mouse-reverse-scrolling");
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (object), !!(id_5 < id_4));
+    gtk_widget_set_sensitive (GTK_WIDGET (object), nbuttons >= 5);
 
     /* update acceleration scale */
-    widget = glade_xml_get_widget (gxml, "mouse-acceleration-scale");
-    gtk_range_set_value (GTK_RANGE (widget), acceleration);
-    gtk_widget_set_sensitive (GTK_WIDGET (widget), acceleration != -1);
+    object = gtk_builder_get_object (builder, "mouse-acceleration-scale");
+    gtk_range_set_value (GTK_RANGE (object), acceleration);
+    gtk_widget_set_sensitive (GTK_WIDGET (object), acceleration != -1);
 
     /* update threshold scale */
-    widget = glade_xml_get_widget (gxml, "mouse-threshold-scale");
-    gtk_range_set_value (GTK_RANGE (widget), threshold);
-    gtk_widget_set_sensitive (GTK_WIDGET (widget), threshold != -1);
+    object = gtk_builder_get_object (builder, "mouse-threshold-scale");
+    gtk_range_set_value (GTK_RANGE (object), threshold);
+    gtk_widget_set_sensitive (GTK_WIDGET (object), threshold != -1);
 
     /* flush and remove the x error trap */
     gdk_flush ();
@@ -691,29 +688,27 @@
 
 
 static void
-mouse_settings_device_save (GladeXML *gxml)
+mouse_settings_device_save (GtkBuilder *builder)
 {
-    GtkWidget        *treeview;
+    GObject          *treeview;
     GtkTreeSelection *selection;
     GtkTreeModel     *model;
     GtkTreeIter       iter;
     gboolean          has_selection;
     gchar            *name;
-    GtkWidget        *widget;
+    GObject          *object;
     gchar             property_name[512];
     gboolean          righthanded;
     gint              threshold;
     gdouble           acceleration;
     gboolean          reverse_scrolling;
 
-    g_return_if_fail (GLADE_IS_XML (gxml));
-
     /* leave when locked */
     if (locked > 0)
         return;
 
     /* get the treeview */
-    treeview = glade_xml_get_widget (gxml, "mouse-devices-treeview");
+    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
 
     /* get the selection */
     selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
@@ -727,31 +722,31 @@
         if (G_LIKELY (name))
         {
             /* store the button order */
-            widget = glade_xml_get_widget (gxml, "mouse-right-handed");
+            object = gtk_builder_get_object (builder, "mouse-right-handed");
             g_snprintf (property_name, sizeof (property_name), "/%s/RightHanded", name);
-            righthanded = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+            righthanded = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (object));
             if (!xfconf_channel_has_property (pointers_channel, property_name)
                 || xfconf_channel_get_bool (pointers_channel, property_name, TRUE) != righthanded)
                 xfconf_channel_set_bool (pointers_channel, property_name, righthanded);
 
             /* store reverse scrolling */
-            widget = glade_xml_get_widget (gxml, "mouse-reverse-scrolling");
+            object = gtk_builder_get_object (builder, "mouse-reverse-scrolling");
             g_snprintf (property_name, sizeof (property_name), "/%s/ReverseScrolling", name);
-            reverse_scrolling = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+            reverse_scrolling = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (object));
             if (xfconf_channel_get_bool (pointers_channel, property_name, FALSE) != reverse_scrolling)
                 xfconf_channel_set_bool (pointers_channel, property_name, reverse_scrolling);
 
             /* store the threshold */
-            widget = glade_xml_get_widget (gxml, "mouse-threshold-scale");
+            object = gtk_builder_get_object (builder, "mouse-threshold-scale");
             g_snprintf (property_name, sizeof (property_name), "/%s/Threshold", name);
-            threshold = gtk_range_get_value (GTK_RANGE (widget));
+            threshold = gtk_range_get_value (GTK_RANGE (object));
             if (xfconf_channel_get_int (pointers_channel, property_name, -1) != threshold)
                 xfconf_channel_set_int (pointers_channel, property_name, threshold);
 
             /* store the acceleration */
-            widget = glade_xml_get_widget (gxml, "mouse-acceleration-scale");
+            object = gtk_builder_get_object (builder, "mouse-acceleration-scale");
             g_snprintf (property_name, sizeof (property_name), "/%s/Acceleration", name);
-            acceleration = gtk_range_get_value (GTK_RANGE (widget));
+            acceleration = gtk_range_get_value (GTK_RANGE (object));
             if (xfconf_channel_get_double (pointers_channel, property_name, -1) != acceleration)
                 xfconf_channel_set_double (pointers_channel, property_name, acceleration);
 
@@ -767,9 +762,9 @@
 mouse_settings_device_name_edited (GtkCellRendererText *renderer,
                                    gchar               *path,
                                    gchar               *new_name,
-                                   GladeXML            *gxml)
+                                   GtkBuilder          *builder)
 {
-    GtkWidget        *treeview;
+    GObject          *treeview;
     GtkTreeSelection *selection;
     gboolean          has_selection;
     GtkTreeModel     *model;
@@ -783,7 +778,7 @@
         return;
 
     /* get the treeview's selection */
-    treeview = glade_xml_get_widget (gxml, "mouse-devices-treeview");
+    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
     selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
 
     /* get the selected item */
@@ -843,8 +838,8 @@
 
 
 static void
-mouse_settings_device_populate_store (GladeXML *gxml,
-                                      gboolean  create_store)
+mouse_settings_device_populate_store (GtkBuilder *builder,
+                                      gboolean    create_store)
 {
     Display           *xdisplay;
     XDeviceInfo       *device_list, *device_info;
@@ -855,7 +850,7 @@
     XAnyClassPtr       ptr;
     GtkTreeIter        iter;
     GtkListStore      *store;
-    GtkWidget         *treeview;
+    GObject           *treeview;
     GtkTreePath       *path = NULL;
     GtkTreeViewColumn *column;
     GtkCellRenderer   *renderer;
@@ -872,7 +867,7 @@
     gdk_error_trap_push ();
 
     /* get the treeview */
-    treeview = glade_xml_get_widget (gxml, "mouse-devices-treeview");
+    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
 
     /* create or get the store */
     if (G_LIKELY (create_store))
@@ -998,12 +993,12 @@
         renderer = gtk_cell_renderer_text_new ();
         column = gtk_tree_view_column_new_with_attributes ("", renderer, "markup", COLUMN_DEVICE_DISPLAY_NAME, NULL);
         g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, "editable", TRUE, NULL);
-        g_signal_connect (G_OBJECT (renderer), "edited", G_CALLBACK (mouse_settings_device_name_edited), gxml);
+        g_signal_connect (G_OBJECT (renderer), "edited", G_CALLBACK (mouse_settings_device_name_edited), builder);
         gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
 
         /* setup tree selection */
         gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
-        g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (mouse_settings_device_selection_changed), gxml);
+        g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (mouse_settings_device_selection_changed), builder);
     }
 
     /* select the mouse in the tree */
@@ -1028,21 +1023,20 @@
 static gboolean
 mouse_settings_device_update_sliders (gpointer user_data)
 {
-    GladeXML  *gxml = GLADE_XML (user_data);
-    GtkWidget *treeview;
-    GtkWidget *button;
+    GtkBuilder *builder = GTK_BUILDER (user_data);
+    GObject    *treeview, *button;
 
     GDK_THREADS_ENTER ();
 
     /* get the treeview */
-    treeview = glade_xml_get_widget (gxml, "mouse-devices-treeview");
+    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
 
     /* update */
-    mouse_settings_device_selection_changed (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)), gxml);
+    mouse_settings_device_selection_changed (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)), builder);
 
     /* make the button sensitive again */
-    button = glade_xml_get_widget (gxml, "mouse-reset");
-    gtk_widget_set_sensitive (button, TRUE);
+    button = gtk_builder_get_object (builder, "mouse-reset");
+    gtk_widget_set_sensitive (GTK_WIDGET (button), TRUE);
 
     GDK_THREADS_LEAVE ();
 
@@ -1061,10 +1055,10 @@
 
 
 static void
-mouse_settings_device_reset (GtkWidget *button,
-                             GladeXML  *gxml)
+mouse_settings_device_reset (GtkWidget  *button,
+                             GtkBuilder *builder)
 {
-    GtkWidget        *treeview;
+    GObject          *treeview;
     GtkTreeSelection *selection;
     gchar            *name, *property_name;
     gboolean          has_selection;
@@ -1076,7 +1070,7 @@
         return;
 
     /* get the treeview */
-    treeview = glade_xml_get_widget (gxml, "mouse-devices-treeview");
+    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
 
     /* get the selection */
     selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
@@ -1104,7 +1098,7 @@
 
             /* update the sliders in 500ms */
             timeout_id = g_timeout_add_full (G_PRIORITY_LOW, 500, mouse_settings_device_update_sliders,
-                                             gxml, mouse_settings_device_list_changed_timeout_destroyed);
+                                             builder, mouse_settings_device_list_changed_timeout_destroyed);
         }
 
         /* cleanup */
@@ -1127,7 +1121,7 @@
     if (event->type == device_presence_event_type
         && (dpn_event->devchange == DeviceAdded
             || dpn_event->devchange == DeviceRemoved))
-        mouse_settings_device_populate_store (GLADE_XML (user_data), FALSE);
+        mouse_settings_device_populate_store (GTK_BUILDER (user_data), FALSE);
 
     return GDK_FILTER_CONTINUE;
 }
@@ -1135,7 +1129,7 @@
 
 
 static void
-mouse_settings_create_event_filter (GladeXML *gxml)
+mouse_settings_create_event_filter (GtkBuilder *builder)
 {
     Display     *xdisplay;
     XEventClass  event_class;
@@ -1158,7 +1152,7 @@
     gdk_error_trap_pop ();
 
     /* add an event filter */
-    gdk_window_add_filter (NULL, mouse_settings_event_filter, gxml);
+    gdk_window_add_filter (NULL, mouse_settings_event_filter, builder);
 }
 #endif
 
@@ -1167,13 +1161,12 @@
 gint
 main (gint argc, gchar **argv)
 {
-    GtkWidget         *dialog;
+    GObject           *dialog;
     GtkWidget         *plug;
-    GtkWidget         *plug_child;
-    GladeXML          *gxml;
+    GObject           *plug_child;
+    GtkBuilder        *builder;
     GError            *error = NULL;
-    GtkAdjustment     *adjustment;
-    GtkWidget         *widget;
+    GObject           *object;
     XExtensionVersion *version = NULL;
 
     /* setup translation domain */
@@ -1204,7 +1197,7 @@
     if (G_UNLIKELY (opt_version))
     {
         g_print ("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string ());
-        g_print ("%s\n", "Copyright (c) 2004-2008");
+        g_print ("%s\n", "Copyright (c) 2004-2009");
         g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved."));
         g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT);
         g_print ("\n");
@@ -1221,16 +1214,20 @@
 
         return EXIT_FAILURE;
     }
-    
+
     /* check for Xi 1.4 */
     version = XGetExtensionVersion (GDK_DISPLAY (), INAME);
     if (!version || !version->present || version->major_version < 1 || version->minor_version < 4)
     {
         g_critical ("XI is not present or too old.");
-        
+
         return EXIT_FAILURE;
     }
 
+     /* hook to make sure the libxfce4ui library is linked */
+    if (xfce_titled_dialog_get_type () == 0)
+        return EXIT_FAILURE;
+
     /* open the xsettings and pointers channel */
     xsettings_channel = xfconf_channel_new ("xsettings");
     pointers_channel = xfconf_channel_new ("pointers");
@@ -1238,8 +1235,9 @@
     if (G_LIKELY (pointers_channel && xsettings_channel))
     {
         /* load the glade xml file */
-        gxml = glade_xml_new_from_buffer (mouse_dialog_glade, mouse_dialog_glade_length, NULL, NULL);
-        if (G_LIKELY (gxml))
+        builder = gtk_builder_new ();
+        if (gtk_builder_add_from_string (builder, mouse_dialog_glade,
+                                         mouse_dialog_glade_length, &error) != 0)
         {
             /* lock */
             locked++;
@@ -1248,68 +1246,65 @@
             display = gdk_display_get_default ();
 
             /* populate the devices treeview */
-            mouse_settings_device_populate_store (gxml, TRUE);
+            mouse_settings_device_populate_store (builder, TRUE);
 
             /* connect signals */
-            widget = glade_xml_get_widget (gxml, "mouse-acceleration-scale");
-            g_signal_connect_swapped (G_OBJECT (widget), "value-changed", G_CALLBACK (mouse_settings_device_save), gxml);
+            object = gtk_builder_get_object (builder, "mouse-acceleration-scale");
+            g_signal_connect_swapped (G_OBJECT (object), "value-changed", G_CALLBACK (mouse_settings_device_save), builder);
 
-            widget = glade_xml_get_widget (gxml, "mouse-threshold-scale");
-            g_signal_connect_swapped (G_OBJECT (widget), "value-changed", G_CALLBACK (mouse_settings_device_save), gxml);
+            object = gtk_builder_get_object (builder, "mouse-threshold-scale");
+            g_signal_connect_swapped (G_OBJECT (object), "value-changed", G_CALLBACK (mouse_settings_device_save), builder);
 
-            widget = glade_xml_get_widget (gxml, "mouse-left-handed");
-            g_signal_connect_swapped (G_OBJECT (widget), "toggled", G_CALLBACK (mouse_settings_device_save), gxml);
+            object = gtk_builder_get_object (builder, "mouse-left-handed");
+            g_signal_connect_swapped (G_OBJECT (object), "toggled", G_CALLBACK (mouse_settings_device_save), builder);
 
-            widget = glade_xml_get_widget (gxml, "mouse-right-handed");
-            g_signal_connect_swapped (G_OBJECT (widget), "toggled", G_CALLBACK (mouse_settings_device_save), gxml);
+            object = gtk_builder_get_object (builder, "mouse-right-handed");
+            g_signal_connect_swapped (G_OBJECT (object), "toggled", G_CALLBACK (mouse_settings_device_save), builder);
 
-            widget = glade_xml_get_widget (gxml, "mouse-reverse-scrolling");
-            g_signal_connect_swapped (G_OBJECT (widget), "toggled", G_CALLBACK (mouse_settings_device_save), gxml);
+            object = gtk_builder_get_object (builder, "mouse-reverse-scrolling");
+            g_signal_connect_swapped (G_OBJECT (object), "toggled", G_CALLBACK (mouse_settings_device_save), builder);
 
-            widget = glade_xml_get_widget (gxml, "mouse-reset");
-            g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (mouse_settings_device_reset), gxml);
+            object = gtk_builder_get_object (builder, "mouse-reset");
+            g_signal_connect (G_OBJECT (object), "clicked", G_CALLBACK (mouse_settings_device_reset), builder);
 
 #ifdef HAVE_XCURSOR
             /* populate the themes treeview */
-            mouse_settings_themes_populate_store (gxml);
+            mouse_settings_themes_populate_store (builder);
 
             /* connect the cursor size in the cursor tab */
-            widget = glade_xml_get_widget (gxml, "mouse-cursor-size");
-            xfconf_g_property_bind (xsettings_channel, "/Gtk/CursorThemeSize", G_TYPE_INT, G_OBJECT (widget), "value");
+            object = gtk_builder_get_object (builder, "mouse-cursor-size");
+            xfconf_g_property_bind (xsettings_channel, "/Gtk/CursorThemeSize", G_TYPE_INT, G_OBJECT (object), "value");
 #else
             /* hide the themes tab */
-            widget = glade_xml_get_widget (gxml, "mouse-themes-hbox");
-            gtk_widget_hide (widget);
+            object = gtk_builder_get_object (builder, "mouse-themes-hbox");
+            gtk_widget_hide (GTK_WIDGET (object));
 #endif /* !HAVE_XCURSOR */
 
             /* connect sliders in the gtk tab */
-            adjustment = gtk_range_get_adjustment (GTK_RANGE (glade_xml_get_widget (gxml, "mouse-dnd-threshold")));
-            xfconf_g_property_bind (xsettings_channel, "/Net/DndDragThreshold", G_TYPE_INT, G_OBJECT (adjustment), "value");
+            object = gtk_builder_get_object (builder, "mouse-dnd-threshold");
+            xfconf_g_property_bind (xsettings_channel, "/Net/DndDragThreshold", G_TYPE_INT, G_OBJECT (object), "value");
 
-            adjustment = gtk_range_get_adjustment (GTK_RANGE (glade_xml_get_widget (gxml, "mouse-double-click-time")));
-            xfconf_g_property_bind (xsettings_channel, "/Net/DoubleClickTime", G_TYPE_INT, G_OBJECT (adjustment), "value");
+            object = gtk_builder_get_object (builder, "mouse-double-click-time");
+            xfconf_g_property_bind (xsettings_channel, "/Net/DoubleClickTime", G_TYPE_INT, G_OBJECT (object), "value");
 
-            adjustment = gtk_range_get_adjustment (GTK_RANGE (glade_xml_get_widget (gxml, "mouse-double-click-distance")));
-            xfconf_g_property_bind (xsettings_channel, "/Net/DoubleClickDistance", G_TYPE_INT, G_OBJECT (adjustment), "value");
+            object = gtk_builder_get_object (builder, "mouse-double-click-distance");
+            xfconf_g_property_bind (xsettings_channel, "/Net/DoubleClickDistance", G_TYPE_INT, G_OBJECT (object), "value");
 
 #ifdef HAS_DEVICE_HOTPLUGGING
             /* create the event filter for device monitoring */
-            mouse_settings_create_event_filter (gxml);
+            mouse_settings_create_event_filter (builder);
 #endif
 
             if (G_UNLIKELY (opt_socket_id == 0))
             {
                 /* get the dialog */
-                dialog = glade_xml_get_widget (gxml, "mouse-dialog");
+                dialog = gtk_builder_get_object (builder, "mouse-dialog");
 
                 /* unlock */
                 locked--;
 
                 /* show the dialog */
                 gtk_dialog_run (GTK_DIALOG (dialog));
-
-                /* destroy the dialog */
-                gtk_widget_destroy (GTK_WIDGET (dialog));
             }
             else
             {
@@ -1322,9 +1317,9 @@
                 gdk_notify_startup_complete ();
 
                 /* Get plug child widget */
-                plug_child = glade_xml_get_widget (gxml, "plug-child");
-                gtk_widget_reparent (plug_child, plug);
-                gtk_widget_show (plug_child);
+                plug_child = gtk_builder_get_object (builder, "plug-child");
+                gtk_widget_reparent (GTK_WIDGET (plug_child), plug);
+                gtk_widget_show (GTK_WIDGET (plug_child));
 
                 /* Unlock */
                 locked--;
@@ -1332,11 +1327,16 @@
                 /* Enter main loop */
                 gtk_main ();
             }
-
-            /* release the glade xml */
-            g_object_unref (G_OBJECT (gxml));
         }
+        else
+        {
+            g_error ("Failed to load the glade file: %s.", error->message);
+            g_error_free (error);
+        }
 
+        /* release the glade xml */
+        g_object_unref (G_OBJECT (builder));
+
         /* release the channels */
         g_object_unref (G_OBJECT (xsettings_channel));
         g_object_unref (G_OBJECT (pointers_channel));

Modified: xfce4-settings/trunk/dialogs/mouse-settings/mouse-dialog.glade
===================================================================
--- xfce4-settings/trunk/dialogs/mouse-settings/mouse-dialog.glade	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/dialogs/mouse-settings/mouse-dialog.glade	2009-07-13 16:58:39 UTC (rev 30306)
@@ -1,576 +1,654 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Sun Nov 16 16:10:50 2008 -->
-<glade-interface>
-  <requires lib="xfce4"/>
-  <widget class="XfceTitledDialog" id="mouse-dialog">
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.14"/>
+  <!-- interface-requires libxfce4ui 4.5 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkAdjustment" id="mouse-acceleration">
+    <property name="value">2</property>
+    <property name="lower">0.10000000000000001</property>
+    <property name="upper">10</property>
+    <property name="step_increment">0.10000000000000001</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-threshold">
+    <property name="value">4</property>
+    <property name="lower">1</property>
+    <property name="upper">30</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">5</property>
+    <property name="page_size">5</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-dnd-threshold">
+    <property name="value">8</property>
+    <property name="lower">1</property>
+    <property name="upper">50</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">10</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-double-click-time">
+    <property name="value">250</property>
+    <property name="lower">100</property>
+    <property name="upper">2000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">100</property>
+    <property name="page_size">100</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-double-click-distance">
+    <property name="value">4</property>
+    <property name="upper">20</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">5</property>
+    <property name="page_size">5</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment6">
+    <property name="value">24</property>
+    <property name="lower">16</property>
+    <property name="upper">48</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">11</property>
+  </object>
+  <object class="XfceTitledDialog" id="mouse-dialog">
     <property name="title" translatable="yes">Mouse</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="icon_name">preferences-desktop-peripherals</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <property name="subtitle" translatable="yes">Configure pointer device behavior and appearance</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">2</property>
         <child>
-          <widget class="GtkNotebook" id="plug-child">
+          <object class="GtkNotebook" id="plug-child">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="border_width">6</property>
             <child>
-              <widget class="GtkHBox" id="hbox1">
+              <object class="GtkHBox" id="hbox1">
                 <property name="visible">True</property>
                 <property name="border_width">12</property>
                 <property name="spacing">12</property>
                 <child>
-                  <widget class="GtkScrolledWindow" id="scrolledwindow1">
+                  <object class="GtkScrolledWindow" id="scrolledwindow1">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <property name="hscrollbar_policy">automatic</property>
+                    <property name="vscrollbar_policy">automatic</property>
+                    <property name="shadow_type">in</property>
                     <child>
-                      <widget class="GtkTreeView" id="mouse-devices-treeview">
+                      <object class="GtkTreeView" id="mouse-devices-treeview">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="headers_visible">False</property>
-                      </widget>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox1">
+                  <object class="GtkVBox" id="vbox1">
                     <property name="visible">True</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkFrame" id="frame1">
+                      <object class="GtkFrame" id="frame1">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment1">
+                          <object class="GtkAlignment" id="alignment1">
                             <property name="visible">True</property>
                             <property name="bottom_padding">6</property>
                             <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkVBox" id="vbox12">
+                              <object class="GtkVBox" id="vbox12">
                                 <property name="visible">True</property>
                                 <property name="border_width">6</property>
+                                <property name="orientation">vertical</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkRadioButton" id="mouse-right-handed">
+                                  <object class="GtkRadioButton" id="mouse-right-handed">
+                                    <property name="label" translatable="yes">_Right handed</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">_Right handed</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
+                                  <packing>
+                                    <property name="position">0</property>
+                                  </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkRadioButton" id="mouse-left-handed">
+                                  <object class="GtkRadioButton" id="mouse-left-handed">
+                                    <property name="label" translatable="yes">_Left handed</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">_Left handed</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
                                     <property name="group">mouse-right-handed</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkCheckButton" id="mouse-reverse-scrolling">
+                                  <object class="GtkCheckButton" id="mouse-reverse-scrolling">
+                                    <property name="label" translatable="yes">Re_verse scroll direction</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">When selected, the scroll wheel will work in the opposite direction</property>
-                                    <property name="label" translatable="yes">Re_verse scroll direction</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">When selected, the scroll wheel will work in the opposite direction</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label4">
+                        <child type="label">
+                          <object class="GtkLabel" id="label4">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Button Order</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Button Order</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkFrame" id="frame2">
+                      <object class="GtkFrame" id="frame2">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment2">
+                          <object class="GtkAlignment" id="alignment2">
                             <property name="visible">True</property>
                             <property name="bottom_padding">6</property>
                             <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkVBox" id="vbox6">
+                              <object class="GtkVBox" id="vbox6">
                                 <property name="visible">True</property>
                                 <property name="border_width">6</property>
+                                <property name="orientation">vertical</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="mouse-acceleration-label">
+                                  <object class="GtkLabel" id="mouse-acceleration-label">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Acceleration:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">mouse-acceleration-scale</property>
-                                  </widget>
+                                  </object>
+                                  <packing>
+                                    <property name="position">0</property>
+                                  </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHScale" id="mouse-acceleration-scale">
+                                  <object class="GtkHScale" id="mouse-acceleration-scale">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">The factor at which the pointer's speed will increase as the mouse is moved</property>
-                                    <property name="update_policy">GTK_UPDATE_DELAYED</property>
-                                    <property name="adjustment">2 0.10000000000000001 10 0.10000000000000001 1 1</property>
-                                    <property name="value_pos">GTK_POS_RIGHT</property>
-                                  </widget>
+                                    <property name="tooltip_text" translatable="yes">The factor at which the pointer's speed will increase as the mouse is moved</property>
+                                    <property name="update_policy">delayed</property>
+                                    <property name="adjustment">mouse-acceleration</property>
+                                    <property name="value_pos">right</property>
+                                  </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="mouse-threshold-label">
+                                  <object class="GtkLabel" id="mouse-threshold-label">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">T_hreshold:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">mouse-threshold-scale</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHScale" id="mouse-threshold-scale">
+                                  <object class="GtkHScale" id="mouse-threshold-scale">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">The number of pixels the pointer must move in a short time before it starts accelerating</property>
-                                    <property name="update_policy">GTK_UPDATE_DELAYED</property>
-                                    <property name="adjustment">4 1 30 1 5 5</property>
+                                    <property name="tooltip_text" translatable="yes">The number of pixels the pointer must move in a short time before it starts accelerating</property>
+                                    <property name="update_policy">delayed</property>
+                                    <property name="adjustment">mouse-threshold</property>
                                     <property name="digits">0</property>
-                                    <property name="value_pos">GTK_POS_RIGHT</property>
-                                  </widget>
+                                    <property name="value_pos">right</property>
+                                  </object>
                                   <packing>
                                     <property name="position">3</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkAlignment" id="alignment7">
+                                  <object class="GtkAlignment" id="alignment7">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
                                     <property name="xscale">0</property>
                                     <child>
-                                      <widget class="GtkButton" id="mouse-reset">
+                                      <object class="GtkButton" id="mouse-reset">
+                                        <property name="label" translatable="yes">Re_set to Defaults</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
-                                        <property name="tooltip" translatable="yes">Set the acceleration and threshold for the selected device to the default values</property>
-                                        <property name="label" translatable="yes">Re_set to Defaults</property>
+                                        <property name="tooltip_text" translatable="yes">Set the acceleration and threshold for the selected device to the default values</property>
+                                        <property name="image">image1</property>
                                         <property name="use_underline">True</property>
-                                        <property name="response_id">0</property>
-                                      </widget>
+                                      </object>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">4</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label5">
+                        <child type="label">
+                          <object class="GtkLabel" id="label5">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Feedback</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Feedback</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label1">
+            <child type="tab">
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">De_vices</property>
                 <property name="use_underline">True</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox3">
+              <object class="GtkVBox" id="vbox3">
                 <property name="visible">True</property>
                 <property name="border_width">12</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkFrame" id="frame3">
+                  <object class="GtkFrame" id="frame3">
                     <property name="visible">True</property>
                     <property name="label_xalign">0</property>
-                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <property name="shadow_type">none</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment3">
+                      <object class="GtkAlignment" id="alignment3">
                         <property name="visible">True</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkVBox" id="vbox4">
+                          <object class="GtkVBox" id="vbox4">
                             <property name="visible">True</property>
                             <property name="border_width">6</property>
+                            <property name="orientation">vertical</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkLabel" id="mouse-dnd-label">
+                              <object class="GtkLabel" id="mouse-dnd-label">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">T_hreshold:</property>
                                 <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">mouse-dnd-threshold</property>
-                              </widget>
+                                <property name="mnemonic_widget">mouse-dnd-widget</property>
+                              </object>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                             <child>
-                              <widget class="GtkHScale" id="mouse-dnd-threshold">
+                              <object class="GtkHScale" id="mouse-dnd-widget">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">The number of pixels the pointer must move before a drag operation will start</property>
-                                <property name="update_policy">GTK_UPDATE_DELAYED</property>
-                                <property name="adjustment">8 1 50 1 10 10</property>
+                                <property name="tooltip_text" translatable="yes">The number of pixels the pointer must move before a drag operation will start</property>
+                                <property name="update_policy">delayed</property>
+                                <property name="adjustment">mouse-dnd-threshold</property>
                                 <property name="digits">0</property>
-                                <property name="value_pos">GTK_POS_RIGHT</property>
-                              </widget>
+                                <property name="value_pos">right</property>
+                              </object>
                               <packing>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                     </child>
-                    <child>
-                      <widget class="GtkLabel" id="label6">
+                    <child type="label">
+                      <object class="GtkLabel" id="label6">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>Drag and Drop</b></property>
-                        <property name="use_markup">True</property>
-                      </widget>
-                      <packing>
-                        <property name="type">label_item</property>
-                      </packing>
+                        <property name="label" translatable="yes">Drag and Drop</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkFrame" id="frame4">
+                  <object class="GtkFrame" id="frame4">
                     <property name="visible">True</property>
                     <property name="label_xalign">0</property>
-                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <property name="shadow_type">none</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment4">
+                      <object class="GtkAlignment" id="alignment4">
                         <property name="visible">True</property>
                         <property name="border_width">6</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkVBox" id="vbox5">
+                          <object class="GtkVBox" id="vbox5">
                             <property name="visible">True</property>
+                            <property name="orientation">vertical</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkLabel" id="mouse-double-click-time-label">
+                              <object class="GtkLabel" id="mouse-double-click-time-label">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">Ti_me:</property>
                                 <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">mouse-double-click-time</property>
-                              </widget>
+                                <property name="mnemonic_widget">mouse-double-click-time-widget</property>
+                              </object>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                             <child>
-                              <widget class="GtkHScale" id="mouse-double-click-time">
+                              <object class="GtkHScale" id="mouse-double-click-time-widget">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Two mouse clicks in less than this length of time (in milliseconds) will be considered a double click</property>
-                                <property name="update_policy">GTK_UPDATE_DELAYED</property>
-                                <property name="adjustment">250 100 2000 10 100 100</property>
+                                <property name="tooltip_text" translatable="yes">Two mouse clicks in less than this length of time (in milliseconds) will be considered a double click</property>
+                                <property name="update_policy">delayed</property>
+                                <property name="adjustment">mouse-double-click-time</property>
                                 <property name="digits">0</property>
-                                <property name="value_pos">GTK_POS_RIGHT</property>
-                              </widget>
+                                <property name="value_pos">right</property>
+                              </object>
                               <packing>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="mouse-double-click-distance-label">
+                              <object class="GtkLabel" id="mouse-double-click-distance-label">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">_Distance:</property>
                                 <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">mouse-double-click-distance</property>
-                              </widget>
+                                <property name="mnemonic_widget">mouse-double-click-distance-widget</property>
+                              </object>
                               <packing>
                                 <property name="position">2</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHScale" id="mouse-double-click-distance">
+                              <object class="GtkHScale" id="mouse-double-click-distance-widget">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">The mouse pointer cannot move farther than this distance between two clicks for them to be considered a double click</property>
-                                <property name="update_policy">GTK_UPDATE_DELAYED</property>
-                                <property name="adjustment">4 0 20 1 5 5</property>
+                                <property name="tooltip_text" translatable="yes">The mouse pointer cannot move farther than this distance between two clicks for them to be considered a double click</property>
+                                <property name="update_policy">delayed</property>
+                                <property name="adjustment">mouse-double-click-distance</property>
                                 <property name="digits">0</property>
-                                <property name="value_pos">GTK_POS_RIGHT</property>
-                              </widget>
+                                <property name="value_pos">right</property>
+                              </object>
                               <packing>
                                 <property name="position">3</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                     </child>
-                    <child>
-                      <widget class="GtkLabel" id="label8">
+                    <child type="label">
+                      <object class="GtkLabel" id="label8">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>Double Click</b></property>
-                        <property name="use_markup">True</property>
-                      </widget>
-                      <packing>
-                        <property name="type">label_item</property>
-                      </packing>
+                        <property name="label" translatable="yes">Double Click</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label2">
+            <child type="tab">
+              <object class="GtkLabel" id="label2">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">_Behavior</property>
                 <property name="use_underline">True</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">1</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkHBox" id="mouse-themes-hbox">
+              <object class="GtkHBox" id="mouse-themes-hbox">
                 <property name="visible">True</property>
                 <property name="border_width">12</property>
                 <property name="spacing">12</property>
                 <child>
-                  <widget class="GtkScrolledWindow" id="scrolledwindow2">
+                  <object class="GtkScrolledWindow" id="scrolledwindow2">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+                    <property name="hscrollbar_policy">automatic</property>
+                    <property name="vscrollbar_policy">automatic</property>
+                    <property name="shadow_type">etched-in</property>
                     <child>
-                      <widget class="GtkTreeView" id="mouse-theme-treeview">
+                      <object class="GtkTreeView" id="mouse-theme-treeview">
                         <property name="width_request">200</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="headers_visible">False</property>
-                      </widget>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox9">
+                  <object class="GtkVBox" id="vbox9">
                     <property name="visible">True</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkFrame" id="frame5">
+                      <object class="GtkFrame" id="frame5">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment5">
+                          <object class="GtkAlignment" id="alignment5">
                             <property name="visible">True</property>
                             <property name="border_width">6</property>
                             <property name="bottom_padding">6</property>
                             <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox7">
+                              <object class="GtkHBox" id="hbox7">
                                 <property name="visible">True</property>
                                 <property name="spacing">12</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label21">
+                                  <object class="GtkLabel" id="label21">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">Cursor _Size:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">mouse-cursor-size</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkSpinButton" id="mouse-cursor-size">
+                                  <object class="GtkSpinButton" id="mouse-cursor-size">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="adjustment">24 16 48 1 11 0</property>
+                                    <property name="adjustment">adjustment6</property>
                                     <property name="snap_to_ticks">True</property>
                                     <property name="numeric">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label20">
+                        <child type="label">
+                          <object class="GtkLabel" id="label20">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Size</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Size</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkFrame" id="frame6">
+                      <object class="GtkFrame" id="frame6">
                         <property name="visible">True</property>
                         <property name="label_xalign">0</property>
-                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <property name="shadow_type">none</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment6">
+                          <object class="GtkAlignment" id="alignment6">
                             <property name="visible">True</property>
                             <property name="border_width">6</property>
                             <property name="bottom_padding">6</property>
                             <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkImage" id="mouse-theme-preview">
+                              <object class="GtkImage" id="mouse-theme-preview">
                                 <property name="visible">True</property>
                                 <property name="stock">gtk-missing-image</property>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                        <child>
-                          <widget class="GtkLabel" id="label22">
+                        <child type="label">
+                          <object class="GtkLabel" id="label22">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Preview</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
+                            <property name="label" translatable="yes">Preview</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">2</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label3">
+            <child type="tab">
+              <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">_Theme</property>
                 <property name="use_underline">True</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">2</property>
                 <property name="tab_fill">False</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">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="button1">
+              <object class="GtkButton" id="button1">
+                <property name="label">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-close</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-              </widget>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="0">button1</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="stock">gtk-revert-to-saved</property>
+  </object>
+</interface>

Modified: xfce4-settings/trunk/xfce4-settings-editor/Makefile.am
===================================================================
--- xfce4-settings/trunk/xfce4-settings-editor/Makefile.am	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-editor/Makefile.am	2009-07-13 16:58:39 UTC (rev 30306)
@@ -19,11 +19,10 @@
 xfce4_settings_editor_CFLAGS = \
 	$(GTK_CFLAGS) \
 	$(LIBXFCE4UTIL_CFLAGS) \
-	$(LIBXFCEGUI4_CFLAGS) \
-	$(DBUS_GLIB_CFLAGS) \
-	$(GLADE_CFLAGS) \
+	$(LIBXFCE4UI_CFLAGS) \
 	$(XFCONF_CFLAGS) \
-	$(EXO_CFLAGS)
+	$(EXO_CFLAGS) \
+	$(PLATFORM_CFLAGS)
 
 xfce4_settings_editor_LDFLAGS = \
 	-no-undefined \
@@ -32,9 +31,7 @@
 xfce4_settings_editor_LDADD = \
 	$(GTK_LIBS) \
 	$(LIBXFCE4UTIL_LIBS) \
-	$(LIBXFCEGUI4_LIBS) \
-	$(DBUS_GLIB_LIBS) \
-	$(GLADE_LIBS) \
+	$(LIBXFCE4UI_LIBS) \
 	$(XFCONF_LIBS) \
 	$(EXO_LIBS)
 

Modified: xfce4-settings/trunk/xfce4-settings-editor/main.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-editor/main.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-editor/main.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -28,11 +28,10 @@
 #endif
 
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 
 #include <xfconf/xfconf.h>
 #include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
 
 #include "main_window.h"
 
@@ -50,7 +49,6 @@
 {
     GtkDialog      *dialog;
     GError         *error = NULL;
-    gint            result = 0;
 
     /* setup translation domain */
     xfce_textdomain (GETTEXT_PACKAGE, LOCALEDIR, "UTF-8");
@@ -80,7 +78,7 @@
     if (G_UNLIKELY (opt_version))
     {
         g_print ("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string ());
-        g_print ("%s\n", "Copyright (c) 2004-2008");
+        g_print ("%s\n", "Copyright (c) 2004-2009");
         g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved."));
         g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT);
         g_print ("\n");
@@ -100,11 +98,10 @@
 
     dialog = xfce4_settings_editor_main_window_new();
 
-    while ((result != GTK_RESPONSE_CLOSE) && (result != GTK_RESPONSE_DELETE_EVENT) && (result != GTK_RESPONSE_NONE))
-    {
-        result = gtk_dialog_run (dialog);
-    }
+    gtk_dialog_run (dialog);
 
+    gtk_widget_destroy (GTK_WIDGET (dialog));
+
     /* shutdown xfconf */
     xfconf_shutdown ();
 

Modified: xfce4-settings/trunk/xfce4-settings-editor/main_window.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-editor/main_window.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-editor/main_window.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -28,15 +28,15 @@
 #endif
 
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 
 #include <xfconf/xfconf.h>
 #include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
 
 #include "xfce4-settings-editor_glade.h"
+#include "main_window.h"
 
-static GladeXML *gxml_main_window = NULL;
+static GtkBuilder *builder = NULL;
 static XfconfChannel *current_channel = NULL;
 static gchar *current_property = NULL;
 
@@ -71,48 +71,43 @@
 static void
 cb_property_revert_button_clicked (GtkButton *button, gpointer user_data);
 
-/* 
- * Xfce 4.6 depends on glib 2.12, 
- * Glib 2.14 comes with g_hash_table_get_keys(), 
- * until then... use the following function with
- * g_hash_table_foreach()
- */
-#if !GLIB_CHECK_VERSION (2,14,0)
-static void
-xfce4_settings_get_list_keys_foreach (gpointer key,
-                                    gpointer value,
-                                    gpointer user_data)
-{
-    GList **keys = user_data;
-    *keys = g_list_prepend (*keys, key);
-}
-#endif
 
+
 GtkDialog *
-xfce4_settings_editor_main_window_new()
+xfce4_settings_editor_main_window_new(void)
 {
-    GtkWidget *dialog;
-    GtkWidget *channel_treeview;
-    GtkWidget *property_treeview;
+    GObject *dialog;
+    GObject *channel_treeview;
+    GObject *property_treeview;
     GtkListStore *channel_list_store;
     GtkTreeStore *property_tree_store;
     GtkCellRenderer *renderer;
     GtkTreeSelection *selection;
-    GtkWidget *property_edit_button, *property_new_button, *property_revert_button;
+    GObject *property_edit_button, *property_new_button, *property_revert_button;
 
-    if (!gxml_main_window)
+    if (!builder)
     {
-        gxml_main_window = glade_xml_new_from_buffer (xfce4_settings_editor_glade, xfce4_settings_editor_glade_length, NULL, NULL);
-    }
+        /* hook to make sure the libxfce4ui library is linked */
+        if (xfce_titled_dialog_get_type () == 0)
+            return NULL;
 
-    dialog = glade_xml_get_widget (gxml_main_window, "main_dialog");
-    channel_treeview = glade_xml_get_widget (gxml_main_window, "channel_treeview");
-    property_treeview = glade_xml_get_widget (gxml_main_window, "property_treeview");
+        builder = gtk_builder_new ();
+        gtk_builder_add_from_string (builder, xfce4_settings_editor_glade, xfce4_settings_editor_glade_length, NULL);
 
-    property_edit_button = glade_xml_get_widget (gxml_main_window, "property_edit_button");
-    property_new_button = glade_xml_get_widget (gxml_main_window, "property_new_button");
-    property_revert_button = glade_xml_get_widget (gxml_main_window, "property_revert_button");
+        dialog = gtk_builder_get_object (builder, "main_dialog");
+        g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, builder);
+    }
+    else
+    {
+        dialog = gtk_builder_get_object (builder, "main_dialog");
+    }
+    channel_treeview = gtk_builder_get_object (builder, "channel_treeview");
+    property_treeview = gtk_builder_get_object (builder, "property_treeview");
 
+    property_edit_button = gtk_builder_get_object (builder, "property_edit_button");
+    property_new_button = gtk_builder_get_object (builder, "property_new_button");
+    property_revert_button = gtk_builder_get_object (builder, "property_revert_button");
+
     /*
      * Channel List
      */
@@ -126,7 +121,7 @@
     renderer = gtk_cell_renderer_text_new();
     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (channel_treeview), 1, _("Channel"), renderer, "text", 1, NULL);
 
-    /* 
+    /*
      * property list
      */
     property_tree_store = gtk_tree_store_new (4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING);
@@ -219,26 +214,24 @@
     GValue child_type = {0,};
     GValue child_locked = {0,};
 
+    GHashTable *hash_table;
+    gchar **components;
+
     g_value_init (&child_name, G_TYPE_STRING);
     g_value_init (&child_locked, G_TYPE_BOOLEAN);
     g_value_init (&child_type, G_TYPE_STRING);
     g_value_init (&child_value, G_TYPE_STRING);
 
-    GHashTable *hash_table = xfconf_channel_get_properties (channel, NULL);
+    hash_table = xfconf_channel_get_properties (channel, NULL);
 
     if (hash_table != NULL)
     {
-        keys = NULL;
-#if !GLIB_CHECK_VERSION (2,14,0)
-        g_hash_table_foreach (hash_table, xfce4_settings_get_list_keys_foreach, &keys);
-#else
         keys = g_hash_table_get_keys (hash_table);
-#endif    
         for(_keys = keys; _keys != NULL; _keys = g_list_next (_keys))
         {
             key = _keys->data;
             value = g_hash_table_lookup (hash_table, key);
-            gchar **components = g_strsplit (key, "/", 0);
+            components = g_strsplit (key, "/", 0);
 
             /* components[0] will be empty because properties start with '/'*/
             for (i = 1; components[i]; ++i)
@@ -418,7 +411,7 @@
     GtkTreeModel *model;
     GtkTreeIter iter;
     XfconfChannel *channel;
-    GtkWidget *property_treeview;
+    GObject *property_treeview;
     GtkTreeModel *tree_store = NULL;
     GValue value = {0, };
 
@@ -431,7 +424,7 @@
     if (! gtk_tree_selection_get_selected (selection, &model, &iter))
         return;
 
-    property_treeview = glade_xml_get_widget (gxml_main_window, "property_treeview");
+    property_treeview = gtk_builder_get_object (builder, "property_treeview");
     tree_store = gtk_tree_view_get_model (GTK_TREE_VIEW (property_treeview));
 
     gtk_tree_model_get_value (model, &iter, 1, &value);
@@ -481,7 +474,7 @@
         if (prop_name)
             g_free (prop_name);
         prop_name = temp;
-        
+
         iter = p_iter;
     }
 
@@ -500,91 +493,87 @@
     GValue value = {0, };
     gchar *prop_name = NULL;
 
-    GtkWidget *property_treeview = glade_xml_get_widget (gxml_main_window, "property_treeview");
+    GObject *property_treeview = gtk_builder_get_object (builder, "property_treeview");
     GtkTreeModel *tree_store = gtk_tree_view_get_model (GTK_TREE_VIEW (property_treeview));
-    GtkWidget *dialog = glade_xml_get_widget (gxml_main_window, "edit_settings_dialog");
-    GtkWidget *prop_name_entry = glade_xml_get_widget (gxml_main_window, "property_name_entry");
-    GtkWidget *prop_type_combo = glade_xml_get_widget (gxml_main_window, "property_type_combo");
+    GObject *dialog = gtk_builder_get_object (builder, "edit_settings_dialog");
+    GObject *prop_name_entry = gtk_builder_get_object (builder, "property_name_entry");
+    GObject *prop_type_combo = gtk_builder_get_object (builder, "property_type_combo");
 
-    GtkWidget *prop_value_text_entry = glade_xml_get_widget (gxml_main_window, "property_value_text_entry");
-    GtkWidget *prop_value_spin_button = glade_xml_get_widget (gxml_main_window, "property_value_spin_button");
-    GtkWidget *prop_value_sw = glade_xml_get_widget (gxml_main_window, "property_value_sw");
-    GtkWidget *prop_value_checkbox = glade_xml_get_widget (gxml_main_window, "property_value_checkbutton");
+    GObject *prop_value_text_entry = gtk_builder_get_object (builder, "property_value_text_entry");
+    GObject *prop_value_spin_button = gtk_builder_get_object (builder, "property_value_spin_button");
+    GObject *prop_value_sw = gtk_builder_get_object (builder, "property_value_sw");
+    GObject *prop_value_checkbox = gtk_builder_get_object (builder, "property_value_checkbutton");
 
-    GtkSizeGroup *sg = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-    gtk_size_group_add_widget (sg, glade_xml_get_widget (gxml_main_window, "label_name"));
-    gtk_size_group_add_widget (sg, glade_xml_get_widget (gxml_main_window, "label_type"));
-
     /* Set the correct properties in the ui */
     gtk_entry_set_text (GTK_ENTRY(prop_name_entry), current_property);
     if (xfconf_channel_get_property (current_channel, current_property, &value))
     {
-        switch (G_VALUE_TYPE(&value))      
+        switch (G_VALUE_TYPE(&value))
         {
             case G_TYPE_STRING:
                 gtk_combo_box_set_active (GTK_COMBO_BOX (prop_type_combo), PROP_TYPE_STRING);
-                gtk_widget_hide (prop_value_spin_button);
-                gtk_widget_show (prop_value_text_entry);
-                gtk_widget_hide (prop_value_sw);
-                gtk_widget_hide (prop_value_checkbox);
+                gtk_widget_hide (GTK_WIDGET (prop_value_spin_button));
+                gtk_widget_show (GTK_WIDGET (prop_value_text_entry));
+                gtk_widget_hide (GTK_WIDGET (prop_value_sw));
+                gtk_widget_hide (GTK_WIDGET (prop_value_checkbox));
                 gtk_entry_set_text (GTK_ENTRY (prop_value_text_entry), g_value_get_string (&value));
                 break;
             case G_TYPE_INT:
                 gtk_combo_box_set_active (GTK_COMBO_BOX (prop_type_combo), PROP_TYPE_INT);
-                gtk_widget_show (prop_value_spin_button);
-                gtk_widget_hide (prop_value_text_entry);
-                gtk_widget_hide (prop_value_sw);
-                gtk_widget_hide (prop_value_checkbox);
+                gtk_widget_show (GTK_WIDGET (prop_value_spin_button));
+                gtk_widget_hide (GTK_WIDGET (prop_value_text_entry));
+                gtk_widget_hide (GTK_WIDGET (prop_value_sw));
+                gtk_widget_hide (GTK_WIDGET (prop_value_checkbox));
                 gtk_spin_button_set_value (GTK_SPIN_BUTTON (prop_value_spin_button), g_value_get_int (&value));
                 gtk_spin_button_set_range (GTK_SPIN_BUTTON (prop_value_spin_button), G_MININT, G_MAXINT);
                 gtk_spin_button_set_digits (GTK_SPIN_BUTTON (prop_value_spin_button), 0);
                 break;
             case G_TYPE_UINT:
                 gtk_combo_box_set_active (GTK_COMBO_BOX (prop_type_combo), PROP_TYPE_UINT);
-                gtk_widget_show (prop_value_spin_button);
-                gtk_widget_hide (prop_value_text_entry);
-                gtk_widget_hide (prop_value_sw);
-                gtk_widget_hide (prop_value_checkbox);
+                gtk_widget_show (GTK_WIDGET (prop_value_spin_button));
+                gtk_widget_hide (GTK_WIDGET (prop_value_text_entry));
+                gtk_widget_hide (GTK_WIDGET (prop_value_sw));
+                gtk_widget_hide (GTK_WIDGET (prop_value_checkbox));
                 gtk_spin_button_set_value (GTK_SPIN_BUTTON (prop_value_spin_button), g_value_get_uint (&value));
                 gtk_spin_button_set_range (GTK_SPIN_BUTTON (prop_value_spin_button), 0, G_MAXINT);
                 gtk_spin_button_set_digits (GTK_SPIN_BUTTON (prop_value_spin_button), 0);
                 break;
             case G_TYPE_INT64:
                 gtk_combo_box_set_active (GTK_COMBO_BOX (prop_type_combo), PROP_TYPE_INT64);
-                gtk_widget_show (prop_value_spin_button);
-                gtk_widget_hide (prop_value_text_entry);
-                gtk_widget_hide (prop_value_sw);
-                gtk_widget_hide (prop_value_checkbox);
+                gtk_widget_show (GTK_WIDGET (prop_value_spin_button));
+                gtk_widget_hide (GTK_WIDGET (prop_value_text_entry));
+                gtk_widget_hide (GTK_WIDGET (prop_value_sw));
+                gtk_widget_hide (GTK_WIDGET (prop_value_checkbox));
                 gtk_spin_button_set_value (GTK_SPIN_BUTTON (prop_value_spin_button), g_value_get_int64 (&value));
                 gtk_spin_button_set_range (GTK_SPIN_BUTTON (prop_value_spin_button), G_MININT64, G_MAXINT64);
                 gtk_spin_button_set_digits (GTK_SPIN_BUTTON (prop_value_spin_button), 0);
                 break;
             case G_TYPE_UINT64:
                 gtk_combo_box_set_active (GTK_COMBO_BOX (prop_type_combo), PROP_TYPE_UINT64);
-                gtk_widget_show (prop_value_spin_button);
-                gtk_widget_hide (prop_value_text_entry);
-                gtk_widget_hide (prop_value_sw);
-                gtk_widget_hide (prop_value_checkbox);
+                gtk_widget_show (GTK_WIDGET (prop_value_spin_button));
+                gtk_widget_hide (GTK_WIDGET (prop_value_text_entry));
+                gtk_widget_hide (GTK_WIDGET (prop_value_sw));
+                gtk_widget_hide (GTK_WIDGET (prop_value_checkbox));
                 gtk_spin_button_set_value (GTK_SPIN_BUTTON (prop_value_spin_button), g_value_get_uint64 (&value));
                 gtk_spin_button_set_range (GTK_SPIN_BUTTON (prop_value_spin_button), 0, G_MAXUINT64);
                 gtk_spin_button_set_digits (GTK_SPIN_BUTTON (prop_value_spin_button), 0);
                 break;
             case G_TYPE_DOUBLE:
                 gtk_combo_box_set_active (GTK_COMBO_BOX (prop_type_combo), PROP_TYPE_DOUBLE);
-                gtk_widget_show (prop_value_spin_button);
-                gtk_widget_hide (prop_value_text_entry);
-                gtk_widget_hide (prop_value_sw);
-                gtk_widget_hide (prop_value_checkbox);
+                gtk_widget_show (GTK_WIDGET (prop_value_spin_button));
+                gtk_widget_hide (GTK_WIDGET (prop_value_text_entry));
+                gtk_widget_hide (GTK_WIDGET (prop_value_sw));
+                gtk_widget_hide (GTK_WIDGET (prop_value_checkbox));
                 gtk_spin_button_set_value (GTK_SPIN_BUTTON (prop_value_spin_button), g_value_get_double (&value));
                 gtk_spin_button_set_range (GTK_SPIN_BUTTON (prop_value_spin_button), G_MINDOUBLE, G_MAXDOUBLE);
                 gtk_spin_button_set_digits (GTK_SPIN_BUTTON (prop_value_spin_button), 2);
                 break;
             case G_TYPE_BOOLEAN:
                 gtk_combo_box_set_active (GTK_COMBO_BOX (prop_type_combo), PROP_TYPE_BOOLEAN);
-                gtk_widget_hide (prop_value_spin_button);
-                gtk_widget_hide (prop_value_text_entry);
-                gtk_widget_hide (prop_value_sw);
-                gtk_widget_show (prop_value_checkbox);
+                gtk_widget_hide (GTK_WIDGET (prop_value_spin_button));
+                gtk_widget_hide (GTK_WIDGET (prop_value_text_entry));
+                gtk_widget_hide (GTK_WIDGET (prop_value_sw));
+                gtk_widget_show (GTK_WIDGET (prop_value_checkbox));
                 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prop_value_checkbox), g_value_get_boolean (&value));
                 break;
             default:
@@ -596,45 +585,45 @@
     {
         gtk_combo_box_set_active (GTK_COMBO_BOX (prop_type_combo), PROP_TYPE_EMPTY);
     }
-    
+
     if (gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_APPLY)
     {
-        gtk_widget_hide (dialog);
+        gtk_widget_hide (GTK_WIDGET (dialog));
         switch (gtk_combo_box_get_active (GTK_COMBO_BOX (prop_type_combo)))
         {
             case PROP_TYPE_EMPTY:
                 break;
             case PROP_TYPE_STRING:
-                g_value_set_string (&value, gtk_entry_get_text (GTK_ENTRY (prop_value_text_entry))); 
+                g_value_set_string (&value, gtk_entry_get_text (GTK_ENTRY (prop_value_text_entry)));
                 break;
             case PROP_TYPE_INT:
-                g_value_set_int (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button))); 
+                g_value_set_int (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button)));
                 break;
             case PROP_TYPE_UINT:
-                g_value_set_uint (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button))); 
+                g_value_set_uint (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button)));
                 break;
             case PROP_TYPE_INT64:
-                g_value_set_int64 (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button))); 
+                g_value_set_int64 (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button)));
                 break;
             case PROP_TYPE_UINT64:
-                g_value_set_uint64 (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button))); 
+                g_value_set_uint64 (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button)));
                 break;
             case PROP_TYPE_DOUBLE:
-                g_value_set_double (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button))); 
+                g_value_set_double (&value, gtk_spin_button_get_value (GTK_SPIN_BUTTON (prop_value_spin_button)));
                 break;
             case PROP_TYPE_BOOLEAN:
-                g_value_set_boolean (&value, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (prop_value_checkbox))); 
+                g_value_set_boolean (&value, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (prop_value_checkbox)));
                 break;
             case PROP_TYPE_ARRAY:
                 break;
-        }   
+        }
         xfconf_channel_set_property (current_channel, current_property, &value);
         gtk_tree_store_clear (GTK_TREE_STORE(tree_store));
         load_properties (current_channel, GTK_TREE_STORE (tree_store), GTK_TREE_VIEW (property_treeview));
     }
     else
     {
-        gtk_widget_hide (dialog);
+        gtk_widget_hide (GTK_WIDGET (dialog));
     }
 
     if (prop_name)
@@ -650,13 +639,13 @@
 cb_property_revert_button_clicked (GtkButton *button, gpointer user_data)
 {
     GtkWidget *dialog;
-    GtkWidget *property_treeview;
+    GObject *property_treeview;
     GtkTreeModel *tree_store = NULL;
 
     if (xfconf_channel_is_property_locked (current_channel, current_property))
     {
         dialog = gtk_message_dialog_new_with_markup (
-                                     GTK_WINDOW (glade_xml_get_widget (gxml_main_window, "main_window")),
+                                     GTK_WINDOW (gtk_builder_get_object (builder, "main_window")),
                                      0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
                                      _("Property \"<b>%s</b>\" cannot be reset because it is locked"),
                                      current_property);
@@ -666,13 +655,13 @@
     else
     {
         dialog = gtk_message_dialog_new_with_markup (
-                                     GTK_WINDOW (glade_xml_get_widget (gxml_main_window, "main_window")),
+                                     GTK_WINDOW (gtk_builder_get_object (builder, "main_window")),
                                      0, GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO,
                                      _("Are you sure you want to reset property \"<b>%s</b>\"?"),
                                      current_property);
         if (gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_YES)
         {
-            property_treeview = glade_xml_get_widget (gxml_main_window, "property_treeview");
+            property_treeview = gtk_builder_get_object (builder, "property_treeview");
             tree_store = gtk_tree_view_get_model (GTK_TREE_VIEW (property_treeview));
             gtk_widget_hide (dialog);
             xfconf_channel_reset_property (current_channel, current_property, FALSE);

Modified: xfce4-settings/trunk/xfce4-settings-editor/main_window.h
===================================================================
--- xfce4-settings/trunk/xfce4-settings-editor/main_window.h	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-editor/main_window.h	2009-07-13 16:58:39 UTC (rev 30306)
@@ -18,4 +18,4 @@
 
 
 GtkDialog *
-xfce4_settings_editor_main_window_new();
+xfce4_settings_editor_main_window_new(void);

Modified: xfce4-settings/trunk/xfce4-settings-editor/xfce4-settings-editor.glade
===================================================================
--- xfce4-settings/trunk/xfce4-settings-editor/xfce4-settings-editor.glade	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-editor/xfce4-settings-editor.glade	2009-07-13 16:58:39 UTC (rev 30306)
@@ -1,23 +1,60 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Fri Jan  2 15:43:10 2009 -->
-<glade-interface>
-  <requires lib="xfce4"/>
-  <widget class="XfceTitledDialog" id="edit_settings_dialog">
+<?xml version="1.0"?>
+<interface>
+  <!-- interface-requires gtk+ 2.12 -->
+  <!-- interface-requires libxfce4ui 4.5 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkListStore" id="model1">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Empty</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">String</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Int</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Unsigned Int</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Int64</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Unsigned Int64</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Double</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Boolean</col>
+      </row>
+    </data>
+  </object>
+  <object class="XfceTitledDialog" id="edit_settings_dialog">
     <property name="title" translatable="yes">Edit Property</property>
-    <property name="allow_grow">False</property>
     <property name="resizable">False</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="icon_name">preferences-system</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="transient_for">main_dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkVBox" id="dialog-vbox2">
         <property name="visible">True</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child>
-          <widget class="GtkTable" id="table1">
+          <object class="GtkTable" id="table1">
             <property name="visible">True</property>
             <property name="border_width">6</property>
             <property name="n_rows">3</property>
@@ -25,55 +62,60 @@
             <property name="column_spacing">12</property>
             <property name="row_spacing">6</property>
             <child>
-              <widget class="GtkVBox" id="vbox4">
+              <object class="GtkVBox" id="vbox4">
                 <property name="visible">True</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkScrolledWindow" id="property_value_sw">
+                  <object class="GtkScrolledWindow" id="property_value_sw">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <property name="hscrollbar_policy">automatic</property>
+                    <property name="vscrollbar_policy">automatic</property>
+                    <property name="shadow_type">in</property>
                     <child>
-                      <widget class="GtkTreeView" id="property_value_treeview">
+                      <object class="GtkTreeView" id="property_value_treeview">
                         <property name="can_focus">True</property>
-                      </widget>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
                 <child>
-                  <widget class="GtkEntry" id="property_value_text_entry">
+                  <object class="GtkEntry" id="property_value_text_entry">
                     <property name="can_focus">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkSpinButton" id="property_value_spin_button">
+                  <object class="GtkSpinButton" id="property_value_spin_button">
                     <property name="can_focus">True</property>
-                    <property name="adjustment">0 0 100 1 10 0</property>
-                  </widget>
+                    <property name="adjustment">adjustment1</property>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkCheckButton" id="property_value_checkbutton">
+                  <object class="GtkCheckButton" id="property_value_checkbutton">
+                    <property name="label" translatable="yes">Enabled</property>
                     <property name="can_focus">True</property>
-                    <property name="label" translatable="yes">Enabled</property>
-                    <property name="response_id">0</property>
+                    <property name="receives_default">False</property>
                     <property name="draw_indicator">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
                     <property name="position">3</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="left_attach">1</property>
                 <property name="right_attach">2</property>
@@ -82,11 +124,11 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="label_type">
+              <object class="GtkLabel" id="label_type">
                 <property name="visible">True</property>
                 <property name="xalign">0</property>
                 <property name="label" translatable="yes">Type:</property>
-              </widget>
+              </object>
               <packing>
                 <property name="top_attach">1</property>
                 <property name="bottom_attach">2</property>
@@ -94,21 +136,22 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="label_name">
+              <object class="GtkLabel" id="label_name">
                 <property name="visible">True</property>
                 <property name="xalign">0</property>
                 <property name="label" translatable="yes">Name:</property>
-              </widget>
+              </object>
               <packing>
                 <property name="x_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="label9">
+              <object class="GtkLabel" id="label9">
                 <property name="visible">True</property>
                 <property name="xalign">0</property>
+                <property name="yalign">0</property>
                 <property name="label" translatable="yes">Value:</property>
-              </widget>
+              </object>
               <packing>
                 <property name="top_attach">2</property>
                 <property name="bottom_attach">3</property>
@@ -117,29 +160,28 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkEntry" id="property_name_entry">
+              <object class="GtkEntry" id="property_name_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="editable">False</property>
-              </widget>
+              </object>
               <packing>
                 <property name="left_attach">1</property>
                 <property name="right_attach">2</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkComboBox" id="property_type_combo">
+              <object class="GtkComboBox" id="property_type_combo">
                 <property name="visible">True</property>
                 <property name="sensitive">False</property>
-                <property name="items">Empty
-String
-Int
-Unsigned Int
-Int64
-Unsigned Int64
-Double
-Boolean</property>
-              </widget>
+                <property name="model">model1</property>
+                <child>
+                  <object class="GtkCellRendererText" id="renderer1"/>
+                  <attributes>
+                    <attribute name="text">0</attribute>
+                  </attributes>
+                </child>
+              </object>
               <packing>
                 <property name="left_attach">1</property>
                 <property name="right_attach">2</property>
@@ -148,7 +190,7 @@
                 <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
@@ -156,199 +198,215 @@
           </packing>
         </child>
         <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area2">
+          <object class="GtkHButtonBox" id="dialog-action_area2">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="button3">
+              <object class="GtkButton" id="button3">
+                <property name="label">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-cancel</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-7</property>
-              </widget>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="button2">
+              <object class="GtkButton" id="button2">
+                <property name="label">gtk-save</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-save</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-10</property>
-              </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="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-  <widget class="XfceTitledDialog" id="main_dialog">
+    <action-widgets>
+      <action-widget response="0">button3</action-widget>
+      <action-widget response="0">button2</action-widget>
+    </action-widgets>
+  </object>
+  <object class="XfceTitledDialog" id="main_dialog">
     <property name="width_request">600</property>
     <property name="height_request">380</property>
     <property name="title" translatable="yes">Settings Editor</property>
     <property name="icon_name">preferences-system</property>
+    <property name="type_hint">normal</property>
+    <property name="has_separator">False</property>
     <property name="subtitle" translatable="yes">Customize settings stored by Xfconf</property>
-    <property name="has_separator">False</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox4">
+      <object class="GtkVBox" id="dialog-vbox4">
+        <property name="orientation">vertical</property>
         <child>
-          <widget class="GtkNotebook" id="notebook2">
+          <object class="GtkNotebook" id="notebook2">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="border_width">6</property>
             <property name="show_tabs">False</property>
             <property name="show_border">False</property>
             <child>
-              <widget class="GtkHPaned" id="hpaned2">
+              <object class="GtkHPaned" id="hpaned2">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="position">200</property>
                 <property name="position_set">True</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox2">
+                  <object class="GtkScrolledWindow" id="scrolledwindow3">
                     <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="hscrollbar_policy">automatic</property>
+                    <property name="vscrollbar_policy">automatic</property>
+                    <property name="shadow_type">in</property>
                     <child>
-                      <widget class="GtkScrolledWindow" id="scrolledwindow3">
+                      <object class="GtkTreeView" id="channel_treeview">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="shadow_type">GTK_SHADOW_IN</property>
-                        <child>
-                          <widget class="GtkTreeView" id="channel_treeview">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="tooltip" translatable="yes">Select a channel and property</property>
-                            <property name="rules_hint">True</property>
-                          </widget>
-                        </child>
-                      </widget>
+                        <property name="rules_hint">True</property>
+                      </object>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="resize">False</property>
-                    <property name="shrink">False</property>
+                    <property name="shrink">True</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox1">
+                  <object class="GtkVBox" id="vbox1">
                     <property name="visible">True</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <widget class="GtkToolbar" id="toolbar1">
+                      <object class="GtkToolbar" id="toolbar1">
                         <property name="visible">True</property>
                         <child>
-                          <widget class="GtkToolButton" id="property_new_button">
+                          <object class="GtkToolButton" id="property_new_button">
                             <property name="visible">True</property>
                             <property name="sensitive">False</property>
-                            <property name="tooltip" translatable="yes">New property</property>
+                            <property name="tooltip_text" translatable="yes">New property</property>
                             <property name="stock_id">gtk-new</property>
-                          </widget>
+                          </object>
                           <packing>
+                            <property name="expand">False</property>
                             <property name="homogeneous">True</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkToolButton" id="property_edit_button">
+                          <object class="GtkToolButton" id="property_edit_button">
                             <property name="visible">True</property>
-                            <property name="tooltip" translatable="yes">Edit property</property>
+                            <property name="tooltip_text" translatable="yes">Edit property</property>
                             <property name="stock_id">gtk-edit</property>
-                          </widget>
+                          </object>
                           <packing>
+                            <property name="expand">False</property>
                             <property name="homogeneous">True</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkToolButton" id="property_revert_button">
+                          <object class="GtkToolButton" id="property_revert_button">
                             <property name="visible">True</property>
-                            <property name="tooltip" translatable="yes">Reset/remove property</property>
+                            <property name="tooltip_text" translatable="yes">Reset/remove property</property>
                             <property name="stock_id">gtk-revert-to-saved</property>
-                          </widget>
+                          </object>
                           <packing>
+                            <property name="expand">False</property>
                             <property name="homogeneous">True</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkScrolledWindow" id="scrolledwindow1">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <property name="hscrollbar_policy">automatic</property>
+                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="shadow_type">in</property>
                         <child>
-                          <widget class="GtkTreeView" id="property_treeview">
+                          <object class="GtkTreeView" id="property_treeview">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="resize">True</property>
                     <property name="shrink">False</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">200</property>
                 <property name="tab_expand">True</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label4">
+            <child type="tab">
+              <object class="GtkLabel" id="label4">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">Xfconf channels</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="position">2</property>
           </packing>
         </child>
         <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area4">
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+          <object class="GtkHButtonBox" id="dialog-action_area4">
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="button1">
+              <object class="GtkButton" id="button1">
+                <property name="label">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-close</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-7</property>
-              </widget>
+              </object>
               <packing>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="pack_type">end</property>
+                <property name="position">0</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="0">button1</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Modified: xfce4-settings/trunk/xfce4-settings-helper/Makefile.am
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/Makefile.am	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/Makefile.am	2009-07-13 16:58:39 UTC (rev 30306)
@@ -38,8 +38,9 @@
 	$(DBUS_GLIB_CFLAGS) \
 	$(XFCONF_CFLAGS) \
 	$(LIBXFCE4UTIL_CFLAGS) \
-	$(LIBXFCEGUI4_CFLAGS) \
+	$(LIBXFCE4UI_CFLAGS) \
 	$(LIBXFCE4KBD_PRIVATE_CFLAGS) \
+	$(LIBXFCE4SMCLIENT_PRIVATE_CFLAGS) \
 	$(LIBXKLAVIER_CFLAGS) \
 	$(XI_CFLAGS) \
 	$(LIBX11_CFLAGS) \
@@ -58,8 +59,9 @@
 	$(DBUS_GLIB_LIBS) \
 	$(XFCONF_LIBS) \
 	$(LIBXFCE4UTIL_LIBS) \
-	$(LIBXFCEGUI4_LIBS) \
+	$(LIBXFCE4UI_LIBS) \
 	$(LIBXFCE4KBD_PRIVATE_LIBS) \
+	$(LIBXFCE4SMCLIENT_PRIVATE_LIBS) \
 	$(LIBXKLAVIER_LIBS) \
 	$(XI_LIBS) \
 	$(LIBX11_LIBS) \

Modified: xfce4-settings/trunk/xfce4-settings-helper/accessibility.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/accessibility.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/accessibility.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -54,8 +54,6 @@
 
 
 
-static void            xfce_accessibility_helper_class_init                     (XfceAccessibilityHelperClass *klass);
-static void            xfce_accessibility_helper_init                           (XfceAccessibilityHelper      *helper);
 static void            xfce_accessibility_helper_finalize                       (GObject                      *object);
 static void            xfce_accessibility_helper_set_xkb                        (XfceAccessibilityHelper      *helper,
                                                                                  gulong                        mask);

Modified: xfce4-settings/trunk/xfce4-settings-helper/displays.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/displays.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/displays.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -43,8 +43,6 @@
 
 #undef HAS_RANDR_ONE_POINT_TWO
 
-static void            xfce_displays_helper_class_init                     (XfceDisplaysHelperClass *klass);
-static void            xfce_displays_helper_init                           (XfceDisplaysHelper      *helper);
 static void            xfce_displays_helper_finalize                       (GObject                 *object);
 static void            xfce_displays_helper_channel_property_changed       (XfconfChannel           *channel,
                                                                             const gchar             *property_name,

Modified: xfce4-settings/trunk/xfce4-settings-helper/keyboard-layout.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/keyboard-layout.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/keyboard-layout.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -44,8 +44,6 @@
 
 #include "keyboard-layout.h"
 
-static void xfce_keyboard_layout_helper_class_init                (XfceKeyboardLayoutHelperClass *klass);
-static void xfce_keyboard_layout_helper_init                      (XfceKeyboardLayoutHelper      *helper);
 static void xfce_keyboard_layout_helper_finalize                  (GObject                       *object);
 static void xfce_keyboard_layout_helper_set_model                 (XfceKeyboardLayoutHelper      *helper);
 static void xfce_keyboard_layout_helper_set_layout                (XfceKeyboardLayoutHelper      *helper);

Modified: xfce4-settings/trunk/xfce4-settings-helper/keyboard-shortcuts.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/keyboard-shortcuts.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/keyboard-shortcuts.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -37,7 +37,8 @@
 
 #include <dbus/dbus-glib.h>
 
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
+#include <libxfce4util/libxfce4util.h>
 #include <xfconf/xfconf.h>
 #include <libxfce4kbd-private/xfce-shortcuts-provider.h>
 #include <libxfce4kbd-private/xfce-shortcuts-grabber.h>
@@ -54,8 +55,6 @@
 
 
 
-static void            xfce_keyboard_shortcuts_helper_class_init         (XfceKeyboardShortcutsHelperClass *klass);
-static void            xfce_keyboard_shortcuts_helper_init               (XfceKeyboardShortcutsHelper      *helper);
 static void            xfce_keyboard_shortcuts_helper_finalize           (GObject                          *object);
 static void            xfce_keyboard_shortcuts_helper_get_property       (GObject                          *object,
                                                                           guint                             prop_id,
@@ -96,47 +95,15 @@
 
 
 
-static GObjectClass *xfce_keyboard_shortcuts_helper_parent_class = NULL;
+G_DEFINE_TYPE (XfceKeyboardShortcutsHelper, xfce_keyboard_shortcuts_helper, G_TYPE_OBJECT)
 
 
 
-GType
-xfce_keyboard_shortcuts_helper_get_type (void)
-{
-  static GType type = G_TYPE_INVALID;
-
-  if (G_UNLIKELY (type == G_TYPE_INVALID))
-    {
-      static const GTypeInfo info =
-      {
-        sizeof (XfceKeyboardShortcutsHelperClass),
-        NULL,
-        NULL,
-        (GClassInitFunc) xfce_keyboard_shortcuts_helper_class_init,
-        NULL,
-        NULL,
-        sizeof (XfceKeyboardShortcutsHelper),
-        0,
-        (GInstanceInitFunc) xfce_keyboard_shortcuts_helper_init,
-        NULL,
-      };
-
-      type = g_type_register_static (G_TYPE_OBJECT, "XfceKeyboardShortcutsHelper", &info, 0);
-    }
-
-  return type;
-}
-
-
-
 static void
 xfce_keyboard_shortcuts_helper_class_init (XfceKeyboardShortcutsHelperClass *klass)
 {
   GObjectClass *gobject_class;
 
-  /* Determine the parent type class */
-  xfce_keyboard_shortcuts_helper_parent_class = g_type_class_peek_parent (klass);
-
   gobject_class = G_OBJECT_CLASS (klass);
   gobject_class->finalize = xfce_keyboard_shortcuts_helper_finalize;
   gobject_class->get_property = xfce_keyboard_shortcuts_helper_get_property;
@@ -276,10 +243,8 @@
                                                    XfceKeyboardShortcutsHelper *helper)
 {
   XfceShortcut *sc;
-  GdkDisplay   *display;
   GdkScreen    *screen;
   GError       *error = NULL;
-  gint          monitor;
 
   g_return_if_fail (XFCE_IS_KEYBOARD_SHORTCUTS_HELPER (helper));
   g_return_if_fail (XFCE_IS_SHORTCUTS_PROVIDER (helper->provider));
@@ -296,20 +261,15 @@
   if (G_UNLIKELY (sc == NULL))
     return;
 
-  display = gdk_display_get_default ();
-
   DBG ("command = %s", sc->command);
 
-  /* Determine active monitor */
-  screen = xfce_gdk_display_locate_monitor_with_pointer (display, &monitor);
+  /* Spawn command on active screen */
+  screen = xfce_gdk_screen_get_active (NULL);
+  if (!xfce_spawn_command_line_on_screen (screen, sc->command, FALSE, FALSE, &error))
+    {
+      g_error ("Failed to spawn command \"%s\": %s", sc->command, error->message);
+      g_error_free (error);
+    }
 
-  /* Spawn command */
-  if (!G_UNLIKELY (!xfce_gdk_spawn_command_line_on_screen (screen, sc->command, &error)))
-    if (G_LIKELY (error != NULL))
-      {
-        g_error ("%s", error->message);
-        g_error_free (error);
-      }
-
   xfce_shortcut_free (sc);
 }

Modified: xfce4-settings/trunk/xfce4-settings-helper/keyboards.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/keyboards.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/keyboards.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -44,8 +44,6 @@
 
 
 
-static void xfce_keyboards_helper_class_init                (XfceKeyboardsHelperClass *klass);
-static void xfce_keyboards_helper_init                      (XfceKeyboardsHelper      *helper);
 static void xfce_keyboards_helper_finalize                  (GObject                  *object);
 static void xfce_keyboards_helper_set_auto_repeat_mode      (XfceKeyboardsHelper      *helper);
 static void xfce_keyboards_helper_set_repeat_rate           (XfceKeyboardsHelper      *helper);

Modified: xfce4-settings/trunk/xfce4-settings-helper/main.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/main.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/main.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -47,7 +47,8 @@
 
 #include <xfconf/xfconf.h>
 #include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
+#include <libxfce4smclient-private/eggsmclient.h>
 
 #include "accessibility.h"
 #include "pointers.h"
@@ -67,16 +68,14 @@
                                                                gpointer user_data);
 
 
-static SessionClient *sm_client = NULL;
+static EggSMClient *sm_client = NULL;
 
 static gboolean opt_version = FALSE;
 static gboolean opt_debug = FALSE;
-static gchar   *opt_sm_client_id = NULL;
 static GOptionEntry option_entries[] =
 {
     { "version", 'V', 0, G_OPTION_ARG_NONE, &opt_version, N_("Version information"), NULL },
     { "debug", 'd', 0, G_OPTION_ARG_NONE, &opt_debug, N_("Start in debug mode (don't fork to the background)"), NULL },
-    { "sm-client-id", 0, 0, G_OPTION_ARG_STRING, &opt_sm_client_id, N_("Client id used when resuming session"), NULL },
     { NULL }
 };
 
@@ -91,13 +90,7 @@
 }
 
 
-static void
-sm_client_die (gpointer client_data)
-{
-    signal_handler (SIGTERM, client_data);
-}
 
-
 static gboolean
 xfce_settings_helper_set_autostart_enabled (gboolean enabled)
 {
@@ -131,44 +124,7 @@
 }
 
 
-/* returns TRUE if we got started by the SM and our client ID was
- * valid, FALSE otherwise */
-static gboolean
-xfce_settings_helper_connect_session (int argc,
-                                      char **argv,
-                                      const gchar *sm_client_id,
-                                      gboolean debug_mode)
-{
-    /* we can't be sure that the SM will save the session later, so we only
-     * disable the autostart item if we're launching because we got *resumed*
-     * from a previous session. */
 
-    sm_client = client_session_new (argc, argv, NULL,
-                                    debug_mode ? SESSION_RESTART_IF_RUNNING
-                                               : SESSION_RESTART_IMMEDIATELY,
-                                    40);
-    sm_client->die = sm_client_die;
-    if (sm_client_id)
-        client_session_set_client_id (sm_client, sm_client_id);
-    if (!session_init (sm_client))
-    {
-        g_warning ("Failed to connect to session manager");
-        client_session_free (sm_client);
-        sm_client = NULL;
-        return FALSE;
-    }
-
-    if (sm_client_id && !g_ascii_strcasecmp (sm_client_id, sm_client->given_client_id))
-    {
-        /* we passed a client id, and got the same one back, which means
-         * we were definitely restarted as a part of the session. */
-        return TRUE;
-    }
-
-    return FALSE;
-}
-
-
 #ifdef GDK_WINDOWING_X11
 static GdkFilterReturn
 xfce_settings_helper_selection_watcher (GdkXEvent *xevt,
@@ -180,9 +136,9 @@
 
     if (xe->type == SelectionClear && xe->xclient.window == xwin)
     {
-        if (sm_client)
-            client_session_set_restart_style (sm_client, SESSION_RESTART_IF_RUNNING);
-        signal_handler (SIGINT, NULL);
+        /*if (sm_client)
+            client_session_set_restart_style (sm_client, SESSION_RESTART_IF_RUNNING);*/
+        gtk_main_quit ();
     }
 
     return GDK_FILTER_CONTINUE;
@@ -253,49 +209,52 @@
 gint
 main (gint argc, gchar **argv)
 {
-    GError     *error = NULL;
-    gboolean    in_session;
-    GObject    *pointer_helper;
-    GObject    *keyboards_helper;
-    GObject    *accessibility_helper;
-    GObject    *shortcuts_helper;
-    GObject    *keyboard_layout_helper;
+    GError         *error = NULL;
+    GOptionContext *context;
+    gboolean        in_session;
+    GObject        *pointer_helper;
+    GObject        *keyboards_helper;
+    GObject        *accessibility_helper;
+    GObject        *shortcuts_helper;
+    GObject        *keyboard_layout_helper;
 #ifdef HAVE_XRANDR
-    GObject    *displays_helper;
+    GObject        *displays_helper;
 #endif
-    GObject    *workspaces_helper;
-    pid_t       pid;
-    guint       i;
-    const gint  signums[] = { SIGHUP, SIGINT, SIGQUIT, SIGTERM };
+    GObject        *workspaces_helper;
+    pid_t           pid;
+    guint           i;
+    const gint      signums[] = { SIGHUP, SIGINT, SIGQUIT, SIGTERM };
 
     /* setup translation domain */
     xfce_textdomain (GETTEXT_PACKAGE, LOCALEDIR, "UTF-8");
 
-    /* initialize the gthread system */
-    if (!g_thread_supported ())
-        g_thread_init (NULL);
+    /* create option context */
+    context = g_option_context_new (NULL);
+    g_option_context_add_main_entries (context, option_entries, GETTEXT_PACKAGE);
+    g_option_context_add_group (context, gtk_get_option_group (FALSE));
+    g_option_context_add_group (context, egg_sm_client_get_option_group ());
 
     /* initialize gtk */
-    if(!gtk_init_with_args (&argc, &argv, "", option_entries, GETTEXT_PACKAGE, &error))
+    gtk_init (&argc, &argv);
+
+    /* parse options */
+    if (!g_option_context_parse (context, &argc, &argv, &error))
     {
-        if (G_LIKELY (error))
-        {
-            /* print error */
-            g_print ("%s: %s.\n", G_LOG_DOMAIN, error->message);
-            g_print (_("Type '%s --help' for usage."), G_LOG_DOMAIN);
-            g_print ("\n");
+        /* print error */
+        g_print ("%s: %s.\n", G_LOG_DOMAIN, error->message);
+        g_print (_("Type '%s --help' for usage."), G_LOG_DOMAIN);
+        g_print ("\n");
 
-            /* cleanup */
-            g_error_free (error);
-        }
-        else
-        {
-            g_error ("Unable to open display.");
-        }
+        /* cleanup */
+        g_error_free (error);
+        g_option_context_free (context);
 
         return EXIT_FAILURE;
     }
 
+    /* cleanup */
+    g_option_context_free (context);
+
     /* check if we should print version information */
     if (G_UNLIKELY (opt_version))
     {
@@ -320,11 +279,14 @@
 
     /* connect to session always, even if we quit below.  this way the
      * session manager won't wait for us to time out. */
-    in_session = xfce_settings_helper_connect_session (argc, argv, opt_sm_client_id, opt_debug);
+    sm_client = egg_sm_client_get ();
+    g_signal_connect (G_OBJECT (sm_client), "quit", G_CALLBACK (gtk_main_quit), NULL);
+    in_session = egg_sm_client_is_resumed (sm_client);
 
     if (!xfce_settings_helper_acquire_selection (in_session))
     {
         g_printerr ("%s is already running\n", G_LOG_DOMAIN);
+        g_object_unref (G_OBJECT (sm_client));
         return EXIT_FAILURE;
     }
 
@@ -384,5 +346,8 @@
     /* shutdown xfconf */
     xfconf_shutdown ();
 
+    /* release sm client */
+    g_object_unref (G_OBJECT (sm_client));
+
     return EXIT_SUCCESS;
 }

Modified: xfce4-settings/trunk/xfce4-settings-helper/pointers.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/pointers.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/pointers.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -54,8 +54,6 @@
 
 
 
-static void             xfce_pointers_helper_class_init                     (XfcePointersHelperClass *klass);
-static void             xfce_pointers_helper_init                           (XfcePointersHelper      *helper);
 static void             xfce_pointers_helper_finalize                       (GObject                 *object);
 static void             xfce_pointers_helper_change_button_mapping_swap     (guchar                  *buttonmap,
                                                                              gshort                   num_buttons,

Modified: xfce4-settings/trunk/xfce4-settings-helper/workspaces.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/workspaces.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/workspaces.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -47,8 +47,6 @@
     GObjectClass parent;
 } XfceWorkspacesHelperClass;
 
-static void xfce_workspaces_helper_class_init(XfceWorkspacesHelperClass *klass);
-static void xfce_workspaces_helper_init(XfceWorkspacesHelper *helper);
 static void xfce_workspaces_helper_finalize(GObject *obj);
 
 static void xfce_workspaces_helper_set_names_prop(XfceWorkspacesHelper *helper,
@@ -108,7 +106,7 @@
         n_workspaces = wnck_screen_get_workspace_count(helper->screens[s]);
         if(G_UNLIKELY(!names))
             names = g_new0(gchar *, n_workspaces + 1);
-        else if(g_strv_length(names) < n_workspaces)
+        else if(g_strv_length(names) < (guint)n_workspaces)
             names = g_renew(gchar *, names, n_workspaces + 1);
 
         for(w = g_strv_length(names); w < n_workspaces; ++w) {
@@ -204,7 +202,7 @@
 {
     XfceWorkspacesHelper *helper = user_data;
     GPtrArray *names_arr;
-    gint s, i, n_workspaces;
+    guint s,i, n_workspaces;
     gchar **names;
     GdkDisplay *display;
     GdkScreen *screen;

Modified: xfce4-settings/trunk/xfce4-settings-helper/workspaces.h
===================================================================
--- xfce4-settings/trunk/xfce4-settings-helper/workspaces.h	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-helper/workspaces.h	2009-07-13 16:58:39 UTC (rev 30306)
@@ -28,7 +28,7 @@
 
 typedef struct _XfceWorkspacesHelper  XfceWorkspacesHelper;
 
-GType xfce_workspaces_helper_get_type() G_GNUC_CONST;
+GType xfce_workspaces_helper_get_type(void) G_GNUC_CONST;
 
 G_END_DECLS
 

Modified: xfce4-settings/trunk/xfce4-settings-manager/Makefile.am
===================================================================
--- xfce4-settings/trunk/xfce4-settings-manager/Makefile.am	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-manager/Makefile.am	2009-07-13 16:58:39 UTC (rev 30306)
@@ -21,9 +21,10 @@
 xfce4_settings_manager_CFLAGS = \
 	$(GTK_CFLAGS) \
 	$(LIBXFCE4UTIL_CFLAGS) \
-	$(LIBXFCEGUI4_CFLAGS) \
+	$(LIBXFCE4UI_CFLAGS) \
 	$(XFCONF_CFLAGS) \
-	$(EXO_CFLAGS)
+	$(EXO_CFLAGS) \
+	$(PLATFORM_CFLAGS)
 
 xfce4_settings_manager_LDFLAGS = \
 	-no-undefined \
@@ -32,7 +33,7 @@
 xfce4_settings_manager_LDADD = \
 	$(GTK_LIBS) \
 	$(LIBXFCE4UTIL_LIBS) \
-	$(LIBXFCEGUI4_LIBS) \
+	$(LIBXFCE4UI_LIBS) \
 	$(XFCONF_LIBS) \
 	$(EXO_LIBS)
 

Modified: xfce4-settings/trunk/xfce4-settings-manager/main.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-manager/main.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-manager/main.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -67,7 +67,7 @@
 
     if(G_UNLIKELY(opt_version)) {
         g_print("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string());
-        g_print("%s\n", "Copyright (c) 2008");
+        g_print("%s\n", "Copyright (c) 2008-2009");
         g_print("\t%s\n\n", _("The Xfce development team. All rights reserved."));
         g_print(_("Please report bugs to <%s>."), PACKAGE_BUGREPORT);
         g_print("\n");
@@ -97,7 +97,8 @@
 
     gtk_main();
 
-    gtk_widget_destroy(dialog);
+    if(GTK_IS_WIDGET(dialog))
+        gtk_widget_destroy(dialog);
 
     xfconf_shutdown();
 

Modified: xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -35,7 +35,7 @@
 #include <gtk/gtk.h>
 
 #include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
 #include <exo/exo.h>
 #include <xfconf/xfconf.h>
 
@@ -98,8 +98,6 @@
     N_COLS
 };
 
-static void xfce_settings_manager_dialog_class_init(XfceSettingsManagerDialogClass *klass);
-static void xfce_settings_manager_dialog_init(XfceSettingsManagerDialog *dialog);
 static void xfce_settings_manager_dialog_finalize(GObject *obj);
 
 static void xfce_settings_manager_dialog_create_liststore(XfceSettingsManagerDialog *dialog);
@@ -126,14 +124,12 @@
                                                           XfceSettingsManagerDialog *dialog);
 static GtkWidget *xfce_settings_manager_dialog_recreate_socket(XfceSettingsManagerDialog *dialog);
 #endif
-#if GTK_CHECK_VERSION(2, 12, 0)
 static gboolean xfce_settings_manager_dialog_query_tooltip(GtkWidget *widget,
                                                            gint x,
                                                            gint y,
                                                            gboolean keyboard_tip,
                                                            GtkTooltip *tooltip,
                                                            gpointer data);
-#endif
 
 
 G_DEFINE_TYPE(XfceSettingsManagerDialog, xfce_settings_manager_dialog, XFCE_TYPE_TITLED_DIALOG)
@@ -212,12 +208,10 @@
     g_signal_connect(G_OBJECT(dialog->icon_view), "item-activated",
                      G_CALLBACK(xfce_settings_manager_dialog_item_activated),
                      dialog);
-#if GTK_CHECK_VERSION(2, 12, 0)
     g_object_set(G_OBJECT(dialog->icon_view), "has-tooltip", TRUE, NULL);
     g_signal_connect(G_OBJECT(dialog->icon_view), "query-tooltip",
                      G_CALLBACK(xfce_settings_manager_dialog_query_tooltip),
                      NULL);
-#endif
 
     render = gtk_cell_renderer_pixbuf_new();
     gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dialog->icon_view), render, 
@@ -542,7 +536,7 @@
 {
     XfceSettingsManagerDialog *dialog = user_data;
     GtkTreeIter iter;
-    gchar *exec = NULL, *name, *comment, *icon_name, *primary;
+    gchar *exec = NULL, *name, *comment, *icon_name;
     gboolean snotify = FALSE;
 #ifdef ENABLE_PLUGGABLE_DIALOGS
     gboolean pluggable = FALSE;
@@ -592,19 +586,16 @@
                                   gtk_socket_get_id(GTK_SOCKET(dialog->socket)));
 
         /* Try to spawn the dialog */
-        if(!xfce_exec_on_screen (gtk_widget_get_screen(GTK_WIDGET(iconview)), 
-                                 command, FALSE, snotify, &error))
+        if(!xfce_spawn_command_line_on_screen(gtk_widget_get_screen(GTK_WIDGET(iconview)),
+                                              exec, FALSE, snotify, &error))
         {
             /* Spawning failed, go back to the overview */
             xfce_settings_manager_dialog_recreate_socket(dialog);
             xfce_settings_manager_dialog_reset_view(dialog, TRUE);
 
             /* Notify the user that there has been a problem */
-            primary = g_strdup_printf(_("Unable to start \"%s\""), exec);
-            xfce_message_dialog(GTK_WINDOW(dialog), _("Xfce Settings Manager"),
-                                GTK_STOCK_DIALOG_ERROR, primary, error->message,
-                                GTK_STOCK_CLOSE, GTK_RESPONSE_ACCEPT, NULL);
-            g_free(primary);
+            xfce_dialog_show_error(GTK_WINDOW(dialog), error,
+                _("Unable to start \"%s\""), exec);
             g_error_free(error);
         }
 
@@ -615,15 +606,12 @@
         xfce_settings_manager_dialog_reset_view(dialog, TRUE);
 
         /* Try to spawn the dialog */
-        if (!xfce_exec_on_screen(gtk_widget_get_screen(GTK_WIDGET(iconview)),
-                                 exec, FALSE, snotify, &error))
+        if (!xfce_spawn_command_line_on_screen(gtk_widget_get_screen(GTK_WIDGET(iconview)),
+                                               exec, FALSE, snotify, &error))
         {
             /* Notify the user that there has been a problem */
-            primary = g_strdup_printf(_("Unable to start \"%s\""), exec);
-            xfce_message_dialog(GTK_WINDOW(dialog), _("Xfce Settings Manager"),
-                                GTK_STOCK_DIALOG_ERROR, primary, error->message,
-                                GTK_STOCK_CLOSE, GTK_RESPONSE_ACCEPT, NULL);
-            g_free(primary);
+            xfce_dialog_show_error(GTK_WINDOW(dialog), error,
+                _("Unable to start \"%s\""), exec);
             g_error_free(error);
         }
 #ifdef ENABLE_PLUGGABLE_DIALOGS
@@ -670,8 +658,7 @@
     if(!gdk_spawn_command_line_on_screen(gtk_widget_get_screen(button), 
                                          command, &error))
     {
-        xfce_err(_("Failed to open the documentation. Reason: %s"), 
-                 error->message);
+        xfce_dialog_show_error (NULL, error, _("Failed to open the documentation"));
         g_error_free(error);
     }
 
@@ -794,7 +781,8 @@
     return FALSE;
 }
 
-#if GTK_CHECK_VERSION(2, 12, 0)
+
+
 static gboolean
 xfce_settings_manager_dialog_query_tooltip(GtkWidget *widget,
                                            gint x,
@@ -830,11 +818,11 @@
 
     return TRUE;
 }
-#endif
 
 
+
 GtkWidget *
-xfce_settings_manager_dialog_new()
+xfce_settings_manager_dialog_new(void)
 {
     return g_object_new(XFCE_TYPE_SETTINGS_MANAGER_DIALOG, NULL);
 }

Modified: xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.h
===================================================================
--- xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.h	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.h	2009-07-13 16:58:39 UTC (rev 30306)
@@ -31,9 +31,9 @@
 
 typedef struct _XfceSettingsManagerDialog  XfceSettingsManagerDialog;
 
-GType xfce_settings_manager_dialog_get_type() G_GNUC_CONST;
+GType xfce_settings_manager_dialog_get_type(void) G_GNUC_CONST;
 
-GtkWidget *xfce_settings_manager_dialog_new();
+GtkWidget *xfce_settings_manager_dialog_new(void);
 void       xfce_settings_manager_dialog_show_dialog(XfceSettingsManagerDialog *dialog,
                                                     const gchar *dialog_name);
 

Modified: xfce4-settings/trunk/xfce4-settings-manager/xfce-text-renderer.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-manager/xfce-text-renderer.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfce4-settings-manager/xfce-text-renderer.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -53,8 +53,6 @@
 
 
 
-static void xfce_text_renderer_class_init   (XfceTextRendererClass *klass);
-static void xfce_text_renderer_init         (XfceTextRenderer      *text_renderer);
 static void xfce_text_renderer_finalize     (GObject               *object);
 static void xfce_text_renderer_get_property (GObject               *object,
                                              guint                  prop_id,
@@ -110,48 +108,16 @@
 
 
 
-static GObjectClass *xfce_text_renderer_parent_class;
+G_DEFINE_TYPE (XfceTextRenderer, xfce_text_renderer, GTK_TYPE_CELL_RENDERER)
 
 
 
-GType
-xfce_text_renderer_get_type (void)
-{
-  static GType type = G_TYPE_INVALID;
-
-  if (G_UNLIKELY (type == G_TYPE_INVALID))
-    {
-      static const GTypeInfo info =
-      {
-        sizeof (XfceTextRendererClass),
-        NULL,
-        NULL,
-        (GClassInitFunc) xfce_text_renderer_class_init,
-        NULL,
-        NULL,
-        sizeof (XfceTextRenderer),
-        0,
-        (GInstanceInitFunc) xfce_text_renderer_init,
-        NULL,
-      };
-
-      type = g_type_register_static (GTK_TYPE_CELL_RENDERER, I_("XfceTextRenderer"), &info, 0);
-    }
-
-  return type;
-}
-
-
-
 static void
 xfce_text_renderer_class_init (XfceTextRendererClass *klass)
 {
   GtkCellRendererClass *gtkcell_renderer_class;
   GObjectClass         *gobject_class;
 
-  /* determine the parent type class */
-  xfce_text_renderer_parent_class = g_type_class_peek_parent (klass);
-
   gobject_class = G_OBJECT_CLASS (klass);
   gobject_class->finalize = xfce_text_renderer_finalize;
   gobject_class->get_property = xfce_text_renderer_get_property;
@@ -461,7 +427,7 @@
  *
  * Return value: a #PangoAttrList for underlining text using a single line.
  **/
-PangoAttrList*
+static PangoAttrList*
 xfce_pango_attr_list_underline_single (void)
 {
   static PangoAttrList *attr_list = NULL;
@@ -483,11 +449,7 @@
 {
   XfceTextRenderer *text_renderer = XFCE_TEXT_RENDERER (renderer);
   GtkStateType      state;
-#if !GTK_CHECK_VERSION(2,8,0)
-  GdkPoint          points[8];
-#else
   cairo_t          *cr;
-#endif
   gint              x0, x1, y0, y1;
   gint              text_width;
   gint              text_height;
@@ -565,7 +527,6 @@
       x1 = x0 + text_width;
       y1 = y0 + text_height;
 
-#if GTK_CHECK_VERSION(2,8,0)
       /* Cairo produces nicer results than using a polygon
        * and so we use it directly if possible.
        */
@@ -582,20 +543,6 @@
       gdk_cairo_set_source_color (cr, &widget->style->base[state]);
       cairo_fill (cr);
       cairo_destroy (cr);
-#else
-      /* calculate a (more or less rounded) polygon */
-      points[0].x = x0 + 2; points[0].y = y0;
-      points[1].x = x1 - 2; points[1].y = y0;
-      points[2].x = x1;     points[2].y = y0 + 2;
-      points[3].x = x1;     points[3].y = y1 - 2;
-      points[4].x = x1 - 2; points[4].y = y1;
-      points[5].x = x0 + 2; points[5].y = y1;
-      points[6].x = x0;     points[6].y = y1 - 2;
-      points[7].x = x0;     points[7].y = y0 + 2;
-
-      /* render the indicator */
-      gdk_draw_polygon (window, widget->style->base_gc[state], TRUE, points, G_N_ELEMENTS (points));
-#endif
     }
 
   /* draw the focus indicator */

Modified: xfce4-settings/trunk/xfsettingsd/Makefile.am
===================================================================
--- xfce4-settings/trunk/xfsettingsd/Makefile.am	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfsettingsd/Makefile.am	2009-07-13 16:58:39 UTC (rev 30306)
@@ -1,38 +1,47 @@
+# $Id$
+
 if BUILD_XFSETTINGSD
 
-bin_PROGRAMS = xfsettingsd
+INCLUDES = \
+	-I${top_srcdir} \
+	-DDATADIR=\"$(datadir)\" \
+	-DBINDIR=\"$(bindir)\" \
+	-DSRCDIR=\"$(top_srcdir)\" \
+	-DLOCALEDIR=\"$(localedir)\" \
+	-DG_LOG_DOMAIN=\"xfsettingsd\" \
+	$(PLATFORM_CPPFLAGS)
 
+bin_PROGRAMS = \
+	xfsettingsd
+
 xfsettingsd_SOURCES = \
 	main.c \
-	registry.c registry.h
+	registry.c \
+	registry.h
 
 xfsettingsd_CFLAGS = \
 	$(GTK_CFLAGS) \
 	$(GLIB_CFLAGS) \
-	$(DBUS_GLIB_CFLAGS) \
 	$(LIBNOTIFY_CFLAGS) \
 	$(XFCONF_CFLAGS) \
 	$(LIBXFCE4UTIL_CFLAGS) \
-	-DDATADIR=\"$(datadir)\" \
-	-DSRCDIR=\"$(top_srcdir)\" \
-	-DLOCALEDIR=\"$(localedir)\"
+	$(PLATFORM_CFLAGS)
 
+xfsettingsd_LDFLAGS = \
+	-no-undefined \
+	$(PLATFORM_LDFLAGS)
+
 xfsettingsd_LDADD = \
 	$(GTK_LIBS) \
 	$(GLIB_LIBS) \
-	$(DBUS_GLIB_LIBS) \
 	$(LIBNOTIFY_LIBS) \
 	$(XFCONF_LIBS) \
 	$(LIBXFCE4UTIL_LIBS)
 
-INCLUDES = \
-	-I$(top_srcdir)
-
 settingsdir = $(sysconfdir)/xdg/xfce4/xfconf/xfce-perchannel-xml
 settings_DATA = xsettings.xml
 
 EXTRA_DIST = \
 	$(settings_DATA)
 
-
 endif

Modified: xfce4-settings/trunk/xfsettingsd/main.c
===================================================================
--- xfce4-settings/trunk/xfsettingsd/main.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfsettingsd/main.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -68,7 +68,7 @@
 };
 
 
-GdkFilterReturn
+static GdkFilterReturn
 manager_event_filter (GdkXEvent *xevent,
                       GdkEvent *event,
                       gpointer data)
@@ -96,7 +96,7 @@
  *
  * Return value: TRUE if an XSETTINGS daemon is already running
  */
-gboolean
+static gboolean
 settings_daemon_check_running (Display *display, gint screen)
 {
     Atom atom;

Modified: xfce4-settings/trunk/xfsettingsd/registry.c
===================================================================
--- xfce4-settings/trunk/xfsettingsd/registry.c	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfsettingsd/registry.c	2009-07-13 16:58:39 UTC (rev 30306)
@@ -445,12 +445,14 @@
 {
     guchar *buffer, *pos;
     gint buf_len;
-
     gint prop_count = 0;
+    XSettingsRegistryEntry *entry = properties;
+    const gchar *value, *val;
+    gint name_len, value_len, str_length;
+    gint dpi;
+    
     registry->priv->last_change_serial = registry->priv->serial;
 
-    XSettingsRegistryEntry *entry = properties;
-
     buf_len = 12;
 
     /** Calculate buffer size */
@@ -467,7 +469,7 @@
             case G_TYPE_STRING:
                 {
                     buf_len += 4;
-                    const gchar *value = g_value_get_string(&entry->value);
+                    value = g_value_get_string(&entry->value);
                     if(value)
                     {
                         buf_len += XSETTINGS_PAD(strlen(value), 4);
@@ -501,9 +503,6 @@
     entry = properties;
     for(; entry->name != NULL; ++entry)
     {
-        gint name_len, value_len = 0, str_length;
-
-
         name_len = XSETTINGS_PAD(strlen(entry->name), 4);
         value_len = 0;
 
@@ -516,7 +515,7 @@
             case G_TYPE_STRING:
                 *pos++ = 1; // String 
                 {
-                    const gchar *value = g_value_get_string(&entry->value);
+                    value = g_value_get_string(&entry->value);
                     if(value)
                     {
                         value_len = XSETTINGS_PAD(strlen(value), 4);
@@ -553,7 +552,7 @@
         {
             case G_TYPE_STRING:
                 {
-                    const gchar *val = g_value_get_string(&entry->value);
+                    val = g_value_get_string(&entry->value);
 
                     if (val)
                     {
@@ -584,7 +583,7 @@
                  * this a bit more. */
                 if (strcmp (entry->name, "Xft/DPI") == 0)
                 {
-                    gint dpi = g_value_get_int (&entry->value);
+                    dpi = g_value_get_int (&entry->value);
 
                     if (dpi < 0)
                     {

Modified: xfce4-settings/trunk/xfsettingsd/registry.h
===================================================================
--- xfce4-settings/trunk/xfsettingsd/registry.h	2009-07-13 16:52:38 UTC (rev 30305)
+++ xfce4-settings/trunk/xfsettingsd/registry.h	2009-07-13 16:58:39 UTC (rev 30306)
@@ -72,7 +72,7 @@
     GObjectClass parent_class;
 };
 
-GType xsettings_registry_get_type();
+GType xsettings_registry_get_type(void);
 
 XSettingsRegistry *
 xsettings_registry_new (XfconfChannel *channel, Display *dpy, gint screen);




More information about the Xfce4-commits mailing list