deskbar-applet r2464 - in trunk: . data deskbar/core deskbar/handlers deskbar/handlers/actions deskbar/ui deskbar/ui/cuemiac deskbar/ui/preferences po



Author: sebp
Date: Sat Nov  1 13:51:32 2008
New Revision: 2464
URL: http://svn.gnome.org/viewvc/deskbar-applet?rev=2464&view=rev

Log:
Ported from gnomevfs to gio and from glade to GTK builder.
This requires pygobject 2.15.3 or later.
Changes have been merged from bzr branch at
https://code.launchpad.net/~marduk-k-d-w/deskbar-applet/gio-port


Added:
   trunk/data/mozilla-search.ui
   trunk/data/prefs-dialog.ui
   trunk/data/smart-bookmarks.ui
Modified:
   trunk/ChangeLog
   trunk/configure.ac
   trunk/data/Makefile.am
   trunk/deskbar/core/BrowserMatch.py
   trunk/deskbar/core/CoreImpl.py
   trunk/deskbar/core/ModuleInstaller.py
   trunk/deskbar/core/ModuleLoader.py
   trunk/deskbar/core/Utils.py
   trunk/deskbar/core/Watcher.py
   trunk/deskbar/handlers/actions/ActionsFactory.py
   trunk/deskbar/handlers/actions/OpenFileAction.py
   trunk/deskbar/handlers/actions/OpenWithNautilusAction.py
   trunk/deskbar/handlers/beagle-live.py
   trunk/deskbar/handlers/files.py
   trunk/deskbar/handlers/gdmactions.py
   trunk/deskbar/handlers/mozilla.py
   trunk/deskbar/handlers/programs.py
   trunk/deskbar/handlers/templates.py
   trunk/deskbar/handlers/yahoo.py
   trunk/deskbar/ui/About.py
   trunk/deskbar/ui/AbstractCuemiacView.py
   trunk/deskbar/ui/CuemiacAlignedView.py
   trunk/deskbar/ui/CuemiacWindowController.py
   trunk/deskbar/ui/DeskbarApplet.py
   trunk/deskbar/ui/cuemiac/CuemiacActionsTreeView.py
   trunk/deskbar/ui/cuemiac/CuemiacHeader.py
   trunk/deskbar/ui/cuemiac/CuemiacTreeView.py
   trunk/deskbar/ui/cuemiac/LingeringSelectionWindow.py
   trunk/deskbar/ui/preferences/DeskbarPreferences.py
   trunk/deskbar/ui/preferences/ModuleListView.py
   trunk/po/POTFILES.in

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Sat Nov  1 13:51:32 2008
@@ -69,7 +69,7 @@
 PKG_CHECK_MODULES(DESKBAR,
 	gtk+-2.0				>= 2.12
 	pygtk-2.0				>= 2.12
-	pygobject-2.0			>= 2.12
+	pygobject-2.0			>= 2.15.3
 	gnome-python-2.0		>= 2.10
 	gnome-desktop-2.0		>= 2.10
 	dbus-python				>= 0.80.2
@@ -98,6 +98,8 @@
 dnl ******************
 AM_CHECK_PYMOD(dbus)
 AM_CHECK_PYMOD(gconf)
+AM_CHECK_PYMOD(gio)
+AM_CHECK_PYMOD(glib)
 AM_CHECK_PYMOD(gnomedesktop)
 AM_CHECK_PYMOD(gnomekeyring)
 AM_CHECK_PYMOD(gnome.ui)

Modified: trunk/data/Makefile.am
==============================================================================
--- trunk/data/Makefile.am	(original)
+++ trunk/data/Makefile.am	Sat Nov  1 13:51:32 2008
@@ -28,9 +28,9 @@
 resourcesdir = $(pkgdatadir)
 resources_DATA = \
 	Deskbar_Applet.xml \
-	mozilla-search.glade \
-	smart-bookmarks.glade \
-	prefs-dialog.glade
+	mozilla-search.ui \
+	smart-bookmarks.ui \
+	prefs-dialog.ui
 
 deskbarbindir = $(libdir)/deskbar-applet
 

Added: trunk/data/mozilla-search.ui
==============================================================================
--- (empty file)
+++ trunk/data/mozilla-search.ui	Sat Nov  1 13:51:32 2008
@@ -0,0 +1,155 @@
+<?xml version="1.0"?>
+<!--*- mode: xml -*-->
+<interface>
+  <object class="GtkDialog" id="prefs-dialog">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Deskbar Preferences - Web Searches</property>
+    <property name="type">GTK_WINDOW_TOPLEVEL</property>
+    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="modal">False</property>
+    <property name="resizable">False</property>
+    <property name="destroy_with_parent">True</property>
+    <property name="icon_name"/>
+    <property name="decorated">True</property>
+    <property name="skip_taskbar_hint">False</property>
+    <property name="skip_pager_hint">False</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+    <property name="focus_on_map">True</property>
+    <property name="urgency_hint">False</property>
+    <property name="has_separator">False</property>
+    <signal handler="prefs_dialog_response_cb" last_modification_time="Sat, 10 May 2003 09:37:44 GMT" name="response"/>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox2">
+        <property name="visible">True</property>
+        <property name="homogeneous">False</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area2">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="close">
+                <property name="visible">True</property>
+                <property name="can_default">True</property>
+                <property name="can_focus">True</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <property name="relief">GTK_RELIEF_NORMAL</property>
+                <property name="focus_on_click">True</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="padding">0</property>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="frame1">
+            <property name="border_width">5</property>
+            <property name="visible">True</property>
+            <property name="homogeneous">False</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="label1317">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">&lt;b&gt;Search Engines&lt;/b&gt;</property>
+                <property name="use_underline">False</property>
+                <property name="use_markup">True</property>
+                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                <property name="wrap">False</property>
+                <property name="selectable">False</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0.5</property>
+                <property name="xpad">0</property>
+                <property name="ypad">0</property>
+                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                <property name="width_chars">-1</property>
+                <property name="single_line_mode">False</property>
+                <property name="angle">0</property>
+              </object>
+              <packing>
+                <property name="padding">0</property>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment18">
+                <property name="visible">True</property>
+                <property name="xalign">0.5</property>
+                <property name="yalign">0.5</property>
+                <property name="xscale">1</property>
+                <property name="yscale">1</property>
+                <property name="top_padding">0</property>
+                <property name="bottom_padding">0</property>
+                <property name="left_padding">12</property>
+                <property name="right_padding">0</property>
+                <child>
+                  <object class="GtkVBox" id="vbox157">
+                    <property name="visible">True</property>
+                    <property name="homogeneous">False</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkRadioButton" id="show_all_radio">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="label" translatable="yes">Show all available search engines</property>
+                        <property name="use_underline">True</property>
+                        <property name="relief">GTK_RELIEF_NORMAL</property>
+                        <property name="focus_on_click">True</property>
+                        <property name="active">False</property>
+                        <property name="inconsistent">False</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkRadioButton" id="show_primary_radio">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="label" translatable="yes">Show only the primary search engine</property>
+                        <property name="use_underline">True</property>
+                        <property name="relief">GTK_RELIEF_NORMAL</property>
+                        <property name="focus_on_click">True</property>
+                        <property name="active">False</property>
+                        <property name="inconsistent">False</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">show_all_radio</property>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="padding">0</property>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="padding">0</property>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-7">close</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Added: trunk/data/prefs-dialog.ui
==============================================================================
--- (empty file)
+++ trunk/data/prefs-dialog.ui	Sat Nov  1 13:51:32 2008
@@ -0,0 +1,1337 @@
+<?xml version="1.0"?>
+<!--*- mode: xml -*-->
+<interface>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">1000</property>
+    <property name="lower">10</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">20</property>
+  </object>
+  <object class="GtkDialog" id="preferences">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Deskbar Preferences</property>
+    <property name="type">GTK_WINDOW_TOPLEVEL</property>
+    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="modal">False</property>
+    <property name="default_height">450</property>
+    <property name="resizable">True</property>
+    <property name="destroy_with_parent">True</property>
+    <property name="decorated">True</property>
+    <property name="skip_taskbar_hint">False</property>
+    <property name="skip_pager_hint">False</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+    <property name="focus_on_map">True</property>
+    <property name="urgency_hint">False</property>
+    <property name="has_separator">False</property>
+    <signal handler="prefs_dialog_response_cb" name="response"/>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox2">
+        <property name="visible">True</property>
+        <property name="homogeneous">False</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area2">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="close">
+                <property name="visible">True</property>
+                <property name="can_default">True</property>
+                <property name="can_focus">True</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <property name="relief">GTK_RELIEF_NORMAL</property>
+                <property name="focus_on_click">True</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="padding">0</property>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkNotebook" id="notebook1">
+            <property name="border_width">5</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="show_tabs">True</property>
+            <property name="show_border">True</property>
+            <property name="tab_pos">GTK_POS_TOP</property>
+            <property name="scrollable">True</property>
+            <property name="enable_popup">False</property>
+            <child>
+              <object class="GtkVBox" id="big_box">
+                <property name="border_width">12</property>
+                <property name="visible">True</property>
+                <property name="homogeneous">False</property>
+                <property name="spacing">18</property>
+                <child>
+                  <object class="GtkVBox" id="loaded_extensions_box">
+                    <property name="visible">True</property>
+                    <property name="homogeneous">False</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label1310">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Loaded Extensions&lt;/b&gt;</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_markup">True</property>
+                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                        <property name="wrap">False</property>
+                        <property name="selectable">False</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xpad">0</property>
+                        <property name="ypad">0</property>
+                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                        <property name="width_chars">-1</property>
+                        <property name="single_line_mode">False</property>
+                        <property name="angle">0</property>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment16">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.5</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xscale">1</property>
+                        <property name="yscale">1</property>
+                        <property name="top_padding">0</property>
+                        <property name="bottom_padding">0</property>
+                        <property name="left_padding">12</property>
+                        <property name="right_padding">0</property>
+                        <child>
+                          <object class="GtkVBox" id="vbox156">
+                            <property name="visible">True</property>
+                            <property name="homogeneous">False</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkHBox" id="hbox198">
+                                <property name="visible">True</property>
+                                <property name="homogeneous">False</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <object class="GtkScrolledWindow" id="handlers">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="has_focus">True</property>
+                                    <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+                                    <child>
+                                      <placeholder/>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkVButtonBox" id="vbuttonbox1">
+                                    <property name="visible">True</property>
+                                    <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
+                                    <property name="spacing">0</property>
+                                    <child>
+                                      <object class="GtkButton" id="button_top">
+                                        <property name="visible">True</property>
+                                        <property name="sensitive">False</property>
+                                        <property name="can_default">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="label">gtk-goto-top</property>
+                                        <property name="use_stock">True</property>
+                                        <property name="relief">GTK_RELIEF_NORMAL</property>
+                                        <property name="focus_on_click">True</property>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="GtkButton" id="button_up">
+                                        <property name="visible">True</property>
+                                        <property name="sensitive">False</property>
+                                        <property name="can_default">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="label">gtk-go-up</property>
+                                        <property name="use_stock">True</property>
+                                        <property name="relief">GTK_RELIEF_NORMAL</property>
+                                        <property name="focus_on_click">True</property>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="GtkButton" id="button_down">
+                                        <property name="visible">True</property>
+                                        <property name="sensitive">False</property>
+                                        <property name="can_default">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="label">gtk-go-down</property>
+                                        <property name="use_stock">True</property>
+                                        <property name="relief">GTK_RELIEF_NORMAL</property>
+                                        <property name="focus_on_click">True</property>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="GtkButton" id="button_bottom">
+                                        <property name="visible">True</property>
+                                        <property name="sensitive">False</property>
+                                        <property name="can_default">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="label">gtk-goto-bottom</property>
+                                        <property name="use_stock">True</property>
+                                        <property name="relief">GTK_RELIEF_NORMAL</property>
+                                        <property name="focus_on_click">True</property>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkHBox" id="hbox188">
+                                <property name="visible">True</property>
+                                <property name="homogeneous">False</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <object class="GtkButton" id="reload">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="relief">GTK_RELIEF_NORMAL</property>
+                                    <property name="focus_on_click">True</property>
+                                    <child>
+                                      <object class="GtkAlignment" id="alignment30">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0.5</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="xscale">0</property>
+                                        <property name="yscale">0</property>
+                                        <property name="top_padding">0</property>
+                                        <property name="bottom_padding">0</property>
+                                        <property name="left_padding">0</property>
+                                        <property name="right_padding">0</property>
+                                        <child>
+                                          <object class="GtkHBox" id="hbox199">
+                                            <property name="visible">True</property>
+                                            <property name="homogeneous">False</property>
+                                            <property name="spacing">2</property>
+                                            <child>
+                                              <object class="GtkImage" id="image8">
+                                                <property name="visible">True</property>
+                                                <property name="stock">gtk-refresh</property>
+                                                <property name="icon_size">4</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="label1332">
+                                                <property name="visible">True</property>
+                                                <property name="label" translatable="yes">_Reload</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="use_markup">False</property>
+                                                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                                <property name="wrap">False</property>
+                                                <property name="selectable">False</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                                <property name="width_chars">-1</property>
+                                                <property name="single_line_mode">False</property>
+                                                <property name="angle">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" id="more">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="relief">GTK_RELIEF_NORMAL</property>
+                                    <property name="focus_on_click">True</property>
+                                    <child>
+                                      <object class="GtkAlignment" id="alignment27">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0.5</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="xscale">0</property>
+                                        <property name="yscale">0</property>
+                                        <property name="top_padding">0</property>
+                                        <property name="bottom_padding">0</property>
+                                        <property name="left_padding">0</property>
+                                        <property name="right_padding">0</property>
+                                        <child>
+                                          <object class="GtkHBox" id="hbox196">
+                                            <property name="visible">True</property>
+                                            <property name="homogeneous">False</property>
+                                            <property name="spacing">2</property>
+                                            <child>
+                                              <object class="GtkImage" id="image6">
+                                                <property name="visible">True</property>
+                                                <property name="stock">gtk-preferences</property>
+                                                <property name="icon_size">4</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="label1328">
+                                                <property name="visible">True</property>
+                                                <property name="label" translatable="yes">_More...</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="use_markup">False</property>
+                                                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                                <property name="wrap">False</property>
+                                                <property name="selectable">False</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                                <property name="width_chars">-1</property>
+                                                <property name="single_line_mode">False</property>
+                                                <property name="angle">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="pack_type">GTK_PACK_END</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" id="check">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="relief">GTK_RELIEF_NORMAL</property>
+                                    <property name="focus_on_click">True</property>
+                                    <child>
+                                      <object class="GtkAlignment" id="alignment22">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0.5</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="xscale">0</property>
+                                        <property name="yscale">0</property>
+                                        <property name="top_padding">0</property>
+                                        <property name="bottom_padding">0</property>
+                                        <property name="left_padding">0</property>
+                                        <property name="right_padding">0</property>
+                                        <child>
+                                          <object class="GtkHBox" id="hbox190">
+                                            <property name="visible">True</property>
+                                            <property name="homogeneous">False</property>
+                                            <property name="spacing">2</property>
+                                            <child>
+                                              <object class="GtkImage" id="image2">
+                                                <property name="visible">True</property>
+                                                <property name="stock">gtk-network</property>
+                                                <property name="icon_size">4</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="label1321">
+                                                <property name="visible">True</property>
+                                                <property name="label" translatable="yes">_Check For Updates</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="use_markup">False</property>
+                                                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                                <property name="wrap">False</property>
+                                                <property name="selectable">False</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                                <property name="width_chars">-1</property>
+                                                <property name="single_line_mode">False</property>
+                                                <property name="angle">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="pack_type">GTK_PACK_END</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" id="update">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="relief">GTK_RELIEF_NORMAL</property>
+                                    <property name="focus_on_click">True</property>
+                                    <child>
+                                      <object class="GtkAlignment" id="alignment21">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0.5</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="xscale">0</property>
+                                        <property name="yscale">0</property>
+                                        <property name="top_padding">0</property>
+                                        <property name="bottom_padding">0</property>
+                                        <property name="left_padding">0</property>
+                                        <property name="right_padding">0</property>
+                                        <child>
+                                          <object class="GtkHBox" id="hbox189">
+                                            <property name="visible">True</property>
+                                            <property name="homogeneous">False</property>
+                                            <property name="spacing">2</property>
+                                            <child>
+                                              <object class="GtkImage" id="image1">
+                                                <property name="visible">True</property>
+                                                <property name="stock">gtk-refresh</property>
+                                                <property name="icon_size">4</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="label1320">
+                                                <property name="visible">True</property>
+                                                <property name="label" translatable="yes">_Update</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="use_markup">False</property>
+                                                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                                <property name="wrap">False</property>
+                                                <property name="selectable">False</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                                <property name="width_chars">-1</property>
+                                                <property name="single_line_mode">False</property>
+                                                <property name="angle">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="pack_type">GTK_PACK_END</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkHBox" id="info_area">
+                                <property name="visible">True</property>
+                                <property name="homogeneous">False</property>
+                                <property name="spacing">0</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="padding">0</property>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="tab_expand">False</property>
+                <property name="tab_fill">True</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label1315">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Searches</property>
+                <property name="use_underline">False</property>
+                <property name="use_markup">False</property>
+                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                <property name="wrap">False</property>
+                <property name="selectable">False</property>
+                <property name="xalign">0.5</property>
+                <property name="yalign">0.5</property>
+                <property name="xpad">0</property>
+                <property name="ypad">0</property>
+                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                <property name="width_chars">-1</property>
+                <property name="single_line_mode">False</property>
+                <property name="angle">0</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox163">
+                <property name="border_width">12</property>
+                <property name="visible">True</property>
+                <property name="homogeneous">False</property>
+                <property name="spacing">18</property>
+                <child>
+                  <object class="GtkVBox" id="vbox164">
+                    <property name="visible">True</property>
+                    <property name="homogeneous">False</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label1331">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Extensions with Errors&lt;/b&gt;</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_markup">True</property>
+                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                        <property name="wrap">False</property>
+                        <property name="selectable">False</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xpad">0</property>
+                        <property name="ypad">0</property>
+                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                        <property name="width_chars">-1</property>
+                        <property name="single_line_mode">False</property>
+                        <property name="angle">0</property>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment29">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.5</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xscale">1</property>
+                        <property name="yscale">1</property>
+                        <property name="top_padding">0</property>
+                        <property name="bottom_padding">0</property>
+                        <property name="left_padding">12</property>
+                        <property name="right_padding">0</property>
+                        <child>
+                          <object class="GtkVBox" id="disabledhandlers_box">
+                            <property name="visible">True</property>
+                            <property name="homogeneous">False</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkScrolledWindow" id="disabledhandlers">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="has_focus">True</property>
+                                <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="padding">0</property>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="tab_expand">False</property>
+                <property name="tab_fill">True</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label1330">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Extensions with Errors</property>
+                <property name="use_underline">False</property>
+                <property name="use_markup">False</property>
+                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                <property name="wrap">False</property>
+                <property name="selectable">False</property>
+                <property name="xalign">0.5</property>
+                <property name="yalign">0.5</property>
+                <property name="xpad">0</property>
+                <property name="ypad">0</property>
+                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                <property name="width_chars">-1</property>
+                <property name="single_line_mode">False</property>
+                <property name="angle">0</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkVBox" id="extensions_vbox">
+                <property name="border_width">12</property>
+                <property name="visible">True</property>
+                <property name="homogeneous">False</property>
+                <property name="spacing">18</property>
+                <child>
+                  <object class="GtkVBox" id="vbox159">
+                    <property name="visible">True</property>
+                    <property name="homogeneous">False</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label1323">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Available Extensions&lt;/b&gt;</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_markup">True</property>
+                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                        <property name="wrap">False</property>
+                        <property name="selectable">False</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xpad">0</property>
+                        <property name="ypad">0</property>
+                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                        <property name="width_chars">-1</property>
+                        <property name="single_line_mode">False</property>
+                        <property name="angle">0</property>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment23">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.5</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xscale">1</property>
+                        <property name="yscale">1</property>
+                        <property name="top_padding">0</property>
+                        <property name="bottom_padding">0</property>
+                        <property name="left_padding">12</property>
+                        <property name="right_padding">0</property>
+                        <child>
+                          <object class="GtkVBox" id="vbox160">
+                            <property name="visible">True</property>
+                            <property name="homogeneous">False</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkHBox" id="hbox200">
+                                <property name="visible">True</property>
+                                <property name="homogeneous">False</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <object class="GtkLabel" id="label1334">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes">Display extensions with tag:</property>
+                                    <property name="use_underline">False</property>
+                                    <property name="use_markup">False</property>
+                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                    <property name="wrap">False</property>
+                                    <property name="selectable">False</property>
+                                    <property name="xalign">0.5</property>
+                                    <property name="yalign">0.5</property>
+                                    <property name="xpad">0</property>
+                                    <property name="ypad">0</property>
+                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                    <property name="width_chars">-1</property>
+                                    <property name="single_line_mode">False</property>
+                                    <property name="angle">0</property>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkComboBox" id="combobox_tags">
+                                    <property name="visible">True</property>
+                                    <property name="add_tearoffs">False</property>
+                                    <property name="focus_on_click">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkScrolledWindow" id="newhandlers">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="has_focus">True</property>
+                                <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkHBox" id="hbox191">
+                                <property name="visible">True</property>
+                                <property name="homogeneous">False</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <object class="GtkButton" id="check_new_extensions">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="relief">GTK_RELIEF_NORMAL</property>
+                                    <property name="focus_on_click">True</property>
+                                    <child>
+                                      <object class="GtkAlignment" id="alignment28">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0.5</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="xscale">0</property>
+                                        <property name="yscale">0</property>
+                                        <property name="top_padding">0</property>
+                                        <property name="bottom_padding">0</property>
+                                        <property name="left_padding">0</property>
+                                        <property name="right_padding">0</property>
+                                        <child>
+                                          <object class="GtkHBox" id="hbox197">
+                                            <property name="visible">True</property>
+                                            <property name="homogeneous">False</property>
+                                            <property name="spacing">2</property>
+                                            <child>
+                                              <object class="GtkImage" id="image7">
+                                                <property name="visible">True</property>
+                                                <property name="stock">gtk-network</property>
+                                                <property name="icon_size">4</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="label1329">
+                                                <property name="visible">True</property>
+                                                <property name="label" translatable="yes">_Check for new extensions</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="use_markup">False</property>
+                                                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                                <property name="wrap">False</property>
+                                                <property name="selectable">False</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                                <property name="width_chars">-1</property>
+                                                <property name="single_line_mode">False</property>
+                                                <property name="angle">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" id="install">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="relief">GTK_RELIEF_NORMAL</property>
+                                    <property name="focus_on_click">True</property>
+                                    <child>
+                                      <object class="GtkAlignment" id="alignment26">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0.5</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="xscale">0</property>
+                                        <property name="yscale">0</property>
+                                        <property name="top_padding">0</property>
+                                        <property name="bottom_padding">0</property>
+                                        <property name="left_padding">0</property>
+                                        <property name="right_padding">0</property>
+                                        <child>
+                                          <object class="GtkHBox" id="hbox195">
+                                            <property name="visible">True</property>
+                                            <property name="homogeneous">False</property>
+                                            <property name="spacing">2</property>
+                                            <child>
+                                              <object class="GtkImage" id="image5">
+                                                <property name="visible">True</property>
+                                                <property name="stock">gtk-save</property>
+                                                <property name="icon_size">4</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="label1327">
+                                                <property name="visible">True</property>
+                                                <property name="label" translatable="yes">_Install</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="use_markup">False</property>
+                                                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                                <property name="wrap">False</property>
+                                                <property name="selectable">False</property>
+                                                <property name="xalign">0.5</property>
+                                                <property name="yalign">0.5</property>
+                                                <property name="xpad">0</property>
+                                                <property name="ypad">0</property>
+                                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                                <property name="width_chars">-1</property>
+                                                <property name="single_line_mode">False</property>
+                                                <property name="angle">0</property>
+                                              </object>
+                                              <packing>
+                                                <property name="padding">0</property>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="pack_type">GTK_PACK_END</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="padding">0</property>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="tab_expand">False</property>
+                <property name="tab_fill">True</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label1322">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">New Extensions</property>
+                <property name="use_underline">False</property>
+                <property name="use_markup">False</property>
+                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                <property name="wrap">False</property>
+                <property name="selectable">False</property>
+                <property name="xalign">0.5</property>
+                <property name="yalign">0.5</property>
+                <property name="xpad">0</property>
+                <property name="ypad">0</property>
+                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                <property name="width_chars">-1</property>
+                <property name="single_line_mode">False</property>
+                <property name="angle">0</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkVBox" id="view_vbox">
+                <property name="border_width">12</property>
+                <property name="visible">True</property>
+                <property name="homogeneous">False</property>
+                <property name="spacing">18</property>
+                <child>
+                  <object class="GtkVBox" id="vbox166">
+                    <property name="visible">True</property>
+                    <property name="homogeneous">False</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label1335">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Window Behavior&lt;/b&gt;</property>
+                        <property name="use_underline">False</property>
+                        <property name="use_markup">True</property>
+                        <property name="justify">GTK_JUSTIFY_LEFT</property>
+                        <property name="wrap">False</property>
+                        <property name="selectable">False</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xpad">0</property>
+                        <property name="ypad">0</property>
+                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                        <property name="width_chars">-1</property>
+                        <property name="single_line_mode">False</property>
+                        <property name="angle">0</property>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment33">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.5</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xscale">1</property>
+                        <property name="yscale">1</property>
+                        <property name="top_padding">0</property>
+                        <property name="bottom_padding">0</property>
+                        <property name="left_padding">12</property>
+                        <property name="right_padding">0</property>
+                        <child>
+                          <object class="GtkCheckButton" id="sticktopanel_checkbox">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Stick to panel</property>
+                            <property name="use_underline">True</property>
+                            <property name="relief">GTK_RELIEF_NORMAL</property>
+                            <property name="focus_on_click">True</property>
+                            <property name="active">False</property>
+                            <property name="inconsistent">False</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="padding">0</property>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkVBox" id="frame_width">
+                    <property name="visible">True</property>
+                    <property name="homogeneous">False</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label1318">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Width&lt;/b&gt;</property>
+                        <property name="use_underline">False</property>
+                        <property name="use_markup">True</property>
+                        <property name="justify">GTK_JUSTIFY_LEFT</property>
+                        <property name="wrap">False</property>
+                        <property name="selectable">False</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xpad">0</property>
+                        <property name="ypad">0</property>
+                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                        <property name="width_chars">-1</property>
+                        <property name="single_line_mode">False</property>
+                        <property name="angle">0</property>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment19">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.5</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xscale">1</property>
+                        <property name="yscale">1</property>
+                        <property name="top_padding">0</property>
+                        <property name="bottom_padding">0</property>
+                        <property name="left_padding">12</property>
+                        <property name="right_padding">0</property>
+                        <child>
+                          <object class="GtkHBox" id="hbox187">
+                            <property name="visible">True</property>
+                            <property name="homogeneous">False</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkSpinButton" id="width">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="climb_rate">1</property>
+                                <property name="digits">0</property>
+                                <property name="numeric">False</property>
+                                <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                                <property name="snap_to_ticks">False</property>
+                                <property name="wrap">False</property>
+                                <property name="adjustment">adjustment1</property>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="width_units">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">characters</property>
+                                <property name="use_underline">False</property>
+                                <property name="use_markup">False</property>
+                                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                <property name="wrap">False</property>
+                                <property name="selectable">False</property>
+                                <property name="xalign">0</property>
+                                <property name="yalign">0.5</property>
+                                <property name="xpad">0</property>
+                                <property name="ypad">0</property>
+                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                <property name="width_chars">-1</property>
+                                <property name="single_line_mode">False</property>
+                                <property name="angle">0</property>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="padding">0</property>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkVBox" id="frame3">
+                    <property name="visible">True</property>
+                    <property name="homogeneous">False</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label1319">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Focus&lt;/b&gt;</property>
+                        <property name="use_underline">False</property>
+                        <property name="use_markup">True</property>
+                        <property name="justify">GTK_JUSTIFY_LEFT</property>
+                        <property name="wrap">False</property>
+                        <property name="selectable">False</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xpad">0</property>
+                        <property name="ypad">0</property>
+                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                        <property name="width_chars">-1</property>
+                        <property name="single_line_mode">False</property>
+                        <property name="angle">0</property>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment20">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.5</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xscale">1</property>
+                        <property name="yscale">1</property>
+                        <property name="top_padding">0</property>
+                        <property name="bottom_padding">0</property>
+                        <property name="left_padding">12</property>
+                        <property name="right_padding">0</property>
+                        <child>
+                          <object class="GtkVBox" id="vbox161">
+                            <property name="visible">True</property>
+                            <property name="homogeneous">False</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkHBox" id="keybinding_entry_container">
+                                <property name="visible">True</property>
+                                <property name="homogeneous">False</property>
+                                <property name="spacing">12</property>
+                                <child>
+                                  <object class="GtkLabel" id="label1315">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes">_Keyboard shortcut to focus:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="use_markup">False</property>
+                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                    <property name="wrap">False</property>
+                                    <property name="selectable">False</property>
+                                    <property name="xalign">0.5</property>
+                                    <property name="yalign">0.5</property>
+                                    <property name="xpad">0</property>
+                                    <property name="ypad">0</property>
+                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                    <property name="width_chars">-1</property>
+                                    <property name="single_line_mode">False</property>
+                                    <property name="angle">0</property>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="use_selection">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Search selection when triggering the shortcut</property>
+                                <property name="use_underline">True</property>
+                                <property name="relief">GTK_RELIEF_NORMAL</property>
+                                <property name="focus_on_click">True</property>
+                                <property name="active">False</property>
+                                <property name="inconsistent">False</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="padding">0</property>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="padding">0</property>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="padding">0</property>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="tab_expand">False</property>
+                <property name="tab_fill">True</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label1316">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">General</property>
+                <property name="use_underline">False</property>
+                <property name="use_markup">False</property>
+                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                <property name="wrap">False</property>
+                <property name="selectable">False</property>
+                <property name="xalign">0.5</property>
+                <property name="yalign">0.5</property>
+                <property name="xpad">0</property>
+                <property name="ypad">0</property>
+                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                <property name="width_chars">-1</property>
+                <property name="single_line_mode">False</property>
+                <property name="angle">0</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="padding">0</property>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-7">close</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Added: trunk/data/smart-bookmarks.ui
==============================================================================
--- (empty file)
+++ trunk/data/smart-bookmarks.ui	Sat Nov  1 13:51:32 2008
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<!--*- mode: xml -*-->
+<interface>
+  <object class="GtkDialog" id="smart-bookmarks">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Shortcuts for Bookmarked Searches</property>
+    <property name="type">GTK_WINDOW_TOPLEVEL</property>
+    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="modal">False</property>
+    <property name="default_height">450</property>
+    <property name="resizable">True</property>
+    <property name="destroy_with_parent">True</property>
+    <property name="icon_name"/>
+    <property name="decorated">True</property>
+    <property name="skip_taskbar_hint">False</property>
+    <property name="skip_pager_hint">False</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+    <property name="focus_on_map">True</property>
+    <property name="urgency_hint">False</property>
+    <property name="has_separator">False</property>
+    <signal handler="prefs_dialog_response_cb" last_modification_time="Sat, 10 May 2003 09:37:44 GMT" name="response"/>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="vbox100">
+        <property name="visible">True</property>
+        <property name="homogeneous">False</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area2">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="close">
+                <property name="visible">True</property>
+                <property name="can_default">True</property>
+                <property name="can_focus">True</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <property name="relief">GTK_RELIEF_NORMAL</property>
+                <property name="focus_on_click">True</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="padding">0</property>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="vbox101">
+            <property name="border_width">5</property>
+            <property name="visible">True</property>
+            <property name="homogeneous">False</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkScrolledWindow" id="scrolledwindow100">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_focus">True</property>
+                <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                <property name="shadow_type">GTK_SHADOW_IN</property>
+                <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+                <child>
+                  <object class="GtkTreeView" id="bookmarks-view">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="headers_visible">True</property>
+                    <property name="rules_hint">True</property>
+                    <property name="reorderable">False</property>
+                    <property name="enable_search">True</property>
+                    <property name="fixed_height_mode">False</property>
+                    <property name="hover_selection">False</property>
+                    <property name="hover_expand">False</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="padding">0</property>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">&lt;i&gt;&lt;small&gt;&lt;b&gt;Note:&lt;/b&gt; To use a shortcut (for example &lt;b&gt;wp&lt;/b&gt;) to search for &lt;b&gt;something&lt;/b&gt;, type "&lt;b&gt;wp something&lt;/b&gt;" in the deskbar&lt;/small&gt;&lt;/i&gt;.</property>
+                <property name="use_underline">False</property>
+                <property name="use_markup">True</property>
+                <property name="justify">GTK_JUSTIFY_LEFT</property>
+                <property name="wrap">True</property>
+                <property name="selectable">False</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0.5</property>
+                <property name="xpad">0</property>
+                <property name="ypad">0</property>
+                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                <property name="width_chars">-1</property>
+                <property name="single_line_mode">False</property>
+                <property name="angle">0</property>
+              </object>
+              <packing>
+                <property name="padding">0</property>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="padding">0</property>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-7">close</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Modified: trunk/deskbar/core/BrowserMatch.py
==============================================================================
--- trunk/deskbar/core/BrowserMatch.py	(original)
+++ trunk/deskbar/core/BrowserMatch.py	Sat Nov  1 13:51:32 2008
@@ -235,9 +235,10 @@
     list_store = gtk.ListStore(str, gobject.TYPE_PYOBJECT)
     _sync_list_store_from_shortcuts_map(list_store, smart_bookmarks, shortcuts_to_smart_bookmarks_map)
     
-    glade = gtk.glade.XML(os.path.join(deskbar.SHARED_DATA_DIR, "smart-bookmarks.glade"))
+    builder = gtk.Builder()
+    builder.add_from_file(os.path.join(deskbar.SHARED_DATA_DIR, "smart-bookmarks.ui"))
     
-    view = glade.get_widget("bookmarks-view")
+    view = builder.get_object("bookmarks-view")
     view.set_model(list_store)
     
     crt_shortcut = gtk.CellRendererText()
@@ -255,7 +256,7 @@
     tvc_name.set_cell_data_func(crt_name, bookmark_to_bookmark_name)
     view.append_column(tvc_name)
     
-    dialog = glade.get_widget("smart-bookmarks")
+    dialog = builder.get_object("smart-bookmarks")
     dialog.set_icon_name("deskbar-applet")
     dialog.show_all()
     dialog.run()

Modified: trunk/deskbar/core/CoreImpl.py
==============================================================================
--- trunk/deskbar/core/CoreImpl.py	(original)
+++ trunk/deskbar/core/CoreImpl.py	Sat Nov  1 13:51:32 2008
@@ -1,6 +1,6 @@
 import sys
 import logging
-import gobject
+import glib
 import gtk
 import deskbar
 import deskbar.interfaces.Match
@@ -297,8 +297,8 @@
         """
         if (len(text) >= self.get_min_chars()):            
             if (self._start_query_id != 0):
-                gobject.source_remove(self._start_query_id)
-            self._start_query_id = gobject.timeout_add( self.get_type_delay(), self._query_real, text )
+                glib.source_remove(self._start_query_id)
+            self._start_query_id = glib.timeout_add( self.get_type_delay(), self._query_real, text )
             self._stop_queries = False
             
     def _query_real(self, text):

Modified: trunk/deskbar/core/ModuleInstaller.py
==============================================================================
--- trunk/deskbar/core/ModuleInstaller.py	(original)
+++ trunk/deskbar/core/ModuleInstaller.py	Sat Nov  1 13:51:32 2008
@@ -1,4 +1,4 @@
-import gnomevfs
+import gio
 import urllib
 import shutil
 import bz2
@@ -8,9 +8,12 @@
 import zipfile
 from os.path import join, exists
 from os import unlink
+import logging
 
 import deskbar
 
+LOGGER = logging.getLogger(__name__)
+
 class FormatNotSupportedError(Exception):
     """
     Raised if the MIME type isn't supported
@@ -87,7 +90,14 @@
         Extract the contents of the file to C{self.dest_dir}
         @raise FormatNotSupportedError:
         """
-        mime_type = gnomevfs.get_mime_type(self.path)
+        gfile = gio.File(path=self.path)
+        try:
+            fileinfo = gfile.query_info("standard::content-type")
+        except Exception, e:
+            self.parent_error = (Exception, e.message)
+            return
+        
+        mime_type = gio.content_type_get_mime_type (fileinfo.get_content_type())
         if mime_type == 'application/x-bzip-compressed-tar':
             extracter = Bzip2Extracter
         elif mime_type == 'application/x-compressed-tar':
@@ -138,18 +148,22 @@
         do_cleanup = False
         self._reset()
         
-        uri = gnomevfs.URI(uri_string)
-        if (uri.is_local == 1):
-            handlers_path = join(deskbar.USER_HANDLERS_DIR[0], uri.short_name)
-            self.local_path = uri.path
+        if (uri_string.startswith("file://")):
+            gfile = gio.File(uri=uri_string)
+            handlers_path = join(deskbar.USER_HANDLERS_DIR[0], gfile.get_basename())
+            self.local_path = gfile.get_path()
             if handlers_path == join(deskbar.USER_HANDLERS_DIR[0], self.local_path):
                 # Source and destination are the same, nothing to do here
                 return
-            if (gnomevfs.get_mime_type(uri_string) == "text/x-python"):
+            
+            fileinfo = gfile.query_info ("standard::content-type")
+            mime_type = gio.content_type_get_mime_type (fileinfo.get_content_type())
+            if (mime_type == "text/x-python"):
                 shutil.copy(self.local_path, deskbar.USER_HANDLERS_DIR[0])
                 return
         else:
-            handlers_path = join(deskbar.USER_HANDLERS_DIR[0], uri.short_name)
+            gfile = gio.File(path=uri_string)
+            handlers_path = join(deskbar.USER_HANDLERS_DIR[0], gfile.get_basename())
             urllib.urlretrieve(uri_string, handlers_path)
             self.local_path = handlers_path
             do_cleanup = True

Modified: trunk/deskbar/core/ModuleLoader.py
==============================================================================
--- trunk/deskbar/core/ModuleLoader.py	(original)
+++ trunk/deskbar/core/ModuleLoader.py	Sat Nov  1 13:51:32 2008
@@ -3,6 +3,7 @@
 import deskbar
 import deskbar.core.Categories
 import deskbar.interfaces.Module
+import glib
 import gobject
 import gtk
 import logging
@@ -211,19 +212,19 @@
         """
         Same as load_all() except the loading is done in an idle mainloop call.
         """
-        gobject.idle_add(self.load_all)
+        glib.idle_add(self.load_all)
         
     def initialize_module_async (self, module):
         """
         Invokes initialize_module in an idle mainloop call.
         """
-        gobject.idle_add(self.initialize_module, module)
+        glib.idle_add(self.initialize_module, module)
         
     def stop_module_async (self, module):
         """
         Invokes stop_module in an idle mainloop call.
         """
-        gobject.idle_add(self.stop_module, module)
+        glib.idle_add(self.stop_module, module)
         
 if gtk.pygtk_version < (2,8,0):
     gobject.type_register(ModuleLoader)

Modified: trunk/deskbar/core/Utils.py
==============================================================================
--- trunk/deskbar/core/Utils.py	(original)
+++ trunk/deskbar/core/Utils.py	Sat Nov  1 13:51:32 2008
@@ -7,8 +7,8 @@
 import deskbar
 import gnomedesktop
 import gnome.ui
-import gnomevfs
-import gobject
+import gio
+import glib
 import gtk
 import gtk.gdk
 import locale
@@ -96,7 +96,7 @@
     """
     pixbuf = None
     if icon != None and icon != "":
-        if icon.startswith("file://") and gnomevfs.exists(icon):
+        if icon.startswith("file://") and gio.File(uri=icon).query_exists():
             icon, flags = gnome.ui.icon_lookup(ICON_THEME, factory,
                 icon, "",
                 gnome.ui.ICON_LOOKUP_FLAGS_SHOW_SMALL_IMAGES_AS_THEMSELVES)
@@ -177,7 +177,7 @@
 
 def spawn_async(args):
     try:
-        gobject.spawn_async(args, flags=gobject.SPAWN_SEARCH_PATH)
+        glib.spawn_async(args, flags=glib.SPAWN_SEARCH_PATH)
         return True
     except Exception, e:
         message_dialog = gtk.MessageDialog(flags=gtk.DIALOG_MODAL, type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_CLOSE)
@@ -196,30 +196,61 @@
         manager = gtk.recent_manager_get_default()
         manager.add_item(uri)
 
+def launch_default_for_uri(uri_string):
+    """
+    Open uri_string with the default application
+    according to content type
+    
+    @type uri_string: str 
+    """
+    gfile = gio.File(uri=uri_string)
+    appinfo = gfile.query_default_handler()
+    
+    if appinfo != None:
+        appinfo.launch([gfile], None)
+    else:
+        LOGGER.error("Could not detect default application for %s", uri.get_uri())
+
+def launch_default_for_uri_and_scheme(uri_string):
+    """
+    Open uri_string with the default application
+    according to scheme
+    
+    @type uri_string: str 
+    """
+    gfile = gio.File(uri=uri_string)
+    appinfo = gio.app_info_get_default_for_uri_scheme(gfile.get_uri_scheme())
+    
+    if appinfo != None:
+        appinfo.launch([gfile], None)
+    else:
+        LOGGER.error("Could not detect default application for %s", uri.get_uri())
+    
 def url_show_file(url, escape=True):
     """
     @param escape: Whether C{url} should be escaped or not 
     """
     try:
         if escape:
-            url = gnomevfs.escape_host_and_path_string(url)
-        gnomevfs.url_show(url)
+            url = gio.File(uri=url).get_uri()
+        launch_default_for_uri(url)
         add_to_recent(url)
     except Exception, e:
         executed = False
         try:
-            executed = spawn_async([gnomevfs.get_local_path_from_uri(url)])
+            executed = spawn_async([gio.File(uri=url).get_path()])
         except:
             if not executed:
                 if escape:
-                    url = gnomevfs.escape_host_and_path_string(dirname(url))
+                    url = gio.File(uri=url).get_uri()
                 url_show(url)
                 add_to_recent(url)
 
 def url_show(url):
     try:
-        gnomevfs.url_show(url)
+        launch_default_for_uri(url)
     except Exception, e:
+        LOGGER.exception(e)
         message_dialog = gtk.MessageDialog(flags=gtk.DIALOG_MODAL, type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_CLOSE)
         message_dialog.set_markup("<span size='larger' weight='bold'>%s</span>\n\n '%s'" % (
             _("Cannot show URL:"), cgi.escape(url)))

Modified: trunk/deskbar/core/Watcher.py
==============================================================================
--- trunk/deskbar/core/Watcher.py	(original)
+++ trunk/deskbar/core/Watcher.py	Sat Nov  1 13:51:32 2008
@@ -1,11 +1,13 @@
 """
-Helper classes to monitor directories/files for changes using gnomevfs
+Helper classes to monitor directories/files for changes
 """
 
-import gnomevfs
+import gio
+import glib
 import gobject
 import gtk
 import logging
+from os.path import isdir
 
 LOGGER = logging.getLogger(__name__)
 
@@ -16,7 +18,7 @@
     def __init__(self):
         gobject.GObject.__init__(self)
         self.watched = {}
-        self.monitor_type = gnomevfs.MONITOR_FILE
+        self._get_monitor_func = "monitor_file"
         
     def add(self, args):
         if not type(args) is list:
@@ -27,11 +29,15 @@
                 continue
                 
             if not name in self.watched:
+                gfile = gio.File (path=name)
+                
                 try:
-                    self.watched[name] = gnomevfs.monitor_add(name, self.monitor_type, self._on_change)
+                    self.watched[name] = getattr(gfile, self._get_monitor_func) ()
                 except Exception, msg:
                     LOGGER.exception(msg)
                     self.watched[name] = 0
+                    
+                self.watched[name].connect ("changed", self._on_changed)
     
     def remove(self, args):
         if not type(args) is list:
@@ -40,15 +46,16 @@
         for name in args:
             if name in self.watched:
                 if self.watched[name] != 0:
-                    gnomevfs.monitor_cancel(self.watched[name])
+                    self.watched[name].cancel()
                 del self.watched[name]
     
     def remove_all(self):
         self.remove(self.watched.keys())
                 
-    def _on_change(self, monitor, changed, event):
-        if event == gnomevfs.MONITOR_EVENT_CHANGED or event == gnomevfs.MONITOR_EVENT_CREATED:
-            gobject.idle_add(self.emit, 'changed', gnomevfs.get_local_path_from_uri(changed))
+    def _on_changed(self, monitor, file, other_file, event_type):
+        if event_type == gio.FILE_MONITOR_EVENT_CHANGED \
+            or event_type == gio.FILE_MONITOR_EVENT_CREATED:
+            glib.idle_add(self.emit, 'changed', file.get_path ())
 
 class FileWatcher(Watcher):
     def __init__(self):
@@ -57,7 +64,7 @@
 class DirWatcher(Watcher):
     def __init__(self):
         Watcher.__init__(self)
-        self.monitor_type = gnomevfs.MONITOR_DIRECTORY
+        self._get_monitor_func = "monitor_directory"
 
 if gtk.pygtk_version < (2,8,0):
     gobject.type_register(Watcher)

Modified: trunk/deskbar/handlers/actions/ActionsFactory.py
==============================================================================
--- trunk/deskbar/handlers/actions/ActionsFactory.py	(original)
+++ trunk/deskbar/handlers/actions/ActionsFactory.py	Sat Nov  1 13:51:32 2008
@@ -1,10 +1,10 @@
-import gnomevfs
+import gio
 import logging
 from deskbar.handlers.actions.OpenWithApplicationAction import OpenWithApplicationAction
 from deskbar.handlers.actions.CopyToClipboardAction import CopyToClipboardAction
 from deskbar.handlers.actions.GoToLocationAction import GoToLocationAction
 from deskbar.handlers.actions.SendFileViaEmailAction import SendFileViaEmailAction
-from os.path import basename, isdir
+from os.path import isdir
 from gettext import gettext as _
 
 LOGGER = logging.getLogger(__name__)
@@ -21,41 +21,31 @@
     @param display_name: The optional name of
     the file for display. 
     """
-    if uri.startswith("file://"):
-        uri = uri
-        path = uri[7:] # remove file:// prefix
+    if not uri.startswith("file://"):
+        gfile = gio.File(path=uri)
     else:
-        path = uri
-        uri = "file://"+path
+        gfile = gio.File(uri=uri)
     if display_name == None:
-        display_name = basename(path)
+        display_name = gfile.get_basename()
     
     # If we have a directory only return one action
-    if isdir(path):
-        return [CopyToClipboardAction( _("Location"), path)]
+    if isdir(gfile.get_path()):
+        return [CopyToClipboardAction( _("Location"), gfile.get_path())]
         
     try:
-        fileinfo = gnomevfs.get_file_info(uri, gnomevfs.FILE_INFO_GET_MIME_TYPE | gnomevfs.FILE_INFO_FOLLOW_LINKS)
+        fileinfo = gfile.query_info("standard::content-type")
     except Exception, msg:
-        LOGGER.error("Could not retrieve MIME type of %s: %s", uri, msg)
+        LOGGER.error("Could not retrieve content type of %s: %s", gfile.get_path(), msg)
         return []
-    mime = fileinfo.mime_type
+    
     actions = []
     
-    mime_default_cmd = gnomevfs.mime_get_default_application(mime)
-    if mime_default_cmd != None:
-        mime_default_cmd = mime_default_cmd[2]
-    mime_apps = gnomevfs.mime_get_all_applications(mime)
-    for app in mime_apps:
-        # 0: .desktop file (str)
-        # 1: name (str)
-        # 2: command (str)
-        # 3: can open multiple files (bool)
-        # 4: expects_uri (int)
-        # 5: supported uri schemes (list)
-        if (mime_default_cmd == None or app[2] != mime_default_cmd) and app[2] != None:
-            cmd = app[2]
-            args = [path]
+    default_appinfo = gio.app_info_get_default_for_type(fileinfo.get_content_type(), True)
+    for appinfo in gio.app_info_get_all_for_type(fileinfo.get_content_type()):
+        if default_appinfo == None \
+        or appinfo.get_executable() != default_appinfo.get_executable():
+            cmd = appinfo.get_executable()
+            args = [gfile.get_path ()]
             
             cmd_args = cmd.split(" ")
             if len(cmd_args) > 0:
@@ -63,10 +53,10 @@
                 args = cmd_args[1:] + args
             
             actions.append( OpenWithApplicationAction(display_name, cmd, args,
-                    display_program_name=app[1]) )
-    
-    actions.append( GoToLocationAction(display_name, uri) )
-    actions.append( SendFileViaEmailAction(display_name, uri) )        
-    actions.append( CopyToClipboardAction( _("URL of %s") % display_name, path) )
+                    display_program_name=appinfo.get_name()) ) 
+
+    actions.append( GoToLocationAction(display_name, gfile.get_uri ()) )
+    actions.append( SendFileViaEmailAction(display_name, gfile.get_uri ()) )        
+    actions.append( CopyToClipboardAction( _("URL of %s") % display_name, gfile.get_path ()) )
         
     return actions

Modified: trunk/deskbar/handlers/actions/OpenFileAction.py
==============================================================================
--- trunk/deskbar/handlers/actions/OpenFileAction.py	(original)
+++ trunk/deskbar/handlers/actions/OpenFileAction.py	Sat Nov  1 13:51:32 2008
@@ -1,8 +1,7 @@
 from deskbar.core.Utils import url_show_file
 from gettext import gettext as _
-from os.path import exists
 import deskbar.interfaces.Action
-import gnomevfs
+import gio
 import logging
 
 LOGGER = logging.getLogger(__name__) 
@@ -25,27 +24,25 @@
     def get_icon(self):
         return "gtk-open"
     
-    def _get_unesacped_url_without_protocol(self):
-        url = self._url[7:]
-        if not self._escape:
-            url = gnomevfs.unescape_string_for_display(url)
-        return url
+    def _get_unescaped_url_without_protocol(self):
+        return gio.File(uri=self._url).get_path()
     
     def is_valid(self):
-        url = self._get_unesacped_url_without_protocol()
+        gfile = gio.File (uri=self._url)
 
-        if not exists(url):
-            LOGGER.debug("File %s does not exist", url)
+        if not gfile.query_exists():
+            LOGGER.debug("File %s does not exist", gfile.get_uri ())
             return False
         else:
-            try:
-                mime_type = gnomevfs.get_mime_type(url)
-                returnval = gnomevfs.mime_get_default_application(mime_type) != None
-            except RuntimeError, e:
+            try: 
+                fileinfo = gfile.query_info("standard::content-type")
+                returnval = gio.app_info_get_default_for_type(
+                                fileinfo.get_content_type(), True) != None
+            except Exception, e:
                 # get_mime_type throws a RuntimeException when something went wrong
                 returnval = False
         if not returnval:
-            LOGGER.debug("File %s has no default application", url)
+            LOGGER.debug("File %s has no default application", gfile.get_uri ())
         return returnval
     
     def get_hash(self):
@@ -58,4 +55,4 @@
         url_show_file(self._url, escape=self._escape)
         
     def get_tooltip(self, text=None):
-        return self._get_unesacped_url_without_protocol()
+        return self._get_unescaped_url_without_protocol()

Modified: trunk/deskbar/handlers/actions/OpenWithNautilusAction.py
==============================================================================
--- trunk/deskbar/handlers/actions/OpenWithNautilusAction.py	(original)
+++ trunk/deskbar/handlers/actions/OpenWithNautilusAction.py	Sat Nov  1 13:51:32 2008
@@ -1,6 +1,6 @@
 from deskbar.handlers.actions.OpenWithApplicationAction import OpenWithApplicationAction
 from gettext import gettext as _
-import gnomevfs
+import gio
 
 class OpenWithNautilusAction(OpenWithApplicationAction):
     """
@@ -22,7 +22,7 @@
         return "file-manager"
     
     def get_verb(self):
-        uri_scheme = gnomevfs.get_uri_scheme(self._url)
+        uri_scheme = gio.File(uri=self._url).get_uri_scheme()
         
         if uri_scheme in self.NETWORK_URIS:
             return _("Open network place %s") % "<b>%(name)s</b>"
@@ -32,4 +32,4 @@
             return _("Open location %s") % "<b>%(name)s</b>"
         
     def get_tooltip(self, text=None):
-        return self._url
\ No newline at end of file
+        return gio.File(uri=self._url).get_parse_name()
\ No newline at end of file

Modified: trunk/deskbar/handlers/beagle-live.py
==============================================================================
--- trunk/deskbar/handlers/beagle-live.py	(original)
+++ trunk/deskbar/handlers/beagle-live.py	Sat Nov  1 13:51:32 2008
@@ -12,7 +12,7 @@
 import re
 import deskbar, deskbar.interfaces.Module
 import deskbar.interfaces.Match
-import gnomevfs
+import gio
 import logging
 import threading
 
@@ -291,7 +291,7 @@
 class OpenIMLogAction(OpenWithApplicationAction):
     def __init__(self, name, uri, client, snippet=None):
         OpenWithApplicationAction.__init__(self, name, "beagle-imlogviewer", [])
-        self._uri = gnomevfs.get_local_path_from_uri(uri)
+        self._uri = gio.File(uri=uri).get_path ()
         self._client = client
         
     def get_icon(self):
@@ -317,7 +317,7 @@
 class OpenWebHistoryAction(ShowUrlAction):
     def __init__(self, name, uri, escaped_uri):
         ShowUrlAction.__init__(self, name, uri)
-        self._display_uri = gnomevfs.unescape_string_for_display(escaped_uri)
+        self._display_uri = gio.File (uri=escaped_uri).get_parse_name()
         
     def get_icon(self):
         return "system-search"
@@ -437,7 +437,7 @@
             # For files inside archives only work with the archive itsself
             result["escaped_uri"] = result["escaped_uri"].split('#')[0]
             # Unescape URI again
-            unescaped_uri = gnomevfs.unescape_string_for_display(result["escaped_uri"])
+            unescaped_uri = gio.File(uri=result["escaped_uri"]).get_parse_name()
             if not result.has_key("inside_archive"):
                 result["inside_archive"] = "false"
             

Modified: trunk/deskbar/handlers/files.py
==============================================================================
--- trunk/deskbar/handlers/files.py	(original)
+++ trunk/deskbar/handlers/files.py	Sat Nov  1 13:51:32 2008
@@ -11,14 +11,13 @@
 import deskbar, deskbar.core.Indexer
 import deskbar.interfaces.Match
 import deskbar.interfaces.Module
-import gnomevfs
+import gio
 import gtk
 import logging
 import os
 import urllib
 
 LOGGER = logging.getLogger(__name__)
-MONITOR = gnomevfs.VolumeMonitor()
 
 HANDLERS = ["FileFolderHandler"]
 
@@ -76,6 +75,7 @@
     def __init__(self):
         deskbar.interfaces.Module.__init__(self)
         self._locations = {}
+        self._volume_monitor = gio.volume_monitor_get()
         
     def initialize(self):
         # Gtk Bookmarks --
@@ -102,24 +102,17 @@
                 gtk_bookmark_match = GtkBookmarkMatch(name, loc, priority=self.get_priority())
                 result.append(gtk_bookmark_match)
         
-        # Volumes        
-        # We search both mounted_volumes() and connected_drives.
-        # This way an audio cd in the cd drive will show up both
-        # on "au" and "cd".
-        # Drives returned by mounted_volumes() and connected_drives()
-        # does not have the same display_name() strings.
-        for drive in MONITOR.get_mounted_volumes() + MONITOR.get_connected_drives():
-            if not drive.is_user_visible() : continue
-            if not drive.is_mounted () : continue
-            display_name = drive.get_display_name()
-            if display_name == None or not display_name.lower().startswith(query): continue
+        # Mounts
+        for mount in self._volume_monitor.get_mounts():
+            if not mount.get_name().lower().startswith(query): continue
             
-            uri = drive.get_activation_uri()
+            uri = mount.get_root()
             if uri != None:
-                vol_match = VolumeMatch (display_name, uri, drive.get_icon(), priority=self.get_priority())
+                icon = "drive-harddisk"
+                vol_match = VolumeMatch (mount.get_name(), uri.get_path(), icon, priority=self.get_priority())
                 result.append (vol_match)
         
-        self._emit_query_ready(query, result )
+        self._emit_query_ready(query, result)
     
     def _query_filefolder(self, query, is_file):
         completions, prefix, relative = filesystem_possible_completions(query, is_file)
@@ -134,15 +127,22 @@
             
         for line in file(GTK_BOOKMARKS_FILE):
             line = line.strip()
+             # First column is url, second the label
+            cols = line.split(" ", 1)
             try:
-                if gnomevfs.exists(line):
-                    uri = urllib.unquote(line)
-                    head, tail = split(uri)
-                    # Sometimes tail=="" when for example using "file:///tmp"
-                    if tail == "":
-                         i = head.rfind("/")
-                         tail = head[i+1:]
-                    self._locations[tail.lower()] = (tail, line)
+                uri = urllib.unquote(cols[0])
+                
+                gfile = gio.File(uri=uri)
+                if gfile.query_exists():
+                    name = gfile.get_basename().lower()
+                    
+                    if len(cols) > 1:
+                        display_name = cols[1]
+                    else:
+                        display_name = name    
+                    
+                    self._locations[name] = (display_name, gfile.get_path())
+                    self._locations[display_name] = (display_name, gfile.get_path())
             except Exception, msg:
                 LOGGER.exception(msg)
                 

Modified: trunk/deskbar/handlers/gdmactions.py
==============================================================================
--- trunk/deskbar/handlers/gdmactions.py	(original)
+++ trunk/deskbar/handlers/gdmactions.py	Sat Nov  1 13:51:32 2008
@@ -11,7 +11,7 @@
 import deskbar.interfaces.Match
 import deskbar.interfaces.Module
 import gnome.ui
-import gobject
+import glib
 import gtk
 
 HANDLERS = ["GdmHandler"]
@@ -90,12 +90,12 @@
             return False
         
     def run(self):
-        self.countdown_thread = gobject.timeout_add(1000, self.countdown_func)
+        self.countdown_thread = glib.timeout_add(1000, self.countdown_func)
         return gtk.MessageDialog.run(self)
     
     def on_response(self, dialog, response):
         if response == gtk.RESPONSE_CANCEL and self.countdown_thread != None:
-            gobject.source_remove(self.countdown_thread)
+            glib.source_remove(self.countdown_thread)
 
 class GpmAction(deskbar.interfaces.Action):
     

Modified: trunk/deskbar/handlers/mozilla.py
==============================================================================
--- trunk/deskbar/handlers/mozilla.py	(original)
+++ trunk/deskbar/handlers/mozilla.py	Sat Nov  1 13:51:32 2008
@@ -128,10 +128,11 @@
         show_all_radio.set_active(not new_show_only_primary)
         show_primary_radio.set_active(new_show_only_primary)
     
-    glade = gtk.glade.XML(os.path.join(deskbar.SHARED_DATA_DIR, "mozilla-search.glade"))
-    dialog = glade.get_widget("prefs-dialog")
-    show_all_radio = glade.get_widget("show_all_radio")
-    show_primary_radio = glade.get_widget("show_primary_radio")
+    builder = gtk.Builder()
+    builder.add_from_file(os.path.join(deskbar.SHARED_DATA_DIR, "mozilla-search.ui"))
+    dialog = builder.get_object("prefs-dialog")
+    show_all_radio = builder.get_object("show_all_radio")
+    show_primary_radio = builder.get_object("show_primary_radio")
     
     show_primary_radio.set_active(SHOW_ONLY_PRIMARY)
     show_all_radio.set_active(not SHOW_ONLY_PRIMARY)

Modified: trunk/deskbar/handlers/programs.py
==============================================================================
--- trunk/deskbar/handlers/programs.py	(original)
+++ trunk/deskbar/handlers/programs.py	Sat Nov  1 13:51:32 2008
@@ -11,7 +11,7 @@
 import deskbar.interfaces.Match
 import deskbar.interfaces.Module
 import glob
-import gobject
+import glib
 import gtk
 import os
 import re
@@ -228,8 +228,8 @@
                     stdin=prog.stdout)
     
                 # Reap the processes when they have done
-                gobject.child_watch_add(zenity.pid, lambda pid, code: None)
-                gobject.child_watch_add(prog.pid, lambda pid, code: None)
+                glib.child_watch_add(zenity.pid, lambda pid, code: None)
+                glib.child_watch_add(prog.pid, lambda pid, code: None)
                 return
             except:
                 #No zenity, get out of the if, and launch without GUI

Modified: trunk/deskbar/handlers/templates.py
==============================================================================
--- trunk/deskbar/handlers/templates.py	(original)
+++ trunk/deskbar/handlers/templates.py	Sat Nov  1 13:51:32 2008
@@ -5,14 +5,15 @@
 import deskbar.interfaces.Action
 import deskbar.interfaces.Match
 import deskbar.interfaces.Module 
-import gnomevfs
+import gio
 import gtk
+import logging
 import os
 import os.path
 import shutil
 import subprocess
 
-
+LOGGER = logging.getLogger(__name__)
 HANDLERS = ["TemplateHandler"]
 
 class TemplateFile(object):
@@ -176,38 +177,40 @@
     def __init__(self):
         deskbar.interfaces.Module.__init__(self)    
         self.indexer = deskbar.core.Indexer.Indexer()
-        self.monitor_id = None
+        self.monitors = []
 
     def _add_template_file(self, path):
         template_file = TemplateFile(path)
         match = TemplateMatch(template_file)
         self.indexer.add(match.get_name(), match)
     
-    def _templates_dir_monitor_cb(self, monitor_uri, info_uri, event_type):
-        if event_type == gnomevfs.MONITOR_EVENT_CREATED:
-            # strip "file://"
-            self._add_template_file(info_uri[7:])
+    def _templates_dir_monitor_cb(self, monitor, file, other_file, event_type):
+        self._add_template_file(file.get_path())
  
     def initialize(self):
         templates_dir = deskbar.core.Utils.get_xdg_user_dir(deskbar.core.Utils.DIRECTORY_TEMPLATES)
 
-        if templates_dir != None:
-            for f in os.listdir(templates_dir):
-                # Skip backup files and hidden files
-                if f.endswith("~") or f.startswith("."):
-                    continue
-                self._add_template_file(os.path.join(templates_dir, f))
-    
-            self.monitor_id = gnomevfs.monitor_add(templates_dir,
-                                 gnomevfs.MONITOR_DIRECTORY,
-                                 self._templates_dir_monitor_cb)
-
-    def stop(self):
-        if self.monitor_id != None:
-            gnomevfs.monitor_cancel(self.monitor_id)
+        for f in os.listdir(templates_dir):
+            # Skip backup files and hidden files
+            if f.endswith("~") or f.startswith("."):
+                continue
+            self._add_template_file(os.path.join(templates_dir, f))
+
+        gfile = gio.File(path=templates_dir)
+        try:
+            filemonitor = gfile.monitor_directory()
+            if filemonitor != None:
+                filemonitor.connect ("changed", self._templates_dir_monitor_cb)
+                self.monitors.append(filemonitor)
+        except Exception, e:
+            LOGGER.exception(e)
 
     def query(self, query):
         matches = self.indexer.look_up(query)
         self.set_priority_for_matches(matches)
         self._emit_query_ready(query, matches)
 
+    def stop(self):
+        for filemonitor in self.monitors:
+            filemonitor.cancel()
+    
\ No newline at end of file

Modified: trunk/deskbar/handlers/yahoo.py
==============================================================================
--- trunk/deskbar/handlers/yahoo.py	(original)
+++ trunk/deskbar/handlers/yahoo.py	Sat Nov  1 13:51:32 2008
@@ -228,7 +228,6 @@
     RESULT_ELEMENT = "Result"
     TITLE_ELMENT = "Title"
     SUMMARY_ELEMENT = "Summary"
-    URL_ELEMENT = "Url"
     CLICK_URL_ELEMENT = "ClickUrl"
     MIME_TYPE_ELEMENT = "MimeType"
      
@@ -237,7 +236,6 @@
         # Elements we want to store the contents of
         self._elements = set([self.TITLE_ELMENT,
                               self.SUMMARY_ELEMENT,
-                              self.URL_ELEMENT,
                               self.CLICK_URL_ELEMENT,
                               self.MIME_TYPE_ELEMENT])
         

Modified: trunk/deskbar/ui/About.py
==============================================================================
--- trunk/deskbar/ui/About.py	(original)
+++ trunk/deskbar/ui/About.py	Sat Nov  1 13:51:32 2008
@@ -1,14 +1,16 @@
 # -*- coding: utf-8 -*-
-from gettext import gettext as _
+from deskbar.core.Utils import launch_default_for_uri
 from deskbar.defs import VERSION
-import gtk, gtk.gdk, gnomevfs
+from gettext import gettext as _
+import gtk
+import gtk.gdk
 
 
 def on_email(about, mail):
-    gnomevfs.url_show("mailto:%s"; % mail)
+    launch_default_for_uri("mailto:%s"; % mail)
 
 def on_url(about, link):
-    gnomevfs.url_show(link)
+    launch_default_for_uri(link)
 
 gtk.about_dialog_set_email_hook(on_email)
 gtk.about_dialog_set_url_hook(on_url)

Modified: trunk/deskbar/ui/AbstractCuemiacView.py
==============================================================================
--- trunk/deskbar/ui/AbstractCuemiacView.py	(original)
+++ trunk/deskbar/ui/AbstractCuemiacView.py	Sat Nov  1 13:51:32 2008
@@ -1,6 +1,6 @@
 import gtk
 import gtk.gdk
-import gobject
+import glib
 from gettext import gettext as _
 import deskbar.core.Utils
 import deskbar.interfaces.View
@@ -32,7 +32,7 @@
         deskbar.interfaces.View.__init__(self, controller, model)
         self._do_clear = True
         
-        self._model.connect("query-ready", lambda s,m: gobject.idle_add(self.append_matches, s, m))
+        self._model.connect("query-ready", lambda s,m: glib.idle_add(self.append_matches, s, m))
         
         # VBox 
         self._create_vbox_main()

Modified: trunk/deskbar/ui/CuemiacAlignedView.py
==============================================================================
--- trunk/deskbar/ui/CuemiacAlignedView.py	(original)
+++ trunk/deskbar/ui/CuemiacAlignedView.py	Sat Nov  1 13:51:32 2008
@@ -1,6 +1,6 @@
 import gtk
 import gtk.gdk
-import gobject
+import glib
 import gnomeapplet
 from deskbar.core.GconfStore import GconfStore
 from deskbar.ui.AbstractCuemiacView import AbstractCuemiacView
@@ -79,7 +79,7 @@
     def append_matches (self, sender, matches):
         AbstractCuemiacView.append_matches(self, sender, matches)
         # Wait a little bit to resize, otherwise we get a size that's too small
-        gobject.timeout_add(200, self.__adjust_popup_size)
+        glib.timeout_add(200, self.__adjust_popup_size)
     
     def __on_window_key_press_event(self, window, event):
         if event.keyval == gtk.keysyms.Escape:

Modified: trunk/deskbar/ui/CuemiacWindowController.py
==============================================================================
--- trunk/deskbar/ui/CuemiacWindowController.py	(original)
+++ trunk/deskbar/ui/CuemiacWindowController.py	Sat Nov  1 13:51:32 2008
@@ -1,6 +1,5 @@
 import gtk
 import gtk.gdk
-import gnomevfs
 import logging
 import deskbar
 import deskbar.interfaces.Controller
@@ -55,7 +54,7 @@
         prefs.show_run_hide(self._view.get_toplevel())
         
     def on_show_help(self, sender):
-        gnomevfs.url_show("ghelp:deskbar")
+        deskbar.core.Utils.launch_default_for_uri_and_scheme("ghelp:deskbar")
         
     def on_query_entry_changed(self, entry):
         self._view.set_clear()

Modified: trunk/deskbar/ui/DeskbarApplet.py
==============================================================================
--- trunk/deskbar/ui/DeskbarApplet.py	(original)
+++ trunk/deskbar/ui/DeskbarApplet.py	Sat Nov  1 13:51:32 2008
@@ -2,6 +2,7 @@
 import gtk
 import deskbar
 import os.path
+import glib
 import gobject
 from deskbar.ui.AbstractCuemiacDeskbarIcon import AbstractCuemiacDeskbarIcon
 from deskbar.ui.cuemiac.CuemiacHistory import CuemiacHistoryView, CuemiacHistoryPopup
@@ -187,7 +188,7 @@
         self.applet.handler_block(self.handler_size_allocate_id)
         self.tray.set_button_image_from_pixbuf(pixbuf)
         # If we unblock immediately we get an infinite loop
-        gobject.timeout_add(100, self.unblock_allocate)
+        glib.timeout_add(100, self.unblock_allocate)
         
     def unblock_allocate(self):
         self.applet.handler_unblock (self.handler_size_allocate_id)

Modified: trunk/deskbar/ui/cuemiac/CuemiacActionsTreeView.py
==============================================================================
--- trunk/deskbar/ui/cuemiac/CuemiacActionsTreeView.py	(original)
+++ trunk/deskbar/ui/cuemiac/CuemiacActionsTreeView.py	Sat Nov  1 13:51:32 2008
@@ -1,3 +1,4 @@
+import glib
 import gtk
 import gtk.gdk
 import gobject
@@ -93,7 +94,7 @@
     
     def __select_path(self, path):
         self.get_selection().select_path( path )
-        gobject.idle_add(self.scroll_to_cell, path )
+        glib.idle_add(self.scroll_to_cell, path )
         self.set_cursor_on_cell( path )
        
     def __on_query_tooltip(self, widget, x, y, keyboard_mode, tooltip):

Modified: trunk/deskbar/ui/cuemiac/CuemiacHeader.py
==============================================================================
--- trunk/deskbar/ui/cuemiac/CuemiacHeader.py	(original)
+++ trunk/deskbar/ui/cuemiac/CuemiacHeader.py	Sat Nov  1 13:51:32 2008
@@ -1,6 +1,6 @@
 import gtk
 import gtk.gdk
-import gobject
+import glib
 
 from gettext import gettext as _
 
@@ -42,7 +42,7 @@
         self.modify_bg (gtk.STATE_NORMAL, self.style.bg[gtk.STATE_SELECTED])
         self.label.modify_fg (gtk.STATE_NORMAL, self.style.fg[gtk.STATE_SELECTED])
         self.entry.modify_bg (gtk.STATE_NORMAL, self.style.bg[gtk.STATE_SELECTED])
-        gobject.timeout_add (100, self._enable_styles) # reenable style changes
+        glib.timeout_add (100, self._enable_styles) # reenable style changes
     
     def _enable_styles (self):
         self._ignore_style = False

Modified: trunk/deskbar/ui/cuemiac/CuemiacTreeView.py
==============================================================================
--- trunk/deskbar/ui/cuemiac/CuemiacTreeView.py	(original)
+++ trunk/deskbar/ui/cuemiac/CuemiacTreeView.py	Sat Nov  1 13:51:32 2008
@@ -1,3 +1,4 @@
+import glib
 import gtk
 import gtk.gdk
 import gobject
@@ -366,7 +367,7 @@
     
     def __select_path(self, path):
         self.get_selection().select_path( path )
-        gobject.idle_add(self.scroll_to_cell, path )
+        glib.idle_add(self.scroll_to_cell, path )
         self.set_cursor_on_cell( path )
         
     def __select_iter(self, iter):

Modified: trunk/deskbar/ui/cuemiac/LingeringSelectionWindow.py
==============================================================================
--- trunk/deskbar/ui/cuemiac/LingeringSelectionWindow.py	(original)
+++ trunk/deskbar/ui/cuemiac/LingeringSelectionWindow.py	Sat Nov  1 13:51:32 2008
@@ -1,5 +1,5 @@
 import gtk
-import gobject
+import glib
 
 class LingeringSelectionWindow (gtk.Window):
 	"""
@@ -59,7 +59,5 @@
 		Display for a short while
 		"""
 		self.show_all ()
-		gobject.timeout_add (self.linger_time, self.hide)
-		
-		
+		glib.timeout_add (self.linger_time, self.hide)
 			

Modified: trunk/deskbar/ui/preferences/DeskbarPreferences.py
==============================================================================
--- trunk/deskbar/ui/preferences/DeskbarPreferences.py	(original)
+++ trunk/deskbar/ui/preferences/DeskbarPreferences.py	Sat Nov  1 13:51:32 2008
@@ -1,6 +1,5 @@
 import gtk
 import gtk.gdk
-import gtk.glade
 import traceback
 from gettext import gettext as _
 from os.path import join, basename
@@ -41,9 +40,10 @@
         
         self.module_list = self._model.get_module_list()
     
-        self.glade = gtk.glade.XML(join(deskbar.SHARED_DATA_DIR, "prefs-dialog.glade"))
+        self.builder = gtk.Builder()
+        self.builder.add_from_file(join(deskbar.SHARED_DATA_DIR, "prefs-dialog.ui"))
         
-        self.dialog = self.glade.get_widget("preferences")
+        self.dialog = self.builder.get_object("preferences")
         
         # Since capuchin is optional we have to check if self.capuchin is None each time we use it
         self.__capuchin = None
@@ -71,7 +71,7 @@
         self.sync_ui()
 
     def __setup_active_modules_tab(self):
-        container = self.glade.get_widget("handlers")
+        container = self.builder.get_object("handlers")
         self.moduleview = ModuleListView(self.module_list)
         self.moduleview.connect ("row-toggled", self.on_module_toggled)
         self.moduleview.get_selection().connect("changed", self.on_module_selected)
@@ -81,16 +81,16 @@
         container.add(self.moduleview)
         
         # Buttons beneath list
-        self.more_button = self.glade.get_widget("more")
+        self.more_button = self.builder.get_object("more")
         self.more_button.set_sensitive(False)
         self.more_button.connect("clicked", self.on_more_button_clicked)
         self.more_button_callback = None
-        self.reload_button = self.glade.get_widget("reload")
+        self.reload_button = self.builder.get_object("reload")
         self.reload_button.connect("clicked", self.on_reload_button_clicked)
         self.reload_button.set_tooltip_markup(("Reload all extensions"))
 
         # Info are at the bottom
-        self.info_area = self.glade.get_widget("info_area")
+        self.info_area = self.builder.get_object("info_area")
         self.old_info_message = None
         info_text = _("<i><small>Drag and drop an extension to change its order.</small></i>")
         self.default_info = InfoBox(info_text, gtk.STOCK_DIALOG_INFO)
@@ -98,38 +98,38 @@
         self.info_area.add(self.default_info)
         
         # Buttons on the right
-        self.button_top = self.glade.get_widget("button_top")
+        self.button_top = self.builder.get_object("button_top")
         self.button_top.connect("clicked", self.on_button_top_clicked)
-        self.button_up = self.glade.get_widget("button_up")
+        self.button_up = self.builder.get_object("button_up")
         self.button_up.connect("clicked", self.on_button_up_clicked)
-        self.button_down = self.glade.get_widget("button_down")
+        self.button_down = self.builder.get_object("button_down")
         self.button_down.connect("clicked", self.on_button_down_clicked)
-        self.button_bottom = self.glade.get_widget("button_bottom")
+        self.button_bottom = self.builder.get_object("button_bottom")
         self.button_bottom.connect("clicked", self.on_button_bottom_clicked)
 
     def __setup_general_tab(self):
         self.keyboard_shortcut_entry = AccelEntry()
         self.keyboard_shortcut_entry.connect('accel-edited', self.on_keyboard_shortcut_entry_changed)
         self.keyboard_shortcut_entry.get_widget().show()
-        self.glade.get_widget("keybinding_entry_container").pack_start(self.keyboard_shortcut_entry.get_widget(), False)
+        self.builder.get_object("keybinding_entry_container").pack_start(self.keyboard_shortcut_entry.get_widget(), False)
         
         if self._model.get_ui_name() == deskbar.BUTTON_UI_NAME:
-            spinbutton = self.glade.get_widget("width")
+            spinbutton = self.builder.get_object("width")
             spinbutton.set_value(self._model.get_entry_width())
             spinbutton.connect('value-changed', self.on_entry_width_changed)
         else:
-            frame = self.glade.get_widget("frame_width")
+            frame = self.builder.get_object("frame_width")
             frame.hide()
         
         self.use_selection = self._model.get_use_selection()
-        self.use_selection_box = self.glade.get_widget("use_selection")
+        self.use_selection_box = self.builder.get_object("use_selection")
         self.use_selection_box.connect('toggled', self.on_use_selection_toggled)
 
-        self.sticktopanel_checkbox = self.glade.get_widget("sticktopanel_checkbox")
+        self.sticktopanel_checkbox = self.builder.get_object("sticktopanel_checkbox")
         self.sticktopanel_checkbox.connect("toggled", self.on_ui_changed)
        
     def __setup_drag_and_drop(self):
-        big_box = self.glade.get_widget("big_box")
+        big_box = self.builder.get_object("big_box")
         self.TARGET_URI_LIST, self.TARGET_NS_URL = range(2)
         DROP_TYPES = [('text/uri-list', 0, self.TARGET_URI_LIST),
                       ('_NETSCAPE_URL', 0, self.TARGET_NS_URL),
@@ -146,14 +146,14 @@
         self.disabledmoduleview.get_selection().connect("changed", self.on_disabled_module_changed)
         self.disabledmoduleview.show()
         
-        disabledhandlers = self.glade.get_widget("disabledhandlers")
+        disabledhandlers = self.builder.get_object("disabledhandlers")
         disabledhandlers.add(self.disabledmoduleview)
         
-        self.disabledhandlers_box = self.glade.get_widget("disabledhandlers_box")
+        self.disabledhandlers_box = self.builder.get_object("disabledhandlers_box")
 
     def __select_first_tab(self):
         """ Select first tab """
-        notebook = self.glade.get_widget("notebook1")
+        notebook = self.builder.get_object("notebook1")
         current = notebook.get_current_page()
         if (current != 0):
             for i in range(current):
@@ -168,7 +168,7 @@
             self.ROW_SEPERATOR_STRING = "<-->"
             self.ALL_EXTENSIONS_TEXT = _("All Extensions")
             
-            self.combobox_tags = self.glade.get_widget("combobox_tags")
+            self.combobox_tags = self.builder.get_object("combobox_tags")
             self.combobox_tags.set_row_separator_func( lambda model, iter: model[iter][0] == self.ROW_SEPERATOR_STRING )  
             
             tag_cell = gtk.CellRendererText ()
@@ -182,7 +182,7 @@
             self.combobox_tags.set_model (self.tags_list)
             self.combobox_tags.connect ("changed", self.on_combobox_tags_changed)
             
-            container = self.glade.get_widget("newhandlers")
+            container = self.builder.get_object("newhandlers")
             
             self.webmoduleview = WebModuleListView(self.web_module_list)
             self.webmoduleview.get_selection().connect("changed", self.on_webmodule_selected)
@@ -190,10 +190,10 @@
             self.webmoduleview.show()
             container.add(self.webmoduleview)
               
-            self.install = self.glade.get_widget("install")
-            self.check_new_extensions = self.glade.get_widget("check_new_extensions")
-            self.check = self.glade.get_widget("check")
-            self.update = self.glade.get_widget("update")
+            self.install = self.builder.get_object("install")
+            self.check_new_extensions = self.builder.get_object("check_new_extensions")
+            self.check = self.builder.get_object("check")
+            self.update = self.builder.get_object("update")
               
             self.check.connect('clicked', self.on_check_handlers)
             self.update.connect('clicked', self.on_update_handler)
@@ -202,12 +202,12 @@
             self.install.connect('clicked', self.on_install_handler)
             self.install.set_sensitive(False)
         else:
-            notebook = self.glade.get_widget("notebook1")
-            tab = self.glade.get_widget("extensions_vbox")
+            notebook = self.builder.get_object("notebook1")
+            tab = self.builder.get_object("extensions_vbox")
             notebook.remove_page( notebook.page_num(tab) )
             # Remove buttons in handlers tab
-            self.glade.get_widget("check").destroy()
-            self.glade.get_widget("update").destroy()
+            self.builder.get_object("check").destroy()
+            self.builder.get_object("update").destroy()
     
     def _get_capuchin_instance(self):
         if self.__capuchin == None:
@@ -631,7 +631,7 @@
             self.moduleview.grab_focus()
         
     def on_ui_changed(self, check):
-        frame = self.glade.get_widget("frame_width")
+        frame = self.builder.get_object("frame_width")
         if self.sticktopanel_checkbox.get_active():
             self._model.set_ui_name(deskbar.BUTTON_UI_NAME)
             frame.show()

Modified: trunk/deskbar/ui/preferences/ModuleListView.py
==============================================================================
--- trunk/deskbar/ui/preferences/ModuleListView.py	(original)
+++ trunk/deskbar/ui/preferences/ModuleListView.py	Sat Nov  1 13:51:32 2008
@@ -1,3 +1,4 @@
+import glib
 import gtk
 import gobject
 from gettext import gettext as _
@@ -76,7 +77,7 @@
     def scroll_to_iter(self, iter):
         path = self.get_model().get_path(iter)
         self.get_selection().select_path( path )
-        gobject.idle_add(self.scroll_to_cell, path )
+        glib.idle_add(self.scroll_to_cell, path )
         self.set_cursor_on_cell( path )
 
 if gtk.pygtk_version < (2,8,0):

Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in	(original)
+++ trunk/po/POTFILES.in	Sat Nov  1 13:51:32 2008
@@ -2,9 +2,9 @@
 data/deskbar-applet.schemas.in
 data/Deskbar_Applet.xml
 data/Deskbar_Applet.server.in.in
-data/prefs-dialog.glade
-data/smart-bookmarks.glade
-data/mozilla-search.glade
+data/prefs-dialog.ui
+data/smart-bookmarks.ui
+data/mozilla-search.ui
 deskbar/core/BrowserMatch.py
 deskbar/core/Categories.py
 deskbar/core/DeskbarHistory.py



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]