This is an automated email from the git hooks/post-receive script.

landry pushed a 
commit to branch 
master
in repository apps/gigolo.

commit d73b49a66b86cc8750cc1a5fe8039d007bc34a9b
Author: Sean Davis <smd.seanda...@gmail.com>
Date:   Mon Oct 22 21:57:47 2018 -0400

    Port to GtkBuilder, replace GtkAction, clear out remaining deprecations
---
 .gitignore             |   2 +
 TODO                   |  62 -----
 configure.ac.in        |   1 +
 src/Makefile.am        |  13 +-
 src/gigolo.ui          | 609 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/menubuttonaction.c | 119 ++--------
 src/menubuttonaction.h |   9 +-
 src/window.c           | 568 ++++++++++++++++++++++-----------------------
 8 files changed, 917 insertions(+), 466 deletions(-)

diff --git a/.gitignore b/.gitignore
index 8384052..a3ad8fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,4 +22,6 @@ po/stamp-it
 src/*.o
 src/.deps/
 src/gigolo
+src/gigolo.ui~
+src/gigolo_ui.h
 stamp-h1
diff --git a/TODO b/TODO
index 4511eda..55a3d8d 100644
--- a/TODO
+++ b/TODO
@@ -2,65 +2,3 @@
 - libnotify - to notify about new mounts or disappeared mounts (ftp timeout, 
etc.)
 - split GigoloApp from GigoloWindow
 - Samba mounts with set credentials can fail
-
-=== GtkUiManager deprecations ===
-window.c:1333:2: warning: ‘gtk_ui_manager_insert_action_group’ is deprecated
-window.c:1334:2: warning: ‘gtk_ui_manager_get_accel_group’ is deprecated
-window.c:1344:2: warning: ‘gtk_ui_manager_add_ui_from_string’ is deprecated
-window.c:1579:2: warning: ‘gtk_ui_manager_new’ is deprecated
-window.c:1581:2: warning: ‘gtk_ui_manager_get_widget’ is deprecated
-window.c:1582:2: warning: ‘gtk_ui_manager_get_widget’ is deprecated
-window.c:1583:2: warning: ‘gtk_ui_manager_get_widget’ is deprecated
-window.c:1584:2: warning: ‘gtk_ui_manager_get_widget’ is deprecated
-
-=== GtkAction deprecations ===
-window.c:337:2: warning: ‘gtk_toggle_action_get_active’ is deprecated
-window.c:1116:2: warning: ‘gtk_toggle_action_set_active’ is deprecated
-window.c:1116:2: warning: ‘gtk_toggle_action_get_type’ is deprecated
-
-window.c:356:2: warning: ‘gtk_radio_action_get_current_value’ is deprecated
-window.c:1125:2: warning: ‘gtk_radio_action_set_current_value’ is deprecated
-window.c:1125:2: warning: ‘gtk_radio_action_get_type’ is deprecated
-
-window.c:340:2: warning: ‘gtk_action_get_name’ is deprecated
-window.c:340:2: warning: ‘gtk_action_get_type’ is deprecated
-window.c:342:2: warning: ‘gtk_action_get_name’ is deprecated
-window.c:342:2: warning: ‘gtk_action_get_type’ is deprecated
-window.c:344:2: warning: ‘gtk_action_get_name’ is deprecated
-window.c:344:2: warning: ‘gtk_action_get_type’ is deprecated
-window.c:693:2: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:695:3: warning: ‘gtk_action_set_label’ is deprecated
-window.c:697:3: warning: ‘gtk_action_set_label’ is deprecated
-window.c:716:3: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:718:3: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:719:3: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:720:3: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:725:3: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:726:3: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:727:3: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:728:3: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:729:3: warning: ‘gtk_action_set_sensitive’ is deprecated
-window.c:1340:3: warning: ‘gtk_action_set_icon_name’ is deprecated
-window.c:1342:3: warning: ‘gtk_action_set_icon_name’ is deprecated
-menubuttonaction.c:49:1: warning: ‘gtk_action_get_type’ is deprecated
-menubuttonaction.c:112:2: warning: ‘gtk_action_get_proxies’ is deprecated
-menubuttonaction.c:112:2: warning: ‘gtk_action_get_type’ is deprecated
-menubuttonaction.c:151:2: warning: ‘gtk_action_get_type’ is deprecated
-menubuttonaction.c:182:2: warning: ‘gtk_action_get_type’ is deprecated
-
-window.c:1114:2: warning: ‘gtk_action_group_get_action’ is deprecated
-window.c:1123:2: warning: ‘gtk_action_group_get_action’ is deprecated
-window.c:1326:2: warning: ‘gtk_action_group_new’ is deprecated
-window.c:1327:2: warning: ‘gtk_action_group_set_translation_domain’ is 
deprecated
-window.c:1328:2: warning: ‘gtk_action_group_add_actions’ is deprecated
-window.c:1329:2: warning: ‘gtk_action_group_add_toggle_actions’ is deprecated
-window.c:1330:2: warning: ‘gtk_action_group_add_radio_actions’ is deprecated
-window.c:1332:2: warning: ‘gtk_action_group_add_action’ is deprecated
-window.c:1337:2: warning: ‘gtk_action_group_get_action’ is deprecated
-window.c:1593:2: warning: ‘gtk_action_group_get_action’ is deprecated
-window.c:1594:2: warning: ‘gtk_action_group_get_action’ is deprecated
-window.c:1595:2: warning: ‘gtk_action_group_get_action’ is deprecated
-window.c:1596:2: warning: ‘gtk_action_group_get_action’ is deprecated
-window.c:1597:2: warning: ‘gtk_action_group_get_action’ is deprecated
-window.c:1598:2: warning: ‘gtk_action_group_get_action’ is deprecated
-window.c:1601:2: warning: ‘gtk_action_group_get_action’ is deprecated
diff --git a/configure.ac.in b/configure.ac.in
index 97f0501..9dee7e5 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -7,6 +7,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 AC_CONFIG_SRCDIR([src/main.c])
 AC_CONFIG_HEADER(config.h)
+AM_MAINTAINER_MODE()
 
 AC_GNU_SOURCE
 AC_AIX
diff --git a/src/Makefile.am b/src/Makefile.am
index d96b04b..d4fb303 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -14,7 +14,8 @@ gigolo_SOURCES =                                              
                \
        bookmarkdialog.c bookmarkdialog.h                       \
        bookmarkeditdialog.c bookmarkeditdialog.h       \
        browsenetworkpanel.c browsenetworkpanel.h       \
-       preferencesdialog.c preferencesdialog.h
+       preferencesdialog.c preferencesdialog.h         \
+       gigolo_ui.h
 
 
 AM_CFLAGS = -DLOCALEDIR=\""$(localedir)"\"
@@ -23,3 +24,13 @@ AM_CFLAGS = -DLOCALEDIR=\""$(localedir)"\"
 INCLUDES = @GTK_CFLAGS@
 
 gigolo_LDADD = @GTK_LIBS@ $(INTLLIBS)
+
+if MAINTAINER_MODE
+
+BUILT_SOURCES = \
+       gigolo_ui.h
+
+gigolo_ui.h: gigolo.ui
+       exo-csource --static --strip-comments --strip-content --name=gigolo_ui 
$< >$@
+
+endif
diff --git a/src/gigolo.ui b/src/gigolo.ui
new file mode 100644
index 0000000..036b4ec
--- /dev/null
+++ b/src/gigolo.ui
@@ -0,0 +1,609 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
+<interface>
+  <requires lib="gtk+" version="3.20"/>
+  <object class="GtkWindow" id="gigolo_window">
+    <property name="name">GigoloWindow</property>
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">Gigolo</property>
+    <property name="icon_name">gtk-network</property>
+    <child>
+      <placeholder/>
+    </child>
+    <child>
+      <object class="GtkBox" id="vbox">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <child>
+          <object class="GtkMenuBar" id="menubar">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkMenuItem" id="menu_File">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">_File</property>
+                <property name="use_underline">True</property>
+                <child type="submenu">
+                  <object class="GtkMenu">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_Quit">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" 
translatable="yes">_Quit</property>
+                        <property name="use_underline">True</property>
+                        <accelerator key="q" signal="activate" 
modifiers="GDK_CONTROL_MASK"/>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkMenuItem" id="menu_Edit">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">_Edit</property>
+                <property name="use_underline">True</property>
+                <child type="submenu">
+                  <object class="GtkMenu">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_EditBookmarks">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">_Edit 
Bookmarks</property>
+                        <property name="use_underline">True</property>
+                        <accelerator key="b" signal="activate" 
modifiers="GDK_CONTROL_MASK"/>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkSeparatorMenuItem">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_Preferences">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" 
translatable="yes">_Preferences</property>
+                        <property name="use_underline">True</property>
+                        <accelerator key="p" signal="activate" 
modifiers="GDK_CONTROL_MASK"/>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkMenuItem" id="menu_View">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">_View</property>
+                <property name="use_underline">True</property>
+                <child type="submenu">
+                  <object class="GtkMenu">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkCheckMenuItem" 
id="menuitem_ShowToolbar">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" 
translatable="yes">_Toolbar</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkCheckMenuItem" id="menuitem_ShowPanel">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Side 
_Panel</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkCheckMenuItem" 
id="menuitem_ShowInSystray">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Status 
_Icon</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkSeparatorMenuItem">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkRadioMenuItem" 
id="menuitem_ViewSymbols">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">View as 
_Symbols</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_as_radio">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkRadioMenuItem" 
id="menuitem_ViewDetailed">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">View as 
_Detailed List</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_as_radio">True</property>
+                        <property name="group">menuitem_ViewSymbols</property>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkMenuItem" id="menu_Actions">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">_Actions</property>
+                <property name="use_underline">True</property>
+                <child type="submenu">
+                  <object class="GtkMenu">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_Connect">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" 
translatable="yes">_Connect</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_Disconnect">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" 
translatable="yes">_Disconnect</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkMenuItem" id="menu_Bookmarks">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="action_name">Bookmarks</property>
+                        <property name="label" 
translatable="yes">_Bookmarks</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkSeparatorMenuItem">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_Open">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" 
translatable="yes">_Open</property>
+                        <property name="use_underline">True</property>
+                        <accelerator key="o" signal="activate" 
modifiers="GDK_CONTROL_MASK"/>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_OpenTerminal">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Open in 
_Terminal</property>
+                        <property name="use_underline">True</property>
+                        <accelerator key="t" signal="activate" 
modifiers="GDK_CONTROL_MASK"/>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_CopyURI">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">_Copy 
URI</property>
+                        <property name="use_underline">True</property>
+                        <accelerator key="c" signal="activate" 
modifiers="GDK_CONTROL_MASK"/>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkMenuItem" id="menu_Help">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">_Help</property>
+                <property name="use_underline">True</property>
+                <child type="submenu">
+                  <object class="GtkMenu">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_OnlineHelp">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Online 
Help</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkMenuItem" 
id="menuitem_SupportedSchemes">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Supported 
Protocols</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkSeparatorMenuItem">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkMenuItem" id="menuitem_About">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" 
translatable="yes">About</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkToolbar" id="toolbar">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkMenuToolButton" id="toolitem_Bookmarks">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="tooltip_text" translatable="yes">Choose a 
bookmark to connect to</property>
+                <property name="label" translatable="yes">_Bookmarks</property>
+                <property name="use_underline">True</property>
+                <property name="icon_name">gtk-connect</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="toolitem_Disconnect">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="tooltip_text" translatable="yes">Disconnect 
the selected resource</property>
+                <property name="label" 
translatable="yes">_Disconnect</property>
+                <property name="use_underline">True</property>
+                <property name="icon_name">gtk-disconnect</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSeparatorToolItem">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="toolitem_EditBookmarks">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="tooltip_text" translatable="yes">Open the 
bookmark manager to add, edit or delete bookmarks</property>
+                <property name="label" translatable="yes">_Edit 
Bookmarks</property>
+                <property name="use_underline">True</property>
+                <property name="icon_name">gtk-edit</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSeparatorToolItem">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="toolitem_Open">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="tooltip_text" translatable="yes">Open the 
selected resource with a file manager</property>
+                <property name="label" translatable="yes">_Open</property>
+                <property name="use_underline">True</property>
+                <property name="icon_name">document-open</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="toolitem_OpenTerminal">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="tooltip_text" translatable="yes">Start a 
terminal from here</property>
+                <property name="label" translatable="yes">Open 
_Terminal</property>
+                <property name="use_underline">True</property>
+                <property name="icon_name">utilities-terminal</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSeparatorToolItem">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="toolitem_Quit">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="tooltip_text" translatable="yes">Quit 
Gigolo</property>
+                <property name="label" translatable="yes">_Quit</property>
+                <property name="use_underline">True</property>
+                <property name="icon_name">application-exit</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkPaned" id="panel_pane">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="position">200</property>
+            <child>
+              <object class="GtkNotebook" id="notebook_panel">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="tab_pos">left</property>
+                <property name="show_border">False</property>
+                <child>
+                  <placeholder/>
+                </child>
+                <child type="tab">
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child type="tab">
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child type="tab">
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="resize">False</property>
+                <property name="shrink">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkNotebook" id="notebook_store">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="show_tabs">False</property>
+                <property name="show_border">False</property>
+                <child>
+                  <object class="GtkScrolledWindow" id="swin_treeview">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">page 1</property>
+                  </object>
+                  <packing>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkScrolledWindow" id="swin_iconview">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">page 2</property>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">page 3</property>
+                  </object>
+                  <packing>
+                    <property name="position">2</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="resize">True</property>
+                <property name="shrink">True</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkMenu" id="systray_icon_popup_menu">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <child>
+      <object class="GtkMenuItem" id="systray_Connect">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Connect</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="systray_Bookmarks">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Bookmarks</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="systray_EditBookmarks">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Edit Bookmarks</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="systray_Preferences">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Preferences</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="systray_Quit">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Quit</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+  </object>
+  <object class="GtkMenu" id="tree_popup_menu">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <child>
+      <object class="GtkMenuItem" id="popupitem_Open">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Open</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="popupitem_OpenTerminal">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Open in _Terminal</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="popupitem_CopyURI">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Copy URI</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="popupitem_EditBookmark">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Edit Bookmark</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkSeparatorMenuItem">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="popupitem_Connect">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Connect</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="popupitem_Disconnect">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Disconnect</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+  </object>
+</interface>
diff --git a/src/menubuttonaction.c b/src/menubuttonaction.c
index 531d2f3..86aa6aa 100644
--- a/src/menubuttonaction.c
+++ b/src/menubuttonaction.c
@@ -46,7 +46,7 @@ static guint signals[LAST_SIGNAL];
 
 
 
-G_DEFINE_TYPE(GigoloMenubuttonAction, gigolo_menu_button_action, 
GTK_TYPE_ACTION);
+G_DEFINE_TYPE(GigoloMenubuttonAction, gigolo_menu_button_action, 
GTK_TYPE_MENU);
 
 
 static void delegate_item_activated(GtkMenuItem *item, GigoloMenubuttonAction 
*action)
@@ -55,106 +55,24 @@ static void delegate_item_activated(GtkMenuItem *item, 
GigoloMenubuttonAction *a
 }
 
 
-static void delegate_button_clicked(G_GNUC_UNUSED GtkToolButton *button, 
GtkAction *action)
-{
-       g_signal_emit(action, signals[BUTTON_CLICKED], 0);
-}
-
-
-static GtkWidget *gigolo_menu_button_action_create_menu_item(G_GNUC_UNUSED 
GtkAction *action)
-{
-       GtkWidget *menuitem;
-
-       menuitem = g_object_new(GTK_TYPE_MENU_ITEM, NULL);
-
-       return menuitem;
-}
-
-
-static GtkWidget *gigolo_menu_button_action_create_tool_item(GtkAction *action)
-{
-       GtkWidget *toolitem;
-
-       toolitem = g_object_new(GTK_TYPE_MENU_TOOL_BUTTON, NULL);
-       g_signal_connect(toolitem, "clicked", 
G_CALLBACK(delegate_button_clicked), action);
-
-       return toolitem;
-}
-
-
-static void set_menu(GtkWidget *item, GtkWidget *menu)
-{
-       if (GTK_IS_MENU_ITEM(item))
-               gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu);
-       else
-               gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(item), menu);
-}
-
-
-static GtkWidget *get_menu(GtkWidget *item)
-{
-       if (GTK_IS_MENU_ITEM(item))
-               return gtk_menu_item_get_submenu(GTK_MENU_ITEM(item));
-       else
-               return 
gtk_menu_tool_button_get_menu(GTK_MENU_TOOL_BUTTON(item));
-}
-
-
-static void update_menus(GigoloMenubuttonAction *action, GigoloSettings 
*settings)
+static void update_menus(GigoloMenubuttonAction *menu, GigoloSettings 
*settings)
 {
        GSList *l;
-       GtkWidget *menu;
        guint i;
        GtkWidget *item;
        GigoloBookmark *bm;
        GigoloBookmarkList *bml = gigolo_settings_get_bookmarks(settings);
 
-       for (l = gtk_action_get_proxies(GTK_ACTION(action)); l; l = l->next)
-       {
-               menu = get_menu(l->data);
-
-               if (GTK_IS_MENU_ITEM(l->data))
-                       gtk_widget_set_sensitive(l->data, (bml->len > 0));
-
-               if (bml->len == 0)
-               {
-                       if (menu != NULL)
-                               set_menu(l->data, NULL);
-                       continue;
-               }
-
-               if (menu != NULL)
-               {       /* clear the old menu items */
-                       gtk_container_foreach(GTK_CONTAINER(menu), 
(GtkCallback) gtk_widget_destroy, NULL);
-               }
-               else
-               {       /* create new menu */
-                       menu = gtk_menu_new();
-                       set_menu(l->data, menu);
-               }
-
-               for (i = 0; i < bml->len; i++)
-               {
-                       bm = g_ptr_array_index(bml, i);
-                       item = 
gtk_menu_item_new_with_label(gigolo_bookmark_get_name(bm));
-                       g_object_set_data(G_OBJECT(item), "bookmark", bm);
-                       gtk_container_add(GTK_CONTAINER(menu), item);
-                       gtk_widget_show(item);
-                       g_signal_connect(item, "activate", 
G_CALLBACK(delegate_item_activated), action);
-               }
-       }
-}
-
+       gtk_container_foreach(GTK_CONTAINER(menu), (GtkCallback) 
gtk_widget_destroy, NULL);
 
-static void gigolo_menu_button_action_connect_proxy(GtkAction *action, 
GtkWidget *widget)
-{
-       
GTK_ACTION_CLASS(gigolo_menu_button_action_parent_class)->connect_proxy(action, 
widget);
-
-       /* Overwrite the icon and label of the toolbar button */
-       if (GTK_IS_TOOL_BUTTON(widget))
+       for (i = 0; i < bml->len; i++)
        {
-               gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON(widget), 
"gtk-connect");
-               gtk_tool_button_set_label(GTK_TOOL_BUTTON(widget), 
_("Connect"));
+               bm = g_ptr_array_index(bml, i);
+               item = 
gtk_menu_item_new_with_label(gigolo_bookmark_get_name(bm));
+               g_object_set_data(G_OBJECT(item), "bookmark", bm);
+               gtk_container_add(GTK_CONTAINER(menu), item);
+               gtk_widget_show(item);
+               g_signal_connect(item, "activate", 
G_CALLBACK(delegate_item_activated), menu);
        }
 }
 
@@ -179,16 +97,9 @@ static void gigolo_menu_button_action_set_property(GObject 
*object, guint prop_i
 static void gigolo_menu_button_action_class_init(GigoloMenubuttonActionClass 
*klass)
 {
        GObjectClass *g_object_class = G_OBJECT_CLASS(klass);
-       GtkActionClass *action_class = GTK_ACTION_CLASS(klass);
 
        g_object_class->set_property = gigolo_menu_button_action_set_property;
 
-       action_class->connect_proxy = gigolo_menu_button_action_connect_proxy;
-       action_class->create_menu_item = 
gigolo_menu_button_action_create_menu_item;
-       action_class->create_tool_item = 
gigolo_menu_button_action_create_tool_item;
-       action_class->menu_item_type = GTK_TYPE_MENU_ITEM;
-       action_class->toolbar_item_type = GTK_TYPE_MENU_TOOL_BUTTON;
-
        g_object_class_install_property(g_object_class,
                                                                                
PROP_SETTINGS,
                                                                                
g_param_spec_object (
@@ -222,12 +133,12 @@ static void gigolo_menu_button_action_init(G_GNUC_UNUSED 
GigoloMenubuttonAction
 }
 
 
-GtkAction *gigolo_menu_button_action_new(const gchar *name, const gchar *label,
-                                                                          
const gchar *tooltip, const gchar *icon_name)
+GtkMenu *gigolo_menu_button_action_new(const gchar *name)
 {
-       GtkAction *action = g_object_new(GIGOLO_MENU_BUTTON_ACTION_TYPE,
-               "name", name, "label", label, "tooltip", tooltip, "icon-name", 
icon_name, NULL);
+       GtkMenu *menu = g_object_new(GIGOLO_MENU_BUTTON_ACTION_TYPE,
+                                                            "name", name,
+                                                                NULL);
 
-       return action;
+       return menu;
 }
 
diff --git a/src/menubuttonaction.h b/src/menubuttonaction.h
index 57bc10b..06f1060 100644
--- a/src/menubuttonaction.h
+++ b/src/menubuttonaction.h
@@ -38,19 +38,16 @@ typedef struct _GigoloMenubuttonActionClass         
GigoloMenubuttonActionClass;
 
 struct _GigoloMenubuttonAction
 {
-       GtkAction parent;
+       GtkMenu parent;
 };
 
 struct _GigoloMenubuttonActionClass
 {
-       GtkActionClass parent_class;
+       GtkMenuClass parent_class;
 };
 
 GType          gigolo_menu_button_action_get_type      (void);
-GtkAction*     gigolo_menu_button_action_new           (const gchar    *name,
-                                                                               
                 const gchar    *label,
-                                                                               
                 const gchar    *tooltip,
-                                                                               
                 const gchar    *icon_name);
+GtkMenu*       gigolo_menu_button_action_new           (const gchar    *name);
 
 G_END_DECLS
 
diff --git a/src/window.c b/src/window.c
index 4f7b6d0..a422a94 100644
--- a/src/window.c
+++ b/src/window.c
@@ -39,6 +39,8 @@
 #include "browsenetworkpanel.h"
 #include "bookmarkpanel.h"
 
+#include "gigolo_ui.h"
+
 
 typedef struct _GigoloWindowPrivate                    GigoloWindowPrivate;
 
@@ -50,30 +52,23 @@ struct _GigoloWindowPrivate
 {
        GigoloSettings  *settings;
        GigoloBackendGVFS       *backend_gvfs;
+       GtkBuilder      *builder;
 
        GtkWidget               *vbox;
-       GtkWidget               *hbox_pane;
        GtkWidget               *hbox_view;
 
        GtkWidget               *panel_pane;
        GtkWidget               *browse_panel;
        GtkWidget               *bookmark_panel;
        GtkWidget               *notebook_panel;
+       GtkWidget               *notebook_store;
        GtkWidget               *treeview;
        GtkWidget               *iconview;
        GtkWidget               *swin_treeview;
        GtkWidget               *swin_iconview;
        GtkListStore    *store;
        GtkWidget               *tree_popup_menu;
-       GtkAction               *action_connect;
-       GtkAction               *action_disconnect;
-       GtkAction               *action_bookmarks;
-       GtkAction               *action_bookmark_create;
-       GtkAction               *action_open;
-       GtkAction               *action_open_terminal;
-       GtkAction               *action_copyuri;
-
-       GtkActionGroup  *action_group;
+       GtkMenu             *bookmarks_menu;
 
        GtkWidget               *toolbar;
        GtkStatusIcon   *systray_icon;
@@ -142,7 +137,6 @@ static void gigolo_window_destroy(GigoloWindow *window)
        gtk_widget_destroy(priv->swin_treeview);
        gtk_widget_destroy(priv->swin_iconview);
        g_object_unref(priv->toolbar);
-       g_object_unref(priv->action_group);
        g_object_unref(priv->systray_icon);
        g_object_unref(priv->systray_icon_popup_menu);
        g_object_unref(priv->backend_gvfs);
@@ -270,7 +264,7 @@ void gigolo_window_mount_from_bookmark(GigoloWindow 
*window, GigoloBookmark *boo
 }
 
 
-static void action_mount_cb(G_GNUC_UNUSED GtkAction *action, GigoloWindow 
*window)
+static void mount_cb(G_GNUC_UNUSED GtkWidget *widget, GigoloWindow *window)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
        GtkTreeIter iter;
@@ -311,7 +305,7 @@ static void action_mount_cb(G_GNUC_UNUSED GtkAction 
*action, GigoloWindow *windo
 }
 
 
-static void action_preferences_cb(G_GNUC_UNUSED GtkAction *action, 
GigoloWindow *window)
+static void preferences_cb(GtkWidget *widget, GigoloWindow *window)
 {
        GtkWidget *dialog;
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
@@ -326,35 +320,30 @@ static void action_preferences_cb(G_GNUC_UNUSED GtkAction 
*action, GigoloWindow
 }
 
 
-static void action_toggle_view_cb(GtkToggleAction *action, GigoloWindow 
*window)
+static void toggle_view_cb(GtkWidget *item, GigoloWindow *window)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
-       gboolean active = gtk_toggle_action_get_active(action);
-       const gchar *property = NULL;
-
-       if (gtk_action_get_name(GTK_ACTION(action)) == 
g_intern_string("ShowPanel"))
-               property = "show-panel";
-       else if (gtk_action_get_name(GTK_ACTION(action)) == 
g_intern_string("ShowToolbar"))
-               property = "show-toolbar";
-       else if (gtk_action_get_name(GTK_ACTION(action)) == 
g_intern_string("ShowInSystray"))
-               property = "show-in-systray";
+       gboolean active = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM 
(item));
+       gchar *property = (gchar *) g_object_get_data (G_OBJECT (item), 
"opt-view");
 
        if (property != NULL)
                g_object_set(priv->settings, property, active, NULL);
 }
 
 
-static void action_view_mode_change_cb(G_GNUC_UNUSED GtkRadioAction *action,
-                                                                          
GtkRadioAction *current, GigoloWindow *window)
+static void view_mode_change_cb(GtkWidget    *widget,
+                                                                          
GigoloWindow *window)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
-       gint mode = gtk_radio_action_get_current_value(current);
-
+       gint mode = VIEW_MODE_ICONVIEW;
+       if (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
+               mode = VIEW_MODE_TREEVIEW;
+       }
        g_object_set(priv->settings, "view-mode", mode, NULL);
 }
 
 
-static void action_unmount_cb(G_GNUC_UNUSED GtkAction *action, GigoloWindow 
*window)
+static void unmount_cb(GtkWidget *widget, GigoloWindow *window)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
        GtkTreeIter iter;
@@ -385,13 +374,13 @@ static void action_unmount_cb(G_GNUC_UNUSED GtkAction 
*action, GigoloWindow *win
 }
 
 
-static void action_quit_cb(G_GNUC_UNUSED GtkAction *action, GigoloWindow 
*window)
+static void quit_cb(GtkWidget *widget, GigoloWindow *window)
 {
     gigolo_window_destroy(window);
 }
 
 
-static void action_bookmark_edit_cb(G_GNUC_UNUSED GtkAction *action, 
GigoloWindow *window)
+static void bookmark_edit_cb(GtkWidget *widget, GigoloWindow *window)
 {
        GtkWidget *dialog;
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
@@ -405,7 +394,7 @@ static void action_bookmark_edit_cb(G_GNUC_UNUSED GtkAction 
*action, GigoloWindo
 }
 
 
-static void action_about_cb(G_GNUC_UNUSED GtkAction *action, GigoloWindow 
*window)
+static void about_cb(GtkWidget *widget, GigoloWindow *window)
 {
     const gchar *authors[]= { "Enrico Tröger <enr...@xfce.org>", NULL };
 
@@ -434,13 +423,13 @@ static void action_about_cb(G_GNUC_UNUSED GtkAction 
*action, GigoloWindow *windo
 }
 
 
-static void action_help_cb(G_GNUC_UNUSED GtkAction *action, G_GNUC_UNUSED 
GigoloWindow *window)
+static void help_cb(GtkWidget *widget, G_GNUC_UNUSED GigoloWindow *window)
 {
        gigolo_show_uri("http://www.uvena.de/gigolo/help.html";);
 }
 
 
-static void action_supported_schemes_cb(G_GNUC_UNUSED GtkAction *action, 
GigoloWindow *window)
+static void supported_schemes_cb(GtkWidget *widget, GigoloWindow *window)
 {
        const gchar* const *supported;
        const gchar *description;
@@ -473,7 +462,7 @@ static void action_supported_schemes_cb(G_GNUC_UNUSED 
GtkAction *action, GigoloW
 }
 
 
-static void action_copy_uri_cb(G_GNUC_UNUSED GtkAction *action, GigoloWindow 
*window)
+static void copy_uri_cb(GtkWidget *widget, GigoloWindow *window)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
        GtkTreeIter iter;
@@ -528,7 +517,7 @@ static gpointer get_selected_mount(GigoloWindow *window)
 }
 
 
-static void action_open_cb(G_GNUC_UNUSED GtkAction *action, GigoloWindow 
*window)
+static void open_cb(GtkWidget *widget, GigoloWindow *window)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
        gpointer mnt;
@@ -575,7 +564,7 @@ static void action_open_cb(G_GNUC_UNUSED GtkAction *action, 
GigoloWindow *window
 }
 
 
-static void action_open_terminal_cb(G_GNUC_UNUSED GtkAction *action, 
GigoloWindow *window)
+static void open_terminal_cb(GtkWidget *widget, GigoloWindow *window)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
        gpointer mnt;
@@ -683,13 +672,53 @@ static gboolean iter_is_mount(GtkTreeModel *model, 
GtkTreeIter *iter)
 }
 
 
-static void update_create_edit_bookmark_action_label(GtkAction *action, 
gboolean is_bookmark)
+static void set_action_sensitive (GtkBuilder *builder, const gchar *action, 
gboolean is_sensitive)
 {
-       gtk_action_set_sensitive(action, TRUE);
+       GObject *object;
+       gchar   *id;
+
+       id = g_strconcat ("menuitem_", action, NULL);
+       object = gtk_builder_get_object (builder, id);
+       if (object != NULL)
+       {
+               gtk_widget_set_sensitive (GTK_WIDGET (object), is_sensitive);
+       }
+       g_free (id);
+
+       id = g_strconcat ("toolitem_", action, NULL);
+       object = gtk_builder_get_object (builder, id);
+       if (object != NULL)
+       {
+               gtk_widget_set_sensitive (GTK_WIDGET (object), is_sensitive);
+       }
+       g_free (id);
+
+       id = g_strconcat ("systray_", action, NULL);
+       object = gtk_builder_get_object (builder, id);
+       if (object != NULL)
+       {
+               gtk_widget_set_sensitive (GTK_WIDGET (object), is_sensitive);
+       }
+       g_free (id);
+
+       id = g_strconcat ("popupitem_", action, NULL);
+       object = gtk_builder_get_object (builder, id);
+       if (object != NULL)
+       {
+               gtk_widget_set_sensitive (GTK_WIDGET (object), is_sensitive);
+       }
+       g_free (id);
+}
+
+
+static void update_create_edit_bookmark_action_label(GtkBuilder *builder, 
gboolean is_bookmark)
+{
+       GtkWidget *widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"popupitem_EditBookmark"));
+       gtk_widget_set_sensitive (widget, TRUE);
        if (is_bookmark)
-               gtk_action_set_label(action, _("Edit _Bookmark"));
+               gtk_menu_item_set_label(GTK_MENU_ITEM (widget), _("Edit 
_Bookmark"));
        else
-               gtk_action_set_label(action, _("Create _Bookmark"));
+               gtk_menu_item_set_label(GTK_MENU_ITEM (widget), _("Create 
_Bookmark"));
 }
 
 
@@ -707,21 +736,21 @@ static void update_sensitive_buttons(GigoloWindow 
*window, GtkTreeModel *model,
                open_possible = is_mount && 
gigolo_settings_has_file_manager(priv->settings);
                open_terminal_possible = is_mount && 
gigolo_settings_has_terminal(priv->settings);
 
-               /* gtk_action_set_sensitive(priv->action_connect, (ref_type != 
GIGOLO_WINDOW_REF_TYPE_MOUNT));*/
-               gtk_action_set_sensitive(priv->action_disconnect, (ref_type == 
GIGOLO_WINDOW_REF_TYPE_MOUNT));
-               
update_create_edit_bookmark_action_label(priv->action_bookmark_create, 
is_bookmark);
-               gtk_action_set_sensitive(priv->action_open, open_possible);
-               gtk_action_set_sensitive(priv->action_open_terminal, 
open_terminal_possible);
-               gtk_action_set_sensitive(priv->action_copyuri, (ref_type == 
GIGOLO_WINDOW_REF_TYPE_MOUNT));
+               /* set_action_sensitive (priv->builder, "Connect", (ref_type != 
GIGOLO_WINDOW_REF_TYPE_MOUNT));*/
+               set_action_sensitive (priv->builder, "Disconnect", (ref_type == 
GIGOLO_WINDOW_REF_TYPE_MOUNT));
+               update_create_edit_bookmark_action_label(priv->builder, 
is_bookmark);
+               set_action_sensitive (priv->builder, "Open", open_possible);
+               set_action_sensitive (priv->builder, "OpenTerminal", 
open_terminal_possible);
+               set_action_sensitive (priv->builder, "CopyURI", (ref_type == 
GIGOLO_WINDOW_REF_TYPE_MOUNT));
        }
        else
        {
-               /* gtk_action_set_sensitive(priv->action_connect, FALSE); */
-               gtk_action_set_sensitive(priv->action_disconnect, FALSE);
-               gtk_action_set_sensitive(priv->action_bookmark_create, FALSE);
-               gtk_action_set_sensitive(priv->action_open, FALSE);
-               gtk_action_set_sensitive(priv->action_open_terminal, FALSE);
-               gtk_action_set_sensitive(priv->action_copyuri, FALSE);
+               /* set_action_sensitive (priv->builder, "Connect", FALSE); */
+               set_action_sensitive (priv->builder, "Disconnect", FALSE);
+               set_action_sensitive (priv->builder, "EditBookmark", FALSE);
+               set_action_sensitive (priv->builder, "Open", FALSE);
+               set_action_sensitive (priv->builder, "OpenTerminal", FALSE);
+               set_action_sensitive (priv->builder, "CopyURI", FALSE);
        }
 }
 
@@ -796,11 +825,11 @@ static void tree_row_activated_cb(G_GNUC_UNUSED 
GtkTreeView *treeview, GtkTreePa
                        GIGOLO_WINDOW_COL_REF_TYPE, &ref_type, -1);
                if (ref_type == GIGOLO_WINDOW_REF_TYPE_MOUNT)
                {       /* action_unmount_cb(NULL, data); */
-                       action_open_cb(NULL, window);
+                       open_cb(NULL, window);
                }
                else
                {
-                       action_mount_cb(NULL, window);
+                       mount_cb(NULL, window);
                }
        }
 }
@@ -900,7 +929,7 @@ void gigolo_window_update_bookmarks(GigoloWindow *window)
        g_ptr_array_sort(bookmarks, sort_bookmarks);
 
        /* writing to the 'settings' property will update the menus */
-       g_object_set(priv->action_bookmarks, "settings", priv->settings, NULL);
+       g_object_set(priv->bookmarks_menu, "settings", priv->settings, NULL);
        g_object_set(priv->bookmark_panel, "settings", priv->settings, NULL);
 
        /* update the popup menu items */
@@ -950,7 +979,7 @@ gboolean gigolo_window_do_autoconnect(gpointer data)
 }
 
 
-static void action_create_bookmark_cb(G_GNUC_UNUSED GtkAction *button, 
GigoloWindow *window)
+static void create_bookmark_cb(GtkWidget *widget, GigoloWindow *window)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
        GtkTreeIter iter;
@@ -1023,9 +1052,9 @@ static void gigolo_window_show_side_panel(GigoloWindow 
*window, gboolean show)
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
 
        if (show)
-               gtk_widget_show(priv->hbox_pane);
+               gtk_widget_show(priv->notebook_panel);
        else
-               gtk_widget_hide(priv->hbox_pane);
+               gtk_widget_hide(priv->notebook_panel);
 }
 
 
@@ -1090,36 +1119,46 @@ static void gigolo_window_set_view_mode(GigoloWindow 
*window, gint mode)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
 
-       if (mode == VIEW_MODE_ICONVIEW && priv->hbox_view != 
gtk_widget_get_parent(priv->swin_iconview))
+       if (mode == VIEW_MODE_ICONVIEW)
        {
                
gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->treeview)));
-               gtk_container_remove(GTK_CONTAINER(priv->hbox_view), 
priv->swin_treeview);
-               gtk_container_add(GTK_CONTAINER(priv->hbox_view), 
priv->swin_iconview);
+               gtk_notebook_set_current_page (GTK_NOTEBOOK 
(priv->notebook_store), 1);
        }
-       else if (mode == VIEW_MODE_TREEVIEW &&  priv->hbox_view != 
gtk_widget_get_parent(priv->swin_treeview))
+       else if (mode == VIEW_MODE_TREEVIEW)
        {
                gtk_icon_view_unselect_all(GTK_ICON_VIEW(priv->iconview));
-               gtk_container_remove(GTK_CONTAINER(priv->hbox_view), 
priv->swin_iconview);
-               gtk_container_add(GTK_CONTAINER(priv->hbox_view), 
priv->swin_treeview);
+               gtk_notebook_set_current_page (GTK_NOTEBOOK 
(priv->notebook_store), 0);
        }
 }
 
 
-static void toggle_action_set_active(GigoloWindow *window, const gchar *name, 
gboolean set)
+static void toggle_set_active(GigoloWindow *window, const gchar *name, 
gboolean set)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
-       GtkAction *action = gtk_action_group_get_action(priv->action_group, 
name);
+       GtkBuilder *builder = priv->builder;
+       GtkWidget  *widget;
+       gchar *widget_name;
+
+       widget_name = g_strconcat ("menuitem_", name, NULL);
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, widget_name));
 
-       gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), set);
+       gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), set);
 }
 
 
 static void view_mode_action_set_active(GigoloWindow *window, gint val)
 {
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
-       GtkAction *action = gtk_action_group_get_action(priv->action_group, 
"ViewSymbols");
+       GtkBuilder *builder = priv->builder;
+       GtkWidget *widget;
 
-       gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), val);
+       if (val == VIEW_MODE_ICONVIEW) {
+               widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_ViewSymbols"));
+       } else {
+               widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_ViewDetailed"));
+       }
+
+       gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), TRUE);
 }
 
 
@@ -1163,13 +1202,13 @@ static void 
gigolo_window_settings_notify_cb(GigoloSettings *settings, GParamSpe
        {
                gboolean state = g_value_get_boolean(value);
                gigolo_window_show_toolbar(window, state);
-               toggle_action_set_active(window, "ShowToolbar", state);
+               toggle_set_active(window, "ShowToolbar", state);
        }
        else if (name == g_intern_string("show-in-systray"))
        {
                gboolean state = g_value_get_boolean(value);
                gigolo_window_show_systray_icon(window, state);
-               toggle_action_set_active(window, "ShowInSystray", state);
+               toggle_set_active(window, "ShowInSystray", state);
        }
        else if (name == g_intern_string("toolbar-style"))
                gigolo_window_set_toolbar_style(window, g_value_get_int(value));
@@ -1185,7 +1224,7 @@ static void 
gigolo_window_settings_notify_cb(GigoloSettings *settings, GParamSpe
        {
                gboolean state = g_value_get_boolean(value);
                gigolo_window_show_side_panel(window, state);
-               toggle_action_set_active(window, "ShowPanel", state);
+               toggle_set_active(window, "ShowPanel", state);
        }
        else if (! g_object_class_find_property(G_OBJECT_GET_CLASS(settings), 
name))
                 verbose("Unexpected setting '%s'", name);
@@ -1194,154 +1233,163 @@ static void 
gigolo_window_settings_notify_cb(GigoloSettings *settings, GParamSpe
 }
 
 
-static void create_ui_elements(GigoloWindow *window, GtkUIManager *ui_manager)
-{
-       const gchar *ui_markup =
-       "<ui>"
-               "<menubar>"
-                       "<menu action='File'>"
-                               "<menuitem action='Quit'/>"
-                       "</menu>"
-                       "<menu action='Edit'>"
-                               "<menuitem action='EditBookmarks'/>"
-                               "<separator/>"
-                               "<menuitem action='Preferences'/>"
-                       "</menu>"
-                       "<menu action='View'>"
-                               "<menuitem action='ShowToolbar'/>"
-                               "<menuitem action='ShowPanel'/>"
-                               "<menuitem action='ShowInSystray'/>"
-                               "<separator/>"
-                               "<menuitem action='ViewDetailed'/>"
-                               "<menuitem action='ViewSymbols'/>"
-                       "</menu>"
-                       "<menu action='Actions'>"
-                               "<menuitem action='Connect'/>"
-                               "<menuitem action='Disconnect'/>"
-                               "<menuitem action='Bookmarks'/>"
-                               "<separator/>"
-                               "<menuitem action='Open'/>"
-                               "<menuitem action='OpenTerminal'/>"
-                               "<menuitem action='CopyURI'/>"
-                       "</menu>"
-                       "<menu action='Help'>"
-                               "<menuitem action='OnlineHelp'/>"
-                               "<menuitem action='SupportedSchemes'/>"
-                               "<separator/>"
-                               "<menuitem action='About'/>"
-                       "</menu>"
-               "</menubar>"
-
-               "<popup name='systraymenu'>"
-                       "<menuitem action='Connect'/>"
-                       "<menuitem action='Bookmarks'/>"
-                       "<separator/>"
-                       "<menuitem action='EditBookmarks'/>"
-                       "<menuitem action='Preferences'/>"
-                       "<separator/>"
-                       "<menuitem action='Quit'/>"
-               "</popup>"
-
-               "<popup name='treemenu'>"
-                       "<menuitem action='Open'/>"
-                       "<menuitem action='OpenTerminal'/>"
-                       "<menuitem action='CopyURI'/>"
-                       "<menuitem action='CreateBookmark'/>"
-                       "<separator/>"
-                       "<menuitem action='Connect'/>"
-                       "<menuitem action='Disconnect'/>"
-               "</popup>"
-
-               "<toolbar>"
-                       "<toolitem action='Bookmarks'/>"
-                       "<toolitem action='Disconnect'/>"
-                       "<separator/>"
-                       "<toolitem action='EditBookmarks'/>"
-                       "<separator/>"
-                       "<toolitem action='Open'/>"
-                       "<toolitem action='OpenTerminal'/>"
-                       "<separator/>"
-                       "<toolitem action='Quit'/>"
-               "</toolbar>"
-       "</ui>";
-       const GtkActionEntry entries[] = {
-               {"File", NULL, N_("_File"), NULL, NULL, NULL},
-               {"Edit", NULL, N_("_Edit"), NULL, NULL, NULL},
-               {"Actions", NULL, N_("_Actions"), NULL, NULL, NULL},
-               {"View", NULL, N_("_View"), NULL, NULL, NULL},
-               {"Help", NULL, N_("_Help"), NULL, NULL, NULL},
-               {"Preferences", "preferences-system",
-                N_("_Preferences"), "<Ctrl>p", NULL, 
G_CALLBACK(action_preferences_cb)},
-               {"CreateBookmark", "list-add",
-                N_("Create _Bookmark"), "<Ctrl>n", NULL, 
G_CALLBACK(action_create_bookmark_cb)},
-               {"EditBookmarks", "gtk-edit",
-                N_("_Edit Bookmarks"), "<Ctrl>b",
-                N_("Open the bookmark manager to add, edit or delete 
bookmarks"),
-                G_CALLBACK(action_bookmark_edit_cb)},
-               {"Connect", "gtk-connect", N_("_Connect"), NULL, NULL, 
G_CALLBACK(action_mount_cb)},
-               {"Disconnect", "gtk-disconnect", N_("_Disconnect"), NULL,
-                N_("Disconnect the selected resource"), 
G_CALLBACK(action_unmount_cb)},
-               {"Open", "document-open", N_("_Open"), "<Ctrl>o",
-                N_("Open the selected resource with a file manager"), 
G_CALLBACK(action_open_cb)},
-               {"OpenTerminal", NULL, _("Open in _Terminal"), "<Ctrl>t",
-                N_("Start a terminal from here"), 
G_CALLBACK(action_open_terminal_cb)},
-               {"CopyURI", "edit-copy", N_("Copy _URI"), "<Ctrl>c", NULL, 
G_CALLBACK(action_copy_uri_cb)},
-               {"Quit", "application-exit", N_("_Quit"), "<Ctrl>q", N_("Quit 
Gigolo"), G_CALLBACK(action_quit_cb)},
-               {"OnlineHelp", "go-home", _("Online Help"), NULL, NULL, 
G_CALLBACK(action_help_cb)},
-               {"SupportedSchemes", NULL, _("Supported Protocols"), NULL, 
NULL, G_CALLBACK(action_supported_schemes_cb)},
-               {"About", "help-about", N_("_About"), NULL, NULL, 
G_CALLBACK(action_about_cb)}};
-       const guint entries_n = G_N_ELEMENTS(entries);
-
-       const GtkToggleActionEntry toggle_entries[] = {
-               { "ShowPanel", NULL, N_("Side _Panel"),
-                       NULL, NULL, G_CALLBACK(action_toggle_view_cb), FALSE },
-               { "ShowToolbar", NULL, N_("_Toolbar"),
-                       NULL, NULL, G_CALLBACK(action_toggle_view_cb), FALSE },
-               { "ShowInSystray", NULL, N_("Status _Icon"),
-                       NULL, NULL, G_CALLBACK(action_toggle_view_cb), FALSE }
-       };
-       const guint toggle_entries_n = G_N_ELEMENTS(toggle_entries);
-
-       const GtkRadioActionEntry radio_entries[] = {
-               { "ViewDetailed", NULL, N_("View as _Symbols"), NULL, NULL, 0 },
-               { "ViewSymbols", NULL, N_("View as _Detailed List"), NULL, 
NULL, 1 },
-       };
-       const guint radio_entries_n = G_N_ELEMENTS(radio_entries);
-       GError *error = NULL;
+static void bind_actions (GigoloWindow *window)
+{
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
-       GtkAction *open_terminal;
-       GtkIconTheme *icon_theme;
+       GtkBuilder          *builder = priv->builder;
+       GtkWidget           *widget;
+
+       /* Preferences (Ctrl + P) */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_Preferences"));
+       g_signal_connect (widget, "activate", G_CALLBACK(preferences_cb), 
window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"systray_Preferences"));
+       g_signal_connect (widget, "activate", G_CALLBACK(preferences_cb), 
window);
+
+       /* Bookmarks */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menu_Bookmarks"));
+       gtk_menu_item_set_submenu (GTK_MENU_ITEM (widget), GTK_WIDGET 
(priv->bookmarks_menu));
+       gtk_widget_set_sensitive (widget, TRUE);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"toolitem_Bookmarks"));
+       gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (widget), 
GTK_WIDGET (priv->bookmarks_menu));
+
+       /* Create (Edit) Bookmark (Ctrl + N) */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"popupitem_EditBookmark"));
+       g_signal_connect (widget, "activate", G_CALLBACK(create_bookmark_cb), 
window);
+
+       /* Edit Bookmarks (Ctrl + B) */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_EditBookmarks"));
+       g_signal_connect (widget, "activate", G_CALLBACK(bookmark_edit_cb), 
window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"toolitem_EditBookmarks"));
+       g_signal_connect (widget, "clicked", G_CALLBACK(bookmark_edit_cb), 
window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"systray_EditBookmarks"));
+       g_signal_connect (widget, "activate", G_CALLBACK(bookmark_edit_cb), 
window);
+
+       /* Connect */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_Connect"));
+       g_signal_connect (widget, "activate", G_CALLBACK(mount_cb), window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"toolitem_Bookmarks"));
+       g_signal_connect (widget, "clicked", G_CALLBACK(mount_cb), window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"systray_Connect"));
+       g_signal_connect (widget, "activate", G_CALLBACK(mount_cb), window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"popupitem_Connect"));
+       g_signal_connect (widget, "activate", G_CALLBACK(mount_cb), window);
+
+       /* Disconnect */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_Disconnect"));
+       g_signal_connect (widget, "activate", G_CALLBACK(unmount_cb), window);
 
-       priv->action_bookmarks = gigolo_menu_button_action_new(
-               "Bookmarks", _("_Bookmarks"), _("Choose a bookmark to connect 
to"),
-               gigolo_find_icon_name("bookmark-new", "gtk-edit"));
-       g_signal_connect(priv->action_bookmarks, "item-clicked",
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"toolitem_Disconnect"));
+       g_signal_connect (widget, "clicked", G_CALLBACK(unmount_cb), window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"popupitem_Disconnect"));
+       g_signal_connect (widget, "activate", G_CALLBACK(unmount_cb), window);
+
+       /* Open */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_Open"));
+       g_signal_connect (widget, "activate", G_CALLBACK(open_cb), window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, "toolitem_Open"));
+       g_signal_connect (widget, "clicked", G_CALLBACK(open_cb), window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"popupitem_Open"));
+       g_signal_connect (widget, "activate", G_CALLBACK(open_cb), window);
+
+       /* Open Terminal (Ctrl + T) */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_OpenTerminal"));
+       g_signal_connect (widget, "activate", G_CALLBACK(open_terminal_cb), 
window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"toolitem_OpenTerminal"));
+       g_signal_connect (widget, "clicked", G_CALLBACK(open_terminal_cb), 
window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"popupitem_OpenTerminal"));
+       g_signal_connect (widget, "activate", G_CALLBACK(open_terminal_cb), 
window);
+
+       /* Copy URI (Ctrl + C) */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_CopyURI"));
+       g_signal_connect (widget, "activate", G_CALLBACK(copy_uri_cb), window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"popupitem_CopyURI"));
+       g_signal_connect (widget, "activate", G_CALLBACK(copy_uri_cb), window);
+
+       /* Quit (Ctrl + Q) */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_Quit"));
+       g_signal_connect (widget, "activate", G_CALLBACK(quit_cb), window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, "toolitem_Quit"));
+       g_signal_connect (widget, "clicked", G_CALLBACK(quit_cb), window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, "systray_Quit"));
+       g_signal_connect (widget, "activate", G_CALLBACK(quit_cb), window);
+
+       /* Online Help (Ctrl + H) */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_OnlineHelp"));
+       g_signal_connect (widget, "activate", G_CALLBACK(help_cb), window);
+
+       /* Supported Schemes */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_SupportedSchemes"));
+       g_signal_connect (widget, "activate", G_CALLBACK(supported_schemes_cb), 
window);
+
+       /* About */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_About"));
+       g_signal_connect (widget, "activate", G_CALLBACK(about_cb), window);
+
+       /* Views */
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_ShowPanel"));
+       g_object_set_data_full (G_OBJECT (widget), "opt-view", 
g_strdup("show-panel"), (GDestroyNotify) g_free);
+       g_signal_connect (widget, "toggled", G_CALLBACK(toggle_view_cb), 
window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_ShowToolbar"));
+       g_object_set_data_full (G_OBJECT (widget), "opt-view", 
g_strdup("show-toolbar"), (GDestroyNotify) g_free);
+       g_signal_connect (widget, "toggled", G_CALLBACK(toggle_view_cb), 
window);
+       
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_ShowInSystray"));
+       g_object_set_data_full (G_OBJECT (widget), "opt-view", 
g_strdup("show-in-systray"), (GDestroyNotify) g_free);
+       g_signal_connect (widget, "toggled", G_CALLBACK(toggle_view_cb), 
window);
+
+       widget = GTK_WIDGET (gtk_builder_get_object (builder, 
"menuitem_ViewSymbols"));
+       g_signal_connect (widget, "toggled", G_CALLBACK(view_mode_change_cb), 
window);
+}
+
+
+static void create_ui_elements(GigoloWindow *window)
+{
+       GError *error = NULL;
+       GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
+       priv->builder = gtk_builder_new();
+       gtk_builder_add_from_string(priv->builder, gigolo_ui,
+                                                               
gigolo_ui_length, &error);
+
+       priv->vbox = GTK_WIDGET (gtk_builder_get_object (priv->builder, 
"vbox"));
+       priv->hbox_view = GTK_WIDGET (gtk_builder_get_object (priv->builder, 
"hbox_view"));
+       priv->notebook_panel = GTK_WIDGET (gtk_builder_get_object 
(priv->builder, "notebook_panel"));
+       priv->panel_pane = GTK_WIDGET (gtk_builder_get_object (priv->builder, 
"panel_pane"));
+       priv->swin_treeview = GTK_WIDGET (gtk_builder_get_object 
(priv->builder, "swin_treeview"));
+       priv->swin_iconview = GTK_WIDGET (gtk_builder_get_object 
(priv->builder, "swin_iconview"));
+       priv->tree_popup_menu = GTK_WIDGET (gtk_builder_get_object 
(priv->builder, "tree_popup_menu"));
+       priv->toolbar = GTK_WIDGET (gtk_builder_get_object (priv->builder, 
"toolbar"));
+       priv->systray_icon_popup_menu = GTK_WIDGET (gtk_builder_get_object 
(priv->builder, "systray_icon_popup_menu"));
+       priv->notebook_store = GTK_WIDGET (gtk_builder_get_object 
(priv->builder, "notebook_store"));
+
+       gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook_store), 0);
+
+       g_object_ref (priv->vbox);
+       gtk_container_remove (GTK_CONTAINER (gtk_builder_get_object 
(priv->builder, "gigolo_window")), priv->vbox);
+       gtk_container_add (GTK_CONTAINER (window), priv->vbox);
+       g_object_unref (priv->vbox);
+
+       priv->bookmarks_menu = gigolo_menu_button_action_new("Bookmarks");
+       g_signal_connect(priv->bookmarks_menu, "item-clicked",
                G_CALLBACK(action_bookmark_activate_cb), window);
-       g_signal_connect(priv->action_bookmarks, "button-clicked", 
G_CALLBACK(action_mount_cb), window);
-
-       priv->action_group = gtk_action_group_new("UI");
-       gtk_action_group_set_translation_domain(priv->action_group, 
GETTEXT_PACKAGE);
-       gtk_action_group_add_actions(priv->action_group, entries, entries_n, 
window);
-       gtk_action_group_add_toggle_actions(priv->action_group, toggle_entries, 
toggle_entries_n, window);
-       gtk_action_group_add_radio_actions(priv->action_group, radio_entries, 
radio_entries_n, -1,
-               G_CALLBACK(action_view_mode_change_cb), window);
-       gtk_action_group_add_action(priv->action_group, priv->action_bookmarks);
-       gtk_ui_manager_insert_action_group(ui_manager, priv->action_group, 0);
-       gtk_window_add_accel_group(GTK_WINDOW(window), 
gtk_ui_manager_get_accel_group(ui_manager));
-
-       /* set terminal icon for the "OpenTerminal" action */
-       open_terminal = gtk_action_group_get_action(priv->action_group, 
"OpenTerminal");
-       icon_theme = 
gtk_icon_theme_get_for_screen(gtk_widget_get_screen(GTK_WIDGET(window)));
-       if (gtk_icon_theme_has_icon(icon_theme, "utilities-terminal"))
-               gtk_action_set_icon_name(open_terminal, "utilities-terminal");
-       else
-               gtk_action_set_icon_name(open_terminal, "document-open");
+       g_signal_connect(priv->bookmarks_menu, "button-clicked", 
G_CALLBACK(mount_cb), window);
 
-       if (! gtk_ui_manager_add_ui_from_string(ui_manager, ui_markup, -1, 
&error))
-       {
-               verbose("User interface couldn't be created: %s", 
error->message);
-               g_error_free(error);
-       }
+       bind_actions (window);
 }
 
 
@@ -1357,9 +1405,9 @@ static void 
tree_mounted_col_toggled_cb(GtkCellRendererToggle *cell, gchar *pth,
        gtk_tree_selection_select_path(selection, path);
 
        if (gtk_cell_renderer_toggle_get_active(cell))
-               action_unmount_cb(NULL, window);
+               unmount_cb(NULL, window);
        else
-               action_mount_cb(NULL, window);
+               mount_cb(NULL, window);
 
        gtk_tree_path_free(path);
 }
@@ -1471,18 +1519,11 @@ static void create_icon_view(GigoloWindow *window)
 }
 
 
-static GtkWidget *gigolo_window_create_panel(GigoloWindow *window)
+static void gigolo_window_create_panel(GigoloWindow *window)
 {
-       GtkWidget *panel_pane, *label;
+       GtkWidget *label;
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
 
-       panel_pane = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
-       gtk_paned_set_position(GTK_PANED(panel_pane), 200);
-
-       priv->notebook_panel = gtk_notebook_new();
-       gtk_notebook_set_tab_pos(GTK_NOTEBOOK(priv->notebook_panel), 
GTK_POS_LEFT);
-       gtk_widget_show(priv->notebook_panel);
-
        label = gtk_label_new(_("Bookmarks"));
        gtk_label_set_angle(GTK_LABEL(label), 90.0);
        gtk_widget_show(label);
@@ -1498,15 +1539,6 @@ static GtkWidget 
*gigolo_window_create_panel(GigoloWindow *window)
        priv->browse_panel = gigolo_browse_network_panel_new(window);
        gtk_widget_show(priv->browse_panel);
        gtk_notebook_append_page(GTK_NOTEBOOK(priv->notebook_panel), 
priv->browse_panel, label);
-
-       priv->hbox_view = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-       priv->hbox_pane = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-
-       gtk_paned_add1(GTK_PANED(panel_pane), priv->hbox_pane);
-       gtk_paned_add2(GTK_PANED(panel_pane), priv->hbox_view);
-       gtk_box_pack_start(GTK_BOX(priv->hbox_pane), priv->notebook_panel, 
TRUE, TRUE, 0);
-
-       return panel_pane;
 }
 
 
@@ -1533,8 +1565,6 @@ static void update_side_panel(GigoloWindow *window)
 
 static void gigolo_window_init(GigoloWindow *window)
 {
-       GtkWidget *menubar, *panel_pane;
-       GtkUIManager *ui_manager;
        GigoloWindowPrivate *priv = gigolo_window_get_instance_private(window);
 
        priv->autoconnect_timeout_id = (guint) -1;
@@ -1550,19 +1580,9 @@ static void gigolo_window_init(GigoloWindow *window)
 
        create_tree_view(window);
        create_icon_view(window);
+       create_ui_elements(window);
 
-       priv->swin_treeview = gtk_scrolled_window_new(NULL, NULL);
-       gtk_widget_set_hexpand(GTK_WIDGET(priv->swin_treeview), TRUE);
-       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(priv->swin_treeview),
-               GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-       
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(priv->swin_treeview), 
GTK_SHADOW_IN);
        gtk_container_add(GTK_CONTAINER(priv->swin_treeview), priv->treeview);
-
-       priv->swin_iconview = gtk_scrolled_window_new(NULL, NULL);
-       gtk_widget_set_hexpand(GTK_WIDGET(priv->swin_iconview), TRUE);
-       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(priv->swin_iconview),
-               GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-       
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(priv->swin_iconview), 
GTK_SHADOW_IN);
        gtk_container_add(GTK_CONTAINER(priv->swin_iconview), priv->iconview);
 
        /* Init the GVfs backend */
@@ -1571,49 +1591,13 @@ static void gigolo_window_init(GigoloWindow *window)
        g_signal_connect(priv->backend_gvfs, "operation-failed",
                G_CALLBACK(mount_operation_failed_cb), window);
 
-       /* UI Manager */
-       ui_manager = gtk_ui_manager_new();
-       create_ui_elements(window, ui_manager);
-       menubar = gtk_ui_manager_get_widget(ui_manager, "/menubar");
-       priv->toolbar = gtk_ui_manager_get_widget(ui_manager, "/toolbar");
-       priv->systray_icon_popup_menu = gtk_ui_manager_get_widget(ui_manager, 
"/systraymenu");
-       priv->tree_popup_menu = gtk_ui_manager_get_widget(ui_manager, 
"/treemenu");
-       /* increase refcount to keep the widgets after the ui manager is 
destroyed */
-       g_object_ref(priv->systray_icon_popup_menu);
-       g_object_ref(priv->tree_popup_menu);
-       g_object_ref(priv->toolbar);
-       g_object_ref(priv->swin_treeview);
-       g_object_ref(priv->swin_iconview);
-
-       /* Buttons */
-       priv->action_connect = gtk_action_group_get_action(priv->action_group, 
"Connect");
-       priv->action_disconnect = 
gtk_action_group_get_action(priv->action_group, "Disconnect");
-       priv->action_bookmark_create = 
gtk_action_group_get_action(priv->action_group, "CreateBookmark");
-       priv->action_open = gtk_action_group_get_action(priv->action_group, 
"Open");
-       priv->action_open_terminal = 
gtk_action_group_get_action(priv->action_group, "OpenTerminal");
-       priv->action_copyuri = gtk_action_group_get_action(priv->action_group, 
"CopyURI");
-
-       g_object_set(priv->action_bookmarks, "is-important", TRUE, NULL);
-       g_object_set(gtk_action_group_get_action(priv->action_group, 
"EditBookmarks"),
-               "is-important", TRUE, NULL);
-
        /* Panel */
-       priv->panel_pane = panel_pane = gigolo_window_create_panel(window);
-
-       /* Pack the widgets altogether */
-       priv->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
-
-       gtk_box_pack_start(GTK_BOX(priv->vbox), menubar, FALSE, FALSE, 0);
-       gtk_box_pack_start(GTK_BOX(priv->vbox), priv->toolbar, FALSE, FALSE, 0);
-
-       gtk_box_pack_start(GTK_BOX(priv->hbox_view), priv->swin_iconview, TRUE, 
TRUE, 0);
-       gtk_box_pack_start(GTK_BOX(priv->vbox), panel_pane, TRUE, TRUE, 0);
-
-       gtk_container_add(GTK_CONTAINER(window), priv->vbox);
+       gigolo_window_create_panel(window);
 
        /* Show everything */
        gtk_widget_show_all(priv->vbox);
        gtk_widget_show_all(priv->swin_treeview);
+       gtk_widget_show_all(priv->swin_iconview);
 
        /* Status icon */
        G_GNUC_BEGIN_IGNORE_DEPRECATIONS /* Gtk 3.14 */
@@ -1623,8 +1607,6 @@ static void gigolo_window_init(GigoloWindow *window)
        g_signal_connect(priv->systray_icon, "activate", 
G_CALLBACK(systray_icon_activate_cb), window);
        g_signal_connect(priv->systray_icon, "popup-menu", 
G_CALLBACK(systray_icon_popup_menu_cb), window);
        g_signal_connect(priv->systray_icon, "notify", 
G_CALLBACK(gigolo_window_systray_notify_cb), window);
-
-       g_object_unref(ui_manager);
 }
 
 
@@ -1641,7 +1623,7 @@ GtkWidget *gigolo_window_new(GigoloSettings *settings)
        priv->settings = settings;
        g_signal_connect(settings, "notify", 
G_CALLBACK(gigolo_window_settings_notify_cb), window);
 
-       g_object_set(priv->action_bookmarks, "settings", settings, NULL);
+       g_object_set(priv->bookmarks_menu, "settings", settings, NULL);
 
        g_object_set(priv->backend_gvfs, "parent", window, "store", 
priv->store, NULL);
 
@@ -1652,16 +1634,16 @@ GtkWidget *gigolo_window_new(GigoloSettings *settings)
        /* Show Panel */
        state = gigolo_settings_get_boolean(settings, "show-panel");
        gigolo_window_show_side_panel(GIGOLO_WINDOW(window), state);
-       toggle_action_set_active(GIGOLO_WINDOW(window), "ShowPanel", state);
+       toggle_set_active(GIGOLO_WINDOW(window), "ShowPanel", state);
        update_side_panel(GIGOLO_WINDOW(window));
        /* Show Toolbar */
        state = gigolo_settings_get_boolean(settings, "show-toolbar");
        gigolo_window_show_toolbar(GIGOLO_WINDOW(window), state);
-       toggle_action_set_active(GIGOLO_WINDOW(window), "ShowToolbar", state);
+       toggle_set_active(GIGOLO_WINDOW(window), "ShowToolbar", state);
        /* Show Status Icon */
        state = gigolo_settings_get_boolean(settings, "show-in-systray");
        gigolo_window_show_systray_icon(GIGOLO_WINDOW(window), state);
-       toggle_action_set_active(GIGOLO_WINDOW(window), "ShowInSystray", state);
+       toggle_set_active(GIGOLO_WINDOW(window), "ShowInSystray", state);
        /* View Mode */
        value = gigolo_settings_get_integer(settings, "view-mode");
        gigolo_window_set_view_mode(GIGOLO_WINDOW(window), value);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to