[Xfce4-commits] <ristretto:devel> Use GtkBuilder to generate the main_window

Stephan Arts stephan at xfce.org
Sun Aug 16 09:42:02 CEST 2009


Updating branch refs/heads/devel
         to d567f90a0d7e0c1de8d192e35219d4114e031ce7 (commit)
       from 9c672b55fd8fa1b918efd55427f0f96b51857472 (commit)

commit d567f90a0d7e0c1de8d192e35219d4114e031ce7
Author: Stephan Arts <stephan at xfce.org>
Date:   Fri Aug 14 22:42:46 2009 +0200

    Use GtkBuilder to generate the main_window

 src/Makefile.am       |   10 +-
 src/image_viewer.c    |   21 +++
 src/main.c            |   61 ++++++-
 src/main_window.c     |  132 ---------------
 src/main_window.glade |  440 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/main_window.h     |   75 ---------
 src/main_window.ui    |  423 +++++++++++++++++++++++++++++++++++++++++++++++
 src/main_window_ui.h  |  168 +++++++++++++++++++
 8 files changed, 1116 insertions(+), 214 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 4b8a672..3fc6f8c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -14,7 +14,7 @@ ristretto_SOURCES = \
 	transition_renderer.c transition_renderer.h \
 	settings.c settings.h \
 	image.c image.h \
-	main_window.c main_window.h \
+	main_window_ui.h \
 	main.c
 
 ristretto_CFLAGS = \
@@ -47,5 +47,13 @@ INCLUDES = \
 
 if MAINTAINER_MODE
 
+BUILT_SOURCES = \
+	main_window_ui.h
+
+main_window_ui.h: main_window.ui
+	exo-csource --static --strip-comments --strip-content --name=main_window_ui $< >$@
+
 endif
 
+EXTRA_DIST = \
+	appearance-dialog.ui
diff --git a/src/image_viewer.c b/src/image_viewer.c
index d16d1d3..3560b3b 100644
--- a/src/image_viewer.c
+++ b/src/image_viewer.c
@@ -35,6 +35,8 @@ static void
 rstto_image_viewer_init (GObject *);
 static void
 rstto_image_viewer_class_init (GObjectClass *);
+static void
+rstto_image_viewer_buildable_init (GtkBuildableIface *);
 static gboolean
 rstto_image_viewer_set_scroll_adjustments (RsttoImageViewer *, 
                                            GtkAdjustment *,
@@ -47,6 +49,7 @@ struct _RsttoImageViewerPriv
 };
 
 static GtkWidgetClass *parent_class = NULL;
+static GtkBuildableIface *parent_buildable_iface;
 
 GType
 rstto_image_viewer_get_type (void)
@@ -71,6 +74,18 @@ rstto_image_viewer_get_type (void)
 
         rstto_image_viewer_type = g_type_register_static (GTK_TYPE_WIDGET, "RsttoImageViewer", &rstto_image_viewer_info, 0);
     }
+
+    static const GInterfaceInfo buildable_info =
+    {
+       (GInterfaceInitFunc) rstto_image_viewer_buildable_init,
+            NULL,
+            NULL
+    } ;
+
+    g_type_add_interface_static (rstto_image_viewer_type,
+                                 GTK_TYPE_BUILDABLE,
+                                 &buildable_info);
+
     return rstto_image_viewer_type;
 }
 
@@ -170,6 +185,12 @@ rstto_image_viewer_class_init (GObjectClass *object_class)
                                 GTK_TYPE_ADJUSTMENT);
 }
 
+static void
+rstto_image_viewer_buildable_init (GtkBuildableIface *iface)
+{
+  parent_buildable_iface = g_type_interface_peek_parent (iface);
+}
+
 static gboolean  
 rstto_image_viewer_set_scroll_adjustments (RsttoImageViewer *viewer,
                                            GtkAdjustment *hadjustment,
diff --git a/src/main.c b/src/main.c
index fb9cf2e..88dc7fd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -32,8 +32,14 @@
 
 #include "image.h"
 #include "image_list.h"
+#include "image_viewer.h"
+#include "main_window_ui.h"
 #include "settings.h"
-#include "main_window.h"
+
+#define TOP 0
+#define BOTTOM 1
+#define LEFT 2
+#define RIGHT 3
 
 
 gboolean version = FALSE;
@@ -57,13 +63,48 @@ static GOptionEntry entries[] =
     { NULL, ' ', 0, 0, NULL, NULL, NULL }
 };
 
+static void
+rstto_main_window_configure_widgets (GtkBuilder *builder)
+{
+    gint location = BOTTOM;
+
+    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "navbox"));
+    GtkWidget *table = GTK_WIDGET (gtk_builder_get_object (builder, "main_table"));
+
+    g_object_ref (nav_bar);
+    gtk_container_remove (GTK_CONTAINER(table), nav_bar);
+    switch (location)
+    {
+        case TOP:
+            gtk_table_attach (GTK_TABLE(table), nav_bar, 0, 3, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+            gtk_toolbar_set_orientation (GTK_TOOLBAR(nav_bar), GTK_ORIENTATION_HORIZONTAL);
+            break;
+        case BOTTOM:
+            gtk_table_attach (GTK_TABLE(table), nav_bar, 0, 3, 2, 3, GTK_FILL, GTK_FILL, 0, 0);
+            gtk_toolbar_set_orientation (GTK_TOOLBAR (nav_bar), GTK_ORIENTATION_HORIZONTAL);
+            break;
+        case LEFT:
+            gtk_table_attach (GTK_TABLE(table), nav_bar, 0, 1, 0, 3, GTK_FILL, GTK_FILL, 0, 0);
+            gtk_toolbar_set_orientation (GTK_TOOLBAR (nav_bar), GTK_ORIENTATION_VERTICAL);
+            break;
+        case RIGHT:
+            gtk_table_attach (GTK_TABLE(table), nav_bar, 2, 3, 0, 3, GTK_FILL, GTK_FILL, 0, 0);
+            gtk_toolbar_set_orientation (GTK_TOOLBAR (nav_bar), GTK_ORIENTATION_VERTICAL);
+            break;
+    }
+
+}
+
 int
 main(int argc, char **argv)
 {
     GError *cli_error = NULL;
     RsttoSettings *settings;
-    RsttoImageList *image_list;
     GtkWidget *window;
+    GtkWidget *nav_bar;
+    GtkBuilder *builder;
+    GtkWidget *table;
+    GError *error = NULL;
 
     #ifdef ENABLE_NLS
     bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
@@ -89,15 +130,23 @@ main(int argc, char **argv)
 
     xfconf_init(NULL);
 
-    gtk_window_set_default_icon_name("ristretto");
+    settings = rstto_settings_new();
 
-    image_list = rstto_image_list_new ();
-    window = rstto_main_window_new (image_list);
+    builder = gtk_builder_new();
+    
+    if (gtk_builder_add_from_string (builder, main_window_ui,
+                                     main_window_ui_length, &error) != 0)
+    {
+        window = GTK_WIDGET (gtk_builder_get_object (builder, "mainwindow"));
+        rstto_main_window_configure_widgets (builder);
+        g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
+    }
 
-    gtk_widget_show_all (window);
 
+    gtk_widget_show_all(window);
     gtk_main();
 
+    g_object_unref (G_OBJECT (settings));
     xfconf_shutdown();
 
     return 0;
diff --git a/src/main_window.c b/src/main_window.c
deleted file mode 100644
index 7ed0b4d..0000000
--- a/src/main_window.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- *  Copyright (C) Stephan Arts 2006-2009 <stephan at xfce.org>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include <X11/Xlib.h>
-#include <string.h>
-
-#include <gio/gio.h>
-
-#include <libxfcegui4/libxfcegui4.h>
-#include <libexif/exif-data.h>
-
-#include <cairo/cairo.h>
-
-#include "image_list.h"
-#include "main_window.h"
-
-#define XFDESKTOP_SELECTION_FMT "XFDESKTOP_SELECTION_%d"
-
-#ifndef RISTRETTO_APP_TITLE
-#define RISTRETTO_APP_TITLE "Image viewer"
-#endif
-
-
-#ifndef ZOOM_FACTOR
-#define ZOOM_FACTOR 1.2
-#endif
-
-struct _RsttoMainWindowPriv
-{
-};
-
-static void
-rstto_main_window_init (RsttoMainWindow *);
-static void
-rstto_main_window_class_init(RsttoMainWindowClass *);
-static void
-rstto_main_window_dispose(GObject *object);
-
-static void
-rstto_main_window_set_property (GObject      *object,
-                                guint         property_id,
-                                const GValue *value,
-                                GParamSpec   *pspec);
-static void
-rstto_main_window_get_property (GObject    *object,
-                                guint       property_id,
-                                GValue     *value,
-                                GParamSpec *pspec);
-
-static GtkWidgetClass *parent_class = NULL;
-
-GType
-rstto_main_window_get_type (void)
-{
-    static GType rstto_main_window_type = 0;
-
-    if (!rstto_main_window_type)
-    {
-        static const GTypeInfo rstto_main_window_info = 
-        {
-            sizeof (RsttoMainWindowClass),
-            (GBaseInitFunc) NULL,
-            (GBaseFinalizeFunc) NULL,
-            (GClassInitFunc) rstto_main_window_class_init,
-            (GClassFinalizeFunc) NULL,
-            NULL,
-            sizeof (RsttoMainWindow),
-            0,
-            (GInstanceInitFunc) rstto_main_window_init,
-            NULL
-        };
-
-        rstto_main_window_type = g_type_register_static (GTK_TYPE_WINDOW, "RsttoMainWindow", &rstto_main_window_info, 0);
-    }
-    return rstto_main_window_type;
-}
-
-static void
-rstto_main_window_init (RsttoMainWindow *window)
-{
-}
-
-static void
-rstto_main_window_class_init (RsttoMainWindowClass *window_class)
-{
-    GParamSpec *pspec;
-
-    GObjectClass *object_class = (GObjectClass*)window_class;
-    parent_class = g_type_class_peek_parent(window_class);
-
-    object_class->dispose = rstto_main_window_dispose;
-
-}
-
-static void
-rstto_main_window_dispose(GObject *object)
-{
-}
-
-/**
- * rstto_main_window_new:
- * @image_list:
- *
- * Return value:
- */
-GtkWidget *
-rstto_main_window_new (RsttoImageList *image_list)
-{
-    GtkWidget *widget;
-
-    widget = g_object_new (RSTTO_TYPE_MAIN_WINDOW, NULL);
-
-    return widget;
-}
diff --git a/src/main_window.glade b/src/main_window.glade
new file mode 100644
index 0000000..c1f2c56
--- /dev/null
+++ b/src/main_window.glade
@@ -0,0 +1,440 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--Generated with glade3 3.4.5 on Fri Aug 14 16:55:23 2009 -->
+<glade-interface>
+  <widget class="GtkWindow" id="mainwindow">
+    <child>
+      <widget class="GtkVBox" id="vbox1">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkMenuBar" id="menubar1">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkMenuItem" id="menuitem1">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_File</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menu1">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem1">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-new</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem2">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-open</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem3">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-save</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem4">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-save-as</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem5">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-quit</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="menuitem2">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Edit</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menu2">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem6">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-cut</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem7">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-copy</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem8">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-paste</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem9">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-delete</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="menuitem3">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_View</property>
+                <property name="use_underline">True</property>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="menuitem4">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Help</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menu3">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="imagemenuitem10">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">gtk-about</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkToolbar" id="toolbar1">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkToolButton" id="toolbutton1">
+                <property name="visible">True</property>
+                <property name="icon_name">document-open</property>
+              </widget>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkToolButton" id="toolbutton2">
+                <property name="visible">True</property>
+                <property name="icon_name">folder-open</property>
+              </widget>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkSeparatorToolItem" id="toolbutton3">
+                <property name="visible">True</property>
+              </widget>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkToolButton" id="toolbutton4">
+                <property name="visible">True</property>
+                <property name="stock_id">gtk-save-as</property>
+              </widget>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkToolButton" id="toolbutton5">
+                <property name="visible">True</property>
+                <property name="stock_id">gtk-close</property>
+              </widget>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkToolButton" id="toolbutton7">
+                <property name="visible">True</property>
+                <property name="stock_id">gtk-delete</property>
+              </widget>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkTable" id="main_table">
+            <property name="visible">True</property>
+            <property name="n_rows">3</property>
+            <property name="n_columns">3</property>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <widget class="GtkHPaned" id="hpaned1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <widget class="GtkHPaned" id="hpaned2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <child>
+                      <widget class="GtkVPaned" id="vpaned1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <widget class="GtkVPaned" id="vpaned2">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <child>
+                              <widget class="GtkScrolledWindow" id="center_wiindow">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="resize">False</property>
+                                <property name="shrink">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="resize">True</property>
+                            <property name="shrink">True</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="resize">False</property>
+                        <property name="shrink">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="resize">True</property>
+                    <property name="shrink">True</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkToolbar" id="navbox">
+                <property name="visible">True</property>
+                <property name="orientation">GTK_ORIENTATION_VERTICAL</property>
+                <child>
+                  <widget class="GtkToolButton" id="btn_previous_image">
+                    <property name="visible">True</property>
+                    <property name="stock_id">gtk-go-up</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="toolbutton6">
+                    <property name="visible">True</property>
+                    <property name="stock_id">gtk-media-play</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="btn_next_image">
+                    <property name="visible">True</property>
+                    <property name="stock_id">gtk-go-down</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkSeparatorToolItem" id="toolbutton8">
+                    <property name="visible">True</property>
+                    <property name="draw">False</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="toolbutton9">
+                    <property name="visible">True</property>
+                    <property name="icon_name">object-rotate-left</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="toolbutton10">
+                    <property name="visible">True</property>
+                    <property name="icon_name">object-rotate-right</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkSeparatorToolItem" id="toolbutton11">
+                    <property name="visible">True</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="toolbutton12">
+                    <property name="visible">True</property>
+                    <property name="icon_name">zoom-in</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="toolbutton13">
+                    <property name="visible">True</property>
+                    <property name="icon_name">zoom-out</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="toolbutton14">
+                    <property name="visible">True</property>
+                    <property name="icon_name">zoom-original</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="toolbutton15">
+                    <property name="visible">True</property>
+                    <property name="icon_name">zoom-fit-best</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkSeparatorToolItem" id="toolbutton16">
+                    <property name="visible">True</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="toolbutton17">
+                    <property name="visible">True</property>
+                    <property name="stock_id">gtk-fullscreen</property>
+                  </widget>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="bottom_attach">3</property>
+                <property name="x_options">GTK_FILL</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkStatusbar" id="statusbar1">
+            <property name="visible">True</property>
+            <property name="spacing">2</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>
diff --git a/src/main_window.h b/src/main_window.h
deleted file mode 100644
index 4eab475..0000000
--- a/src/main_window.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- *  Copyright (C) Stephan Arts 2006-2008 <stephan at xfce.org>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef __RISTRETTO_MAIN_WINDOW_H__
-#define __RISTRETTO_MAIN_WINDOW_H__
-
-G_BEGIN_DECLS
-
-#define RSTTO_TYPE_MAIN_WINDOW rstto_main_window_get_type()
-
-#define RSTTO_MAIN_WINDOW(obj)( \
-        G_TYPE_CHECK_INSTANCE_CAST ((obj), \
-                RSTTO_TYPE_MAIN_WINDOW, \
-                RsttoMainWindow))
-
-#define RSTTO_IS_MAIN_WINDOW(obj)( \
-        G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
-                RSTTO_TYPE_MAIN_WINDOW))
-
-#define RSTTO_MAIN_WINDOW_CLASS(klass)( \
-        G_TYPE_CHECK_CLASS_CAST ((klass), \
-                RSTTO_TYPE_MAIN_WINDOW, \
-                RsttoMainWindowClass))
-
-#define RSTTO_IS_MAIN_WINDOW_CLASS(klass)( \
-        G_TYPE_CHECK_CLASS_TYPE ((klass), \
-                RSTTO_TYPE_MAIN_WINDOW()))
-
-typedef struct _RsttoMainWindowPriv RsttoMainWindowPriv;
-
-typedef struct _RsttoMainWindow RsttoMainWindow;
-
-struct _RsttoMainWindow
-{
-    GtkWindow         parent;
-    RsttoMainWindowPriv *priv;
-};
-
-typedef struct _RsttoMainWindowClass RsttoMainWindowClass;
-
-struct _RsttoMainWindowClass
-{
-    GtkWindowClass  parent_class;
-};
-
-typedef enum {
-    RSTTO_DESKTOP_NONE,
-    RSTTO_DESKTOP_XFCE,
-    RSTTO_DESKTOP_GNOME
-} RsttoDesktop;
-
-
-GType      rstto_main_window_get_type();
-
-GtkWidget *rstto_main_window_new (RsttoImageList *);
-
-G_END_DECLS
-
-#endif /* __RISTRETTO_MAIN_WINDOW_H__ */
-
diff --git a/src/main_window.ui b/src/main_window.ui
new file mode 100644
index 0000000..6442e1c
--- /dev/null
+++ b/src/main_window.ui
@@ -0,0 +1,423 @@
+<?xml version="1.0"?>
+<!--Generated with glade3 3.4.5 on Fri Aug 14 16:55:23 2009 -->
+<interface>
+  <object class="GtkUIManager" id="uimanager1">
+    <child>
+      <object class="GtkActionGroup" id="actiongroup1">
+        <child>
+          <object class="GtkAction" id="menuitem1">
+            <property name="name">menuitem1</property>
+            <property name="label" translatable="yes">_File</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem1">
+            <property name="stock_id" translatable="yes">gtk-new</property>
+            <property name="name">imagemenuitem1</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem2">
+            <property name="stock_id" translatable="yes">gtk-open</property>
+            <property name="name">imagemenuitem2</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem3">
+            <property name="stock_id" translatable="yes">gtk-save</property>
+            <property name="name">imagemenuitem3</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem4">
+            <property name="stock_id" translatable="yes">gtk-save-as</property>
+            <property name="name">imagemenuitem4</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem5">
+            <property name="stock_id" translatable="yes">gtk-quit</property>
+            <property name="name">imagemenuitem5</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="menuitem2">
+            <property name="name">menuitem2</property>
+            <property name="label" translatable="yes">_Edit</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem6">
+            <property name="stock_id" translatable="yes">gtk-cut</property>
+            <property name="name">imagemenuitem6</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem7">
+            <property name="stock_id" translatable="yes">gtk-copy</property>
+            <property name="name">imagemenuitem7</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem8">
+            <property name="stock_id" translatable="yes">gtk-paste</property>
+            <property name="name">imagemenuitem8</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem9">
+            <property name="stock_id" translatable="yes">gtk-delete</property>
+            <property name="name">imagemenuitem9</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="menuitem3">
+            <property name="name">menuitem3</property>
+            <property name="label" translatable="yes">_View</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="menuitem4">
+            <property name="name">menuitem4</property>
+            <property name="label" translatable="yes">_Help</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="imagemenuitem10">
+            <property name="stock_id" translatable="yes">gtk-about</property>
+            <property name="name">imagemenuitem10</property>
+          </object>
+        </child>
+      </object>
+    </child>
+    <ui>
+      <menubar name="menubar1">
+        <menu action="menuitem1">
+          <menuitem action="imagemenuitem1"/>
+          <menuitem action="imagemenuitem2"/>
+          <menuitem action="imagemenuitem3"/>
+          <menuitem action="imagemenuitem4"/>
+          <separator/>
+          <menuitem action="imagemenuitem5"/>
+        </menu>
+        <menu action="menuitem2">
+          <menuitem action="imagemenuitem6"/>
+          <menuitem action="imagemenuitem7"/>
+          <menuitem action="imagemenuitem8"/>
+          <menuitem action="imagemenuitem9"/>
+        </menu>
+        <menuitem action="menuitem3"/>
+        <menu action="menuitem4">
+          <menuitem action="imagemenuitem10"/>
+        </menu>
+      </menubar>
+    </ui>
+  </object>
+  <object class="GtkWindow" id="mainwindow">
+    <child>
+      <object class="GtkVBox" id="main_vbox">
+        <property name="visible">True</property>
+        <child>
+          <object class="GtkMenuBar" constructor="uimanager1" id="menubar1">
+            <property name="visible">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkToolbar" id="toolbar1">
+            <property name="visible">True</property>
+            <child>
+              <object class="GtkToolButton" id="toolbutton1">
+                <property name="visible">True</property>
+                <property name="icon_name">document-open</property>
+              </object>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="toolbutton2">
+                <property name="visible">True</property>
+                <property name="icon_name">folder-open</property>
+              </object>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSeparatorToolItem" id="toolbutton3">
+                <property name="visible">True</property>
+              </object>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="toolbutton4">
+                <property name="visible">True</property>
+                <property name="stock_id">gtk-save-as</property>
+              </object>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="toolbutton5">
+                <property name="visible">True</property>
+                <property name="stock_id">gtk-close</property>
+              </object>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="toolbutton7">
+                <property name="visible">True</property>
+                <property name="stock_id">gtk-delete</property>
+              </object>
+              <packing>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkTable" id="main_table">
+            <property name="visible">True</property>
+            <property name="n_rows">3</property>
+            <property name="n_columns">3</property>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <object class="GtkHPaned" id="hpaned1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <object class="GtkHPaned" id="hpaned2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <child>
+                      <object class="GtkVPaned" id="vpaned1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <object class="GtkVPaned" id="vpaned2">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <child>
+                              <object class="GtkScrolledWindow" id="center_wiindow">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="resize">False</property>
+                                <property name="shrink">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="resize">True</property>
+                            <property name="shrink">True</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="resize">False</property>
+                        <property name="shrink">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="resize">True</property>
+                    <property name="shrink">True</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolbar" id="navbox">
+                <property name="visible">True</property>
+                <property name="orientation">GTK_ORIENTATION_VERTICAL</property>
+                <child>
+                  <object class="GtkToolButton" id="btn_previous_image">
+                    <property name="visible">True</property>
+                    <property name="stock_id">gtk-go-up</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="toolbutton6">
+                    <property name="visible">True</property>
+                    <property name="stock_id">gtk-media-play</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="btn_next_image">
+                    <property name="visible">True</property>
+                    <property name="stock_id">gtk-go-down</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSeparatorToolItem" id="toolbutton8">
+                    <property name="visible">True</property>
+                    <property name="draw">False</property>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="toolbutton9">
+                    <property name="visible">True</property>
+                    <property name="icon_name">object-rotate-left</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="toolbutton10">
+                    <property name="visible">True</property>
+                    <property name="icon_name">object-rotate-right</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSeparatorToolItem" id="toolbutton11">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="toolbutton12">
+                    <property name="visible">True</property>
+                    <property name="icon_name">zoom-in</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="toolbutton13">
+                    <property name="visible">True</property>
+                    <property name="icon_name">zoom-out</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="toolbutton14">
+                    <property name="visible">True</property>
+                    <property name="icon_name">zoom-original</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="toolbutton15">
+                    <property name="visible">True</property>
+                    <property name="icon_name">zoom-fit-best</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSeparatorToolItem" id="toolbutton16">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="toolbutton17">
+                    <property name="visible">True</property>
+                    <property name="stock_id">gtk-fullscreen</property>
+                  </object>
+                  <packing>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="bottom_attach">3</property>
+                <property name="x_options">GTK_FILL</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkStatusbar" id="statusbar1">
+            <property name="visible">True</property>
+            <property name="spacing">2</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff --git a/src/main_window_ui.h b/src/main_window_ui.h
new file mode 100644
index 0000000..a6ba654
--- /dev/null
+++ b/src/main_window_ui.h
@@ -0,0 +1,168 @@
+/* automatically generated from main_window.ui */
+#ifdef __SUNPRO_C
+#pragma align 4 (main_window_ui)
+#endif
+#ifdef __GNUC__
+static const char main_window_ui[] __attribute__ ((__aligned__ (4))) =
+#else
+static const char main_window_ui[] =
+#endif
+{
+  "<?xml version=\"1.0\"?><interface><object class=\"GtkUIManager\" id=\"u"
+  "imanager1\"><child><object class=\"GtkActionGroup\" id=\"actiongroup1\""
+  "><child><object class=\"GtkAction\" id=\"menuitem1\"><property name=\"n"
+  "ame\">menuitem1</property><property name=\"label\" translatable=\"yes\""
+  ">_File</property></object></child><child><object class=\"GtkAction\" id"
+  "=\"imagemenuitem1\"><property name=\"stock_id\" translatable=\"yes\">gt"
+  "k-new</property><property name=\"name\">imagemenuitem1</property></obje"
+  "ct></child><child><object class=\"GtkAction\" id=\"imagemenuitem2\"><pr"
+  "operty name=\"stock_id\" translatable=\"yes\">gtk-open</property><prope"
+  "rty name=\"name\">imagemenuitem2</property></object></child><child><obj"
+  "ect class=\"GtkAction\" id=\"imagemenuitem3\"><property name=\"stock_id"
+  "\" translatable=\"yes\">gtk-save</property><property name=\"name\">imag"
+  "emenuitem3</property></object></child><child><object class=\"GtkAction\""
+  " id=\"imagemenuitem4\"><property name=\"stock_id\" translatable=\"yes\""
+  ">gtk-save-as</property><property name=\"name\">imagemenuitem4</property"
+  "></object></child><child><object class=\"GtkAction\" id=\"imagemenuitem"
+  "5\"><property name=\"stock_id\" translatable=\"yes\">gtk-quit</property"
+  "><property name=\"name\">imagemenuitem5</property></object></child><chi"
+  "ld><object class=\"GtkAction\" id=\"menuitem2\"><property name=\"name\""
+  ">menuitem2</property><property name=\"label\" translatable=\"yes\">_Edi"
+  "t</property></object></child><child><object class=\"GtkAction\" id=\"im"
+  "agemenuitem6\"><property name=\"stock_id\" translatable=\"yes\">gtk-cut"
+  "</property><property name=\"name\">imagemenuitem6</property></object></"
+  "child><child><object class=\"GtkAction\" id=\"imagemenuitem7\"><propert"
+  "y name=\"stock_id\" translatable=\"yes\">gtk-copy</property><property n"
+  "ame=\"name\">imagemenuitem7</property></object></child><child><object c"
+  "lass=\"GtkAction\" id=\"imagemenuitem8\"><property name=\"stock_id\" tr"
+  "anslatable=\"yes\">gtk-paste</property><property name=\"name\">imagemen"
+  "uitem8</property></object></child><child><object class=\"GtkAction\" id"
+  "=\"imagemenuitem9\"><property name=\"stock_id\" translatable=\"yes\">gt"
+  "k-delete</property><property name=\"name\">imagemenuitem9</property></o"
+  "bject></child><child><object class=\"GtkAction\" id=\"menuitem3\"><prop"
+  "erty name=\"name\">menuitem3</property><property name=\"label\" transla"
+  "table=\"yes\">_View</property></object></child><child><object class=\"G"
+  "tkAction\" id=\"menuitem4\"><property name=\"name\">menuitem4</property"
+  "><property name=\"label\" translatable=\"yes\">_Help</property></object"
+  "></child><child><object class=\"GtkAction\" id=\"imagemenuitem10\"><pro"
+  "perty name=\"stock_id\" translatable=\"yes\">gtk-about</property><prope"
+  "rty name=\"name\">imagemenuitem10</property></object></child></object><"
+  "/child><ui><menubar name=\"menubar1\"><menu action=\"menuitem1\"><menui"
+  "tem action=\"imagemenuitem1\"/><menuitem action=\"imagemenuitem2\"/><me"
+  "nuitem action=\"imagemenuitem3\"/><menuitem action=\"imagemenuitem4\"/>"
+  "<separator/><menuitem action=\"imagemenuitem5\"/></menu><menu action=\""
+  "menuitem2\"><menuitem action=\"imagemenuitem6\"/><menuitem action=\"ima"
+  "gemenuitem7\"/><menuitem action=\"imagemenuitem8\"/><menuitem action=\""
+  "imagemenuitem9\"/></menu><menuitem action=\"menuitem3\"/><menu action=\""
+  "menuitem4\"><menuitem action=\"imagemenuitem10\"/></menu></menubar></ui"
+  "></object><object class=\"GtkWindow\" id=\"mainwindow\"><child><object "
+  "class=\"GtkVBox\" id=\"main_vbox\"><property name=\"visible\">True</pro"
+  "perty><child><object class=\"GtkMenuBar\" constructor=\"uimanager1\" id"
+  "=\"menubar1\"><property name=\"visible\">True</property></object><packi"
+  "ng><property name=\"expand\">False</property></packing></child><child><"
+  "object class=\"GtkToolbar\" id=\"toolbar1\"><property name=\"visible\">"
+  "True</property><child><object class=\"GtkToolButton\" id=\"toolbutton1\""
+  "><property name=\"visible\">True</property><property name=\"icon_name\""
+  ">document-open</property></object><packing><property name=\"homogeneous"
+  "\">True</property></packing></child><child><object class=\"GtkToolButto"
+  "n\" id=\"toolbutton2\"><property name=\"visible\">True</property><prope"
+  "rty name=\"icon_name\">folder-open</property></object><packing><propert"
+  "y name=\"homogeneous\">True</property></packing></child><child><object "
+  "class=\"GtkSeparatorToolItem\" id=\"toolbutton3\"><property name=\"visi"
+  "ble\">True</property></object><packing><property name=\"homogeneous\">T"
+  "rue</property></packing></child><child><object class=\"GtkToolButton\" "
+  "id=\"toolbutton4\"><property name=\"visible\">True</property><property "
+  "name=\"stock_id\">gtk-save-as</property></object><packing><property nam"
+  "e=\"homogeneous\">True</property></packing></child><child><object class"
+  "=\"GtkToolButton\" id=\"toolbutton5\"><property name=\"visible\">True</"
+  "property><property name=\"stock_id\">gtk-close</property></object><pack"
+  "ing><property name=\"homogeneous\">True</property></packing></child><ch"
+  "ild><object class=\"GtkToolButton\" id=\"toolbutton7\"><property name=\""
+  "visible\">True</property><property name=\"stock_id\">gtk-delete</proper"
+  "ty></object><packing><property name=\"homogeneous\">True</property></pa"
+  "cking></child></object><packing><property name=\"expand\">False</proper"
+  "ty><property name=\"position\">1</property></packing></child><child><ob"
+  "ject class=\"GtkTable\" id=\"main_table\"><property name=\"visible\">Tr"
+  "ue</property><property name=\"n_rows\">3</property><property name=\"n_c"
+  "olumns\">3</property><child><placeholder/></child><child><placeholder/>"
+  "</child><child><placeholder/></child><child><placeholder/></child><chil"
+  "d><placeholder/></child><child><object class=\"GtkHPaned\" id=\"hpaned1"
+  "\"><property name=\"visible\">True</property><property name=\"can_focus"
+  "\">True</property><child><placeholder/></child><child><object class=\"G"
+  "tkHPaned\" id=\"hpaned2\"><property name=\"visible\">True</property><pr"
+  "operty name=\"can_focus\">True</property><child><object class=\"GtkVPan"
+  "ed\" id=\"vpaned1\"><property name=\"visible\">True</property><property"
+  " name=\"can_focus\">True</property><child><placeholder/></child><child>"
+  "<object class=\"GtkVPaned\" id=\"vpaned2\"><property name=\"visible\">T"
+  "rue</property><property name=\"can_focus\">True</property><child><objec"
+  "t class=\"GtkScrolledWindow\" id=\"center_wiindow\"><property name=\"vi"
+  "sible\">True</property><property name=\"can_focus\">True</property><pro"
+  "perty name=\"hscrollbar_policy\">GTK_POLICY_AUTOMATIC</property><proper"
+  "ty name=\"vscrollbar_policy\">GTK_POLICY_AUTOMATIC</property><property "
+  "name=\"shadow_type\">GTK_SHADOW_IN</property><child><placeholder/></chi"
+  "ld></object><packing><property name=\"resize\">False</property><propert"
+  "y name=\"shrink\">True</property></packing></child><child><placeholder/"
+  "></child></object><packing><property name=\"resize\">True</property><pr"
+  "operty name=\"shrink\">True</property></packing></child></object><packi"
+  "ng><property name=\"resize\">False</property><property name=\"shrink\">"
+  "True</property></packing></child><child><placeholder/></child></object>"
+  "<packing><property name=\"resize\">True</property><property name=\"shri"
+  "nk\">True</property></packing></child></object><packing><property name="
+  "\"left_attach\">1</property><property name=\"right_attach\">2</property"
+  "><property name=\"top_attach\">1</property><property name=\"bottom_atta"
+  "ch\">2</property></packing></child><child><object class=\"GtkToolbar\" "
+  "id=\"navbox\"><property name=\"visible\">True</property><property name="
+  "\"orientation\">GTK_ORIENTATION_VERTICAL</property><child><object class"
+  "=\"GtkToolButton\" id=\"btn_previous_image\"><property name=\"visible\""
+  ">True</property><property name=\"stock_id\">gtk-go-up</property></objec"
+  "t><packing><property name=\"homogeneous\">True</property></packing></ch"
+  "ild><child><object class=\"GtkToolButton\" id=\"toolbutton6\"><property"
+  " name=\"visible\">True</property><property name=\"stock_id\">gtk-media-"
+  "play</property></object><packing><property name=\"homogeneous\">True</p"
+  "roperty></packing></child><child><object class=\"GtkToolButton\" id=\"b"
+  "tn_next_image\"><property name=\"visible\">True</property><property nam"
+  "e=\"stock_id\">gtk-go-down</property></object><packing><property name=\""
+  "homogeneous\">True</property></packing></child><child><object class=\"G"
+  "tkSeparatorToolItem\" id=\"toolbutton8\"><property name=\"visible\">Tru"
+  "e</property><property name=\"draw\">False</property></object><packing><"
+  "property name=\"expand\">True</property></packing></child><child><objec"
+  "t class=\"GtkToolButton\" id=\"toolbutton9\"><property name=\"visible\""
+  ">True</property><property name=\"icon_name\">object-rotate-left</proper"
+  "ty></object><packing><property name=\"homogeneous\">True</property></pa"
+  "cking></child><child><object class=\"GtkToolButton\" id=\"toolbutton10\""
+  "><property name=\"visible\">True</property><property name=\"icon_name\""
+  ">object-rotate-right</property></object><packing><property name=\"homog"
+  "eneous\">True</property></packing></child><child><object class=\"GtkSep"
+  "aratorToolItem\" id=\"toolbutton11\"><property name=\"visible\">True</p"
+  "roperty></object><packing><property name=\"homogeneous\">True</property"
+  "></packing></child><child><object class=\"GtkToolButton\" id=\"toolbutt"
+  "on12\"><property name=\"visible\">True</property><property name=\"icon_"
+  "name\">zoom-in</property></object><packing><property name=\"homogeneous"
+  "\">True</property></packing></child><child><object class=\"GtkToolButto"
+  "n\" id=\"toolbutton13\"><property name=\"visible\">True</property><prop"
+  "erty name=\"icon_name\">zoom-out</property></object><packing><property "
+  "name=\"homogeneous\">True</property></packing></child><child><object cl"
+  "ass=\"GtkToolButton\" id=\"toolbutton14\"><property name=\"visible\">Tr"
+  "ue</property><property name=\"icon_name\">zoom-original</property></obj"
+  "ect><packing><property name=\"homogeneous\">True</property></packing></"
+  "child><child><object class=\"GtkToolButton\" id=\"toolbutton15\"><prope"
+  "rty name=\"visible\">True</property><property name=\"icon_name\">zoom-f"
+  "it-best</property></object><packing><property name=\"homogeneous\">True"
+  "</property></packing></child><child><object class=\"GtkSeparatorToolIte"
+  "m\" id=\"toolbutton16\"><property name=\"visible\">True</property></obj"
+  "ect><packing><property name=\"homogeneous\">True</property></packing></"
+  "child><child><object class=\"GtkToolButton\" id=\"toolbutton17\"><prope"
+  "rty name=\"visible\">True</property><property name=\"stock_id\">gtk-ful"
+  "lscreen</property></object><packing><property name=\"homogeneous\">True"
+  "</property></packing></child></object><packing><property name=\"bottom_"
+  "attach\">3</property><property name=\"x_options\">GTK_FILL</property></"
+  "packing></child></object><packing><property name=\"position\">2</proper"
+  "ty></packing></child><child><object class=\"GtkStatusbar\" id=\"statusb"
+  "ar1\"><property name=\"visible\">True</property><property name=\"spacin"
+  "g\">2</property></object><packing><property name=\"expand\">False</prop"
+  "erty><property name=\"position\">3</property></packing></child></object"
+  "></child></object></interface>"
+};
+
+static const unsigned main_window_ui_length = 10399u;
+



More information about the Xfce4-commits mailing list