[glade/modern-ui: 11/34] GladeWindow: replace menubar with headerbar



commit 06564444cc3a7f59a72d57d007b982f622975836
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Sun Jun 11 16:59:15 2017 -0300

    GladeWindow: replace menubar with headerbar
    
    Add headerbar with open, new, undo, redo and save buttons and
    a main dropdown menu.
    
    Simplified toolbar and moved under the inspector.

 src/glade-window.c |  201 ++---------
 src/glade.glade    |  973 +++++++++++++++++++++-------------------------------
 2 files changed, 428 insertions(+), 746 deletions(-)
---
diff --git a/src/glade-window.c b/src/glade-window.c
index 838fb73..4718a56 100644
--- a/src/glade-window.c
+++ b/src/glade-window.c
@@ -79,12 +79,11 @@ struct _GladeWindowPrivate
 {
   GladeApp *app;
 
-  GtkWidget *main_vbox;
-
-  GtkWidget *notebook, *notebook_frame;
+  GtkWidget *notebook;
   GladeDesignView *active_view;
   gint num_tabs;
 
+  GtkHeaderBar *headerbar;
   GtkWindow *about_dialog;
   GladePreferences *preferences;
 
@@ -107,12 +106,8 @@ struct _GladeWindowPrivate
 
   GtkActionGroup *project_actiongroup;      /* All the project actions */
   GtkActionGroup *pointer_mode_actiongroup;
-  GtkActionGroup *project_list_actiongroup; /* Projects list menu actions */
   GtkActionGroup *static_actiongroup;
   GtkActionGroup *view_actiongroup;
-
-  GtkMenuShell *menubar;
-  GtkMenuShell *project_menu;
   
   GtkRecentManager *recent_manager;
   GtkWidget *recent_menu;
@@ -120,18 +115,18 @@ struct _GladeWindowPrivate
   GtkWidget *quit_menuitem;
   GtkWidget *about_menuitem;
   GtkWidget *properties_menuitem;
-  GtkMenuItem *help_menuitem;
 
   gchar *default_path;          /* the default path for open/save operations */
 
-  GtkToolItem *undo_toolbutton; /* customized buttons for undo/redo with history */
-  GtkToolItem *redo_toolbutton;
+  GtkMenuButton *undo_menu_button; /* customized buttons for undo/redo with history */
+  GtkMenuButton *redo_menu_button;
 
   GtkWidget *toolbar;           /* Actions are added to the toolbar */
   gint actions_start;           /* start of action items */
 
   GtkWidget *center_paned;
   GtkWidget *left_paned;
+  GtkWidget *open_button_box;   /* gtk_button_box_set_layout() set homogeneous to TRUE, and we do not want 
that in this case  */
 
   GtkWidget *registration;      /* Registration and user survey dialog */
   
@@ -279,8 +274,9 @@ get_formatted_project_name_for_display (GladeProject *project,
 static void
 refresh_title (GladeWindow *window)
 {
-  GladeProject *project;
+  GladeProject *project = NULL;
   gchar *title, *name = NULL;
+  const gchar *path;
 
   if (window->priv->active_view)
     {
@@ -304,6 +300,26 @@ refresh_title (GladeWindow *window)
 
   gtk_window_set_title (GTK_WINDOW (window), title);
 
+  /* Show path */
+  if (project && (path = glade_project_get_path (project)))
+    {
+      gchar *dirname = g_path_get_dirname (path);
+      const gchar *home = g_get_home_dir ();
+
+      if (g_str_has_prefix (dirname, home))
+        {
+          char *subtitle = &dirname[g_utf8_strlen (home, -1) - 1];
+          subtitle[0] = '~';
+          gtk_header_bar_set_subtitle (window->priv->headerbar, subtitle);
+        }
+      else
+        gtk_header_bar_set_subtitle (window->priv->headerbar, dirname);
+
+      g_free (dirname);
+    }
+  else
+    gtk_header_bar_set_subtitle (window->priv->headerbar, NULL);
+
   g_free (title);
 }
 
@@ -644,10 +660,10 @@ refresh_undo_redo (GladeWindow *window, GladeProject *project)
   g_free (tooltip);
 
   /* Refresh menus */
-  gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (priv->undo_toolbutton),
-                                 glade_project_undo_items (project));
-  gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (priv->redo_toolbutton),
-                                 glade_project_redo_items (project));
+  gtk_menu_button_set_popup (priv->undo_menu_button,
+                             glade_project_undo_items (project));
+  gtk_menu_button_set_popup (priv->redo_menu_button,
+                             glade_project_redo_items (project));
 }
 
 static void
@@ -973,122 +989,6 @@ switch_to_project (GladeWindow *window, GladeProject *project)
 }
 
 static void
-projects_list_menu_activate_cb (GtkAction *action, GladeWindow *window)
-{
-  if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) == FALSE)
-    return;
-
-  gtk_notebook_set_current_page (GTK_NOTEBOOK (window->priv->notebook),
-                                 gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action)));
-}
-
-static void
-refresh_projects_list_menu (GladeWindow *window)
-{
-  GladeWindowPrivate *priv = window->priv;
-  GList *actions, *l;
-  GSList *group = NULL;
-  gint n, i;
-
-  /* Remove all current actions */
-  actions = gtk_action_group_list_actions (priv->project_list_actiongroup);
-  for (l = actions; l != NULL; l = l->next)
-    {
-      GtkAction *action = l->data;
-      GSList *p, *proxies = gtk_action_get_proxies (action);
-      GSList *proxies_copy;
-
-      /* Remove MenuItems */
-      proxies_copy = g_slist_copy (proxies);
-      for (p = proxies_copy; p; p = g_slist_next (p))
-        if (GTK_IS_MENU_ITEM (p->data))
-         gtk_widget_destroy (p->data);
-      g_slist_free (proxies_copy);
-
-      g_signal_handlers_disconnect_by_func (action,
-                                            G_CALLBACK (projects_list_menu_activate_cb),
-                                            window);
-      gtk_accel_group_disconnect (priv->accelgroup,
-                                  gtk_action_get_accel_closure (action));
-      gtk_action_group_remove_action (priv->project_list_actiongroup, action);
-    }
-  g_list_free (actions);
-
-  n = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook));
-
-  /* Add an action for each project */
-  for (i = 0; i < n; i++)
-    {
-      GtkWidget *view, *item;
-      GladeProject *project;
-      GtkRadioAction *action;
-      gchar action_name[32];
-      gchar *project_name;
-      gchar *tooltip;
-      gchar *accel;
-
-      view = gtk_notebook_get_nth_page (GTK_NOTEBOOK (priv->notebook), i);
-      project = glade_design_view_get_project (GLADE_DESIGN_VIEW (view));
-
-
-      /* NOTE: the action is associated to the position of the tab in
-       * the notebook not to the tab itself! This is needed to work
-       * around the gtk+ bug #170727: gtk leaves around the accels
-       * of the action. Since the accel depends on the tab position
-       * the problem is worked around, action with the same name always
-       * get the same accel.
-       */
-      g_snprintf (action_name, sizeof (action_name), "Tab_%d", i);
-      project_name = get_formatted_project_name_for_display (project,
-                                                             FORMAT_NAME_MARK_UNSAVED
-                                                             |
-                                                             FORMAT_NAME_MIDDLE_TRUNCATE
-                                                             |
-                                                             FORMAT_NAME_ESCAPE_UNDERSCORES);
-      tooltip = format_project_list_item_tooltip (project);
-
-      /* alt + 1, 2, 3... 0 to switch to the first ten tabs */
-      accel = (i < 10) ? gtk_accelerator_name (GDK_KEY_0 + ((i + 1) % 10), GDK_MOD1_MASK) : NULL;
-
-      action = gtk_radio_action_new (action_name,
-                                     project_name, tooltip, NULL, i);
-
-      /* Link action and project */
-      g_object_set_data (G_OBJECT (project), "project-list-action", action);
-      g_object_set_data (G_OBJECT (action), "project", project);
-
-      /* note that group changes each time we add an action, so it must be updated */
-      gtk_radio_action_set_group (action, group);
-      group = gtk_radio_action_get_group (action);
-
-      gtk_action_group_add_action_with_accel (priv->project_list_actiongroup,
-                                              GTK_ACTION (action), accel);
-      gtk_accel_group_connect_by_path (priv->accelgroup,
-                                       gtk_action_get_accel_path (GTK_ACTION (action)),
-                                       gtk_action_get_accel_closure (GTK_ACTION (action)));
-
-      /* Create Menu Item*/
-      item = gtk_check_menu_item_new ();
-      gtk_menu_shell_append (priv->project_menu, item);
-      gtk_activatable_set_related_action (GTK_ACTIVATABLE (item), GTK_ACTION (action));
-      gtk_activatable_set_use_action_appearance (GTK_ACTIVATABLE (item), TRUE);
-      gtk_widget_show (item);
-
-      g_signal_connect (action, "activate",
-                        G_CALLBACK (projects_list_menu_activate_cb), window);
-
-      if (GLADE_DESIGN_VIEW (view) == priv->active_view)
-        gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
-
-      g_object_unref (action);
-
-      g_free (project_name);
-      g_free (tooltip);
-      g_free (accel);
-    }
-}
-
-static void
 on_open_action_activate (GtkAction *action, GladeWindow *window)
 {
   GtkWidget *filechooser;
@@ -1540,8 +1440,6 @@ glade_window_notebook_set_show_tabs (GladeWindow *window, gboolean show)
     show = FALSE;
 
   gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), show);
-  gtk_frame_set_shadow_type (GTK_FRAME (priv->notebook_frame),
-                             show ? GTK_SHADOW_NONE : GTK_SHADOW_IN);
 }
 
 static void
@@ -1724,8 +1622,6 @@ on_notebook_switch_page (GtkNotebook *notebook,
   GladeWindowPrivate *priv = window->priv;
   GladeDesignView *view;
   GladeProject *project;
-  GtkAction *action;
-  gchar *action_name;
 
   view = GLADE_DESIGN_VIEW (gtk_notebook_get_nth_page (notebook, page_num));
 
@@ -1745,20 +1641,6 @@ on_notebook_switch_page (GtkNotebook *notebook,
   /* switch to the project's inspector */
   gtk_notebook_set_current_page (priv->inspectors_notebook, page_num);
 
-  /* activate the corresponding item in the project menu */
-  action_name = g_strdup_printf ("Tab_%d", page_num);
-  action = gtk_action_group_get_action (priv->project_list_actiongroup,
-                                        action_name);
-
-  /* sometimes the action doesn't exist yet, and the proper action
-   * is set active during the documents list menu creation
-   * CHECK: would it be nicer if active_view was a property and we monitored the notify signal?
-   */
-  if (action != NULL)
-    gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
-
-  g_free (action_name);
-
   refresh_undo_redo (window, project);
 
   /* Refresh the editor and some of the actions */
@@ -1825,8 +1707,6 @@ on_notebook_tab_added (GtkNotebook *notebook,
 
   set_sensitivity_according_to_project (window, project);
 
-  refresh_projects_list_menu (window);
-
   refresh_title (window);
 
   if (window->priv->num_tabs > 0)
@@ -1871,8 +1751,6 @@ on_notebook_tab_removed (GtkNotebook     *notebook,
   /* FIXME: this function needs to be preferably called somewhere else */
   glade_app_remove_project (project);
 
-  refresh_projects_list_menu (window);
-
   refresh_title (window);
 
   if (priv->active_view)
@@ -2865,6 +2743,8 @@ glade_window_init (GladeWindow *window)
 
   gtk_widget_init_template (GTK_WIDGET (window));
 
+  gtk_box_set_homogeneous (GTK_BOX (priv->open_button_box), FALSE);
+
   priv->registration = glade_registration_new ();
 }
 
@@ -2929,8 +2809,6 @@ glade_window_constructed (GObject *object)
     GtkosxApplication *theApp = gtkosx_application_get ();
     GtkWidget *sep;
 
-    gtk_widget_hide (priv->menubar);
-    gtkosx_application_set_menu_bar (theApp, priv->menubar);
     gtk_widget_hide (priv->quit_menuitem);
     gtkosx_application_insert_app_menu_item (theApp, priv->about_menuitem, 0);
     sep = gtk_separator_menu_item_new();
@@ -2943,8 +2821,6 @@ glade_window_constructed (GObject *object)
     g_object_ref(sep);
     gtkosx_application_insert_app_menu_item (theApp, sep, 3);
 
-    gtkosx_application_set_help_menu (theApp, priv->help_menuitem);
-
     g_signal_connect(theApp, "NSApplicationWillTerminate",
                      G_CALLBACK(on_quit_action_activate), window);
 
@@ -3017,29 +2893,26 @@ glade_window_class_init (GladeWindowClass *klass)
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/glade/glade.glade");
 
   /* Internal children */
-  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, project_list_actiongroup);
+  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, headerbar);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, about_dialog);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, center_paned);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, left_paned);
+  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, open_button_box);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, notebook);
-  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, notebook_frame);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, inspectors_notebook);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, editor);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, statusbar);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, toolbar);
-  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, project_menu);
-  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, undo_toolbutton);
-  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, redo_toolbutton);
+  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, undo_menu_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, redo_menu_button);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, accelgroup);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, project_actiongroup);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, pointer_mode_actiongroup);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, static_actiongroup);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, view_actiongroup);
-  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, menubar);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, quit_menuitem);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, properties_menuitem);
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, about_menuitem);
-  gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, help_menuitem);
 
   /* Actions */
   gtk_widget_class_bind_template_child_private (widget_class, GladeWindow, save_action);
diff --git a/src/glade.glade b/src/glade.glade
index 7b405e2..4e04619 100644
--- a/src/glade.glade
+++ b/src/glade.glade
@@ -2,28 +2,33 @@
 <!-- Generated with glade 3.20.0 
 
 Glade - A user interface designer for GTK+ and GNOME.
-Copyright (C) 2012-2014 Juan Pablo Ugarte
+Copyright (C) 2012-2017 Juan Pablo Ugarte
 
-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 library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
 
-This program is distributed in the hope that it will be useful,
+This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
-Author:  Juan Pablo Ugarte <juanpablougarte gmail com>
+Author: Juan Pablo Ugarte
 
 -->
 <interface domain="glade">
-  <requires lib="gtk+" version="3.10"/>
+  <requires lib="gtk+" version="3.20"/>
   <requires lib="gladeui" version="0.0"/>
+  <!-- interface-license-type lgplv2 -->
+  <!-- interface-name Glade -->
+  <!-- interface-description A user interface designer for GTK+ and GNOME. -->
+  <!-- interface-copyright 2012-2017 Juan Pablo Ugarte -->
+  <!-- interface-authors Juan Pablo Ugarte -->
   <object class="GtkAboutDialog" id="about_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
@@ -31,7 +36,7 @@ Author:  Juan Pablo Ugarte <juanpablougarte gmail com>
     <property name="type_hint">dialog</property>
     <property name="copyright" translatable="yes">Copyright © 2001-2006 Ximian, Inc.
 Copyright © 2001-2006 Joaquin Cuenca Abela, Paolo Borelli, et al.
-Copyright © 2004-2015 Tristan Van Berkom, Juan Pablo Ugarte, et al.</property>
+Copyright © 2004-2017 Tristan Van Berkom, Juan Pablo Ugarte, et al.</property>
     <property name="comments" translatable="yes">A user interface designer for GTK+ and GNOME.</property>
     <property name="website">http://glade.gnome.org</property>
     <property name="website_label" translatable="yes">Visit Glade web site</property>
@@ -161,7 +166,7 @@ Andreas Nilsson &lt;andreas andreasn se&gt;</property>
     </child>
     <child>
       <object class="GtkAction" id="properties_action">
-        <property name="label" translatable="yes">Properties</property>
+        <property name="label" translatable="yes">Edit properties</property>
         <property name="tooltip" translatable="yes">Edit project properties</property>
         <property name="icon_name">document-properties</property>
         <signal name="activate" handler="on_properties_action_activate" swapped="no"/>
@@ -254,11 +259,6 @@ Andreas Nilsson &lt;andreas andreasn se&gt;</property>
       <accelerator key="Page_Down" modifiers="GDK_CONTROL_MASK"/>
     </child>
   </object>
-  <object class="GtkActionGroup" id="project_list_actiongroup">
-    <property name="accel_group">accelgroup</property>
-    <signal name="connect-proxy" handler="on_actiongroup_connect_proxy" swapped="no"/>
-    <signal name="disconnect-proxy" handler="on_actiongroup_disconnect_proxy" swapped="no"/>
-  </object>
   <object class="GtkActionGroup" id="view_actiongroup">
     <property name="name">view_actiongroup</property>
     <property name="accel_group">accelgroup</property>
@@ -309,7 +309,6 @@ Andreas Nilsson &lt;andreas andreasn se&gt;</property>
     <signal name="disconnect-proxy" handler="on_actiongroup_disconnect_proxy" swapped="no"/>
     <child>
       <object class="GtkAction" id="new_action">
-        <property name="label" translatable="yes">New</property>
         <property name="tooltip" translatable="yes">Create a new project</property>
         <property name="icon_name">document-new</property>
         <signal name="activate" handler="glade_window_new_project" swapped="yes"/>
@@ -378,699 +377,509 @@ Andreas Nilsson &lt;andreas andreasn se&gt;</property>
       </object>
     </child>
   </object>
-  <template class="GladeWindow" parent="GtkWindow">
+  <object class="GtkMenu" id="main_menu">
+    <property name="visible">True</property>
     <property name="can_focus">False</property>
+    <property name="accel_group">accelgroup</property>
+    <property name="menu_type_hint">dropdown-menu</property>
     <child>
-      <object class="GtkBox" id="main_box">
+      <object class="GtkImageMenuItem" id="save_as_menuitem">
+        <property name="use_action_appearance">True</property>
+        <property name="related_action">save_as_action</property>
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkImageMenuItem" id="properties_menuitem">
+        <property name="use_action_appearance">True</property>
+        <property name="related_action">properties_action</property>
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkImageMenuItem" id="close_menuitem">
+        <property name="use_action_appearance">True</property>
+        <property name="related_action">close_action</property>
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">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="registration_menuitem">
+        <property name="use_action_appearance">True</property>
+        <property name="related_action">registration_action</property>
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Registration &amp; User Survey</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkImageMenuItem" id="reference_menuitem">
+        <property name="use_action_appearance">True</property>
+        <property name="related_action">reference_action</property>
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkImageMenuItem" id="preferences_menuitem">
+        <property name="use_action_appearance">True</property>
+        <property name="related_action">preferences_action</property>
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkSeparatorMenuItem">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkImageMenuItem" id="about_menuitem">
+        <property name="use_action_appearance">True</property>
+        <property name="related_action">about_action</property>
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkImageMenuItem" id="quit_menuitem">
+        <property name="use_action_appearance">True</property>
+        <property name="related_action">quit_action</property>
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+      </object>
+    </child>
+  </object>
+  <object class="GtkRecentChooserMenu" id="recent_menu">
+    <property name="use_action_appearance">True</property>
+    <property name="related_action">open_recent_action</property>
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="limit">10</property>
+    <property name="show_not_found">False</property>
+    <property name="sort_type">mru</property>
+    <property name="show_numbers">True</property>
+    <signal name="insert" handler="on_recent_menu_insert" swapped="no"/>
+    <signal name="remove" handler="on_recent_menu_remove" swapped="no"/>
+  </object>
+  <template class="GladeWindow" parent="GtkWindow">
+    <property name="can_focus">False</property>
+    <child>
+      <object class="GtkPaned" id="center_paned">
+        <property name="height_request">380</property>
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="position_set">True</property>
+        <property name="wide_handle">True</property>
         <child>
-          <object class="GtkMenuBar" id="menubar">
+          <object class="GtkPaned" id="left_paned">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
+            <property name="can_focus">True</property>
+            <property name="position">150</property>
+            <property name="position_set">True</property>
+            <property name="wide_handle">True</property>
             <child>
-              <object class="GtkMenuItem" id="file_menuitem">
+              <object class="GtkBox">
                 <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" id="file_menu">
+                <property name="orientation">vertical</property>
+                <child>
+                  <object class="GtkNotebook" id="inspectors_notebook">
+                    <property name="width_request">256</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="accel_group">accelgroup</property>
-                    <child>
-                      <object class="GtkImageMenuItem" id="new_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">new_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="open_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">open_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="recent_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">open_recent_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <child type="submenu">
-                          <object class="GtkRecentChooserMenu" id="recent_menu">
-                            <property name="use_action_appearance">True</property>
-                            <property name="related_action">open_recent_action</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="limit">10</property>
-                            <property name="show_not_found">False</property>
-                            <property name="sort_type">mru</property>
-                            <signal name="insert" handler="on_recent_menu_insert" swapped="no"/>
-                            <signal name="remove" handler="on_recent_menu_remove" swapped="no"/>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem4">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="save_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">save_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="save_as_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">save_as_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="properties_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">properties_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="close_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">close_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="quit_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">quit_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
+                    <property name="can_focus">True</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">3</property>
+                    <property name="margin_bottom">2</property>
+                    <property name="show_tabs">False</property>
+                    <property name="show_border">False</property>
                   </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
-              </object>
-            </child>
-            <child>
-              <object class="GtkMenuItem" id="edit_menuitem">
-                <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" id="edit_menu">
+                <child>
+                  <object class="GtkToolbar" id="toolbar">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="accel_group">accelgroup</property>
-                    <child>
-                      <object class="GtkImageMenuItem" id="undo_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">undo_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="redo_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">redo_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="cut_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">cut_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="copy_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">copy_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="paste_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">paste_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
                     <child>
-                      <object class="GtkImageMenuItem" id="delete_menuitem">
+                      <object class="GtkToggleToolButton" id="selector_button">
                         <property name="use_action_appearance">True</property>
-                        <property name="related_action">delete_action</property>
+                        <property name="related_action">selector_radioaction</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="label">radiotoolbutton1</property>
                         <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
+                        <property name="active">True</property>
                       </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
                     </child>
                     <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem8">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="preferences_menuitem">
+                      <object class="GtkToggleToolButton" id="drag_resize_button">
                         <property name="use_action_appearance">True</property>
-                        <property name="related_action">preferences_action</property>
+                        <property name="related_action">drag_resize_radioaction</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="label">radiotoolbutton2</property>
                         <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
                       </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
                     </child>
-                  </object>
-                </child>
-              </object>
-            </child>
-            <child>
-              <object class="GtkMenuItem" id="view_menuitem">
-                <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" id="view_menu">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="accel_group">accelgroup</property>
                     <child>
-                      <object class="GtkCheckMenuItem" id="toolbar_visible_menuitem">
+                      <object class="GtkToggleToolButton" id="margin_edit_button">
                         <property name="use_action_appearance">True</property>
-                        <property name="related_action">toolbar_visible_action</property>
+                        <property name="related_action">margin_edit_radioaction</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="label">radiotoolbutton3</property>
                         <property name="use_underline">True</property>
                       </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
                     </child>
                     <child>
-                      <object class="GtkCheckMenuItem" id="statusbar_visible_menuitem">
+                      <object class="GtkToggleToolButton" id="align_edit_button">
                         <property name="use_action_appearance">True</property>
-                        <property name="related_action">statusbar_visible_action</property>
+                        <property name="related_action">align_edit_radioaction</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="label">radiotoolbutton4</property>
                         <property name="use_underline">True</property>
                       </object>
-                    </child>
-                    <child>
-                      <object class="GtkCheckMenuItem" id="project_tabs_visible_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">project_tabs_visible_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkCheckMenuItem" id="editor_header_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">editor_header_visible_action</property>
-                        <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>
                   </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
                 </child>
               </object>
+              <packing>
+                <property name="resize">False</property>
+                <property name="shrink">False</property>
+              </packing>
             </child>
             <child>
-              <object class="GtkMenuItem" id="projects_menuitem">
+              <object class="GtkOverlay">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">_Projects</property>
-                <property name="use_underline">True</property>
-                <child type="submenu">
-                  <object class="GtkMenu" id="project_menu">
+                <child>
+                  <object class="GtkNotebook" id="notebook">
+                    <property name="width_request">256</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="accel_group">accelgroup</property>
-                    <child>
-                      <object class="GtkImageMenuItem" id="previous_project_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">previous_project_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="next_project_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">next_project_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem6">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                    </child>
+                    <property name="show_tabs">False</property>
+                    <property name="show_border">False</property>
+                    <property name="scrollable">True</property>
+                    <signal name="page-added" handler="on_notebook_tab_added" swapped="no"/>
+                    <signal name="page-removed" handler="on_notebook_tab_removed" swapped="no"/>
+                    <signal name="switch-page" handler="on_notebook_switch_page" swapped="no"/>
                   </object>
+                  <packing>
+                    <property name="index">-1</property>
+                  </packing>
                 </child>
-              </object>
-            </child>
-            <child>
-              <object class="GtkMenuItem" id="help_menuitem">
-                <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" id="help_menu">
+                <child type="overlay">
+                  <object class="GtkStatusbar" id="statusbar">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="accel_group">accelgroup</property>
-                    <child>
-                      <object class="GtkImageMenuItem" id="reference_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">reference_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkMenuItem" id="registration_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">registration_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem5">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="about_menuitem">
-                        <property name="use_action_appearance">True</property>
-                        <property name="related_action">about_action</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
+                    <property name="valign">end</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">2</property>
                   </object>
+                  <packing>
+                    <property name="pass_through">True</property>
+                  </packing>
                 </child>
               </object>
+              <packing>
+                <property name="resize">True</property>
+                <property name="shrink">False</property>
+              </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
+            <property name="resize">False</property>
+            <property name="shrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GladeEditor" id="editor">
+            <property name="width_request">256</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="show_class_field">False</property>
+            <property name="show_boder">False</property>
+          </object>
+          <packing>
+            <property name="resize">False</property>
+            <property name="shrink">False</property>
           </packing>
         </child>
+      </object>
+    </child>
+    <child type="titlebar">
+      <object class="GtkHeaderBar" id="headerbar">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="show_close_button">True</property>
         <child>
-          <object class="GtkToolbar" id="toolbar">
+          <object class="GtkButtonBox" id="open_button_box">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="layout_style">expand</property>
             <child>
-              <object class="GtkToolButton" id="new_toolbutton">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">new_action</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">toolbutton1</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkToolButton" id="open_toolbutton">
+              <object class="GtkButton">
+                <property name="label" translatable="yes">Open</property>
                 <property name="use_action_appearance">True</property>
                 <property name="related_action">open_action</property>
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">toolbutton2</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="tooltip_text" translatable="yes">Open a project</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+                <property name="non_homogeneous">True</property>
               </packing>
             </child>
             <child>
-              <object class="GtkToolButton" id="save_toolbutton">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">save_action</property>
+              <object class="GtkMenuButton" id="recent_menu_button">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">toolbutton3</property>
-                <property name="use_underline">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="popup">recent_menu</property>
+                <property name="use_popover">False</property>
+                <child>
+                  <object class="GtkImage">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="icon_name">pan-down-symbolic</property>
+                  </object>
+                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
-                <property name="homogeneous">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+                <property name="non_homogeneous">True</property>
               </packing>
             </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton">
+            <property name="use_action_appearance">False</property>
+            <property name="related_action">new_action</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="tooltip_text" translatable="yes">Create a new project</property>
             <child>
-              <object class="GtkSeparatorToolItem" id="toolbutton1">
+              <object class="GtkImage">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="icon_name">tab-new-symbolic</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">False</property>
-              </packing>
             </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkSeparator">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+          </object>
+          <packing>
+            <property name="position">6</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButtonBox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">expand</property>
             <child>
-              <object class="GtkMenuToolButton" id="undo_toolbutton">
-                <property name="use_action_appearance">True</property>
+              <object class="GtkButton">
+                <property name="use_action_appearance">False</property>
                 <property name="related_action">undo_action</property>
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">toolbutton2</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuToolButton" id="redo_toolbutton">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">redo_action</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">toolbutton3</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkSeparatorToolItem" id="toolbutton4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkToolButton" id="cut_toolbutton">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">cut_action</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">toolbutton5</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkToolButton" id="copy_toolbutton">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">copy_action</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">toolbutton6</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkToolButton" id="paste_toolbutton">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">paste_action</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">toolbutton7</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkSeparatorToolItem" id="toolbutton2">
-                <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="GtkToggleToolButton" id="selector_button">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">selector_radioaction</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">radiotoolbutton1</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkToggleToolButton" id="drag_resize_button">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">drag_resize_radioaction</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">radiotoolbutton2</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkToggleToolButton" id="margin_edit_button">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">margin_edit_radioaction</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">radiotoolbutton3</property>
-                <property name="use_underline">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <child>
+                  <object class="GtkImage">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="icon_name">edit-undo-symbolic</property>
+                  </object>
+                </child>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkToggleToolButton" id="align_edit_button">
-                <property name="use_action_appearance">True</property>
-                <property name="related_action">align_edit_radioaction</property>
+              <object class="GtkMenuButton" id="undo_menu_button">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">radiotoolbutton4</property>
-                <property name="use_underline">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_popover">False</property>
+                <child>
+                  <object class="GtkImage">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="icon_name">pan-down-symbolic</property>
+                  </object>
+                </child>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
+            <property name="position">5</property>
           </packing>
         </child>
         <child>
-          <object class="GtkPaned" id="center_paned">
-            <property name="height_request">380</property>
+          <object class="GtkButtonBox">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="border_width">2</property>
-            <property name="position_set">True</property>
-            <property name="wide_handle">True</property>
+            <property name="can_focus">False</property>
+            <property name="homogeneous">True</property>
+            <property name="layout_style">expand</property>
             <child>
-              <object class="GtkPaned" id="left_paned">
+              <object class="GtkButton">
+                <property name="use_action_appearance">False</property>
+                <property name="related_action">redo_action</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="position">150</property>
-                <property name="position_set">True</property>
-                <property name="wide_handle">True</property>
+                <property name="receives_default">True</property>
                 <child>
-                  <object class="GtkNotebook" id="inspectors_notebook">
-                    <property name="width_request">256</property>
+                  <object class="GtkImage">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="show_tabs">False</property>
-                    <property name="show_border">False</property>
+                    <property name="can_focus">False</property>
+                    <property name="icon_name">edit-redo-symbolic</property>
                   </object>
-                  <packing>
-                    <property name="resize">False</property>
-                    <property name="shrink">False</property>
-                  </packing>
                 </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkMenuButton" id="redo_menu_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_popover">False</property>
                 <child>
-                  <object class="GtkFrame" id="notebook_frame">
+                  <object class="GtkImage">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <property name="shadow_type">in</property>
-                    <child>
-                      <object class="GtkOverlay">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <object class="GtkNotebook" id="notebook">
-                            <property name="width_request">256</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="show_tabs">False</property>
-                            <property name="show_border">False</property>
-                            <property name="scrollable">True</property>
-                            <signal name="page-added" handler="on_notebook_tab_added" swapped="no"/>
-                            <signal name="page-removed" handler="on_notebook_tab_removed" swapped="no"/>
-                            <signal name="switch-page" handler="on_notebook_switch_page" swapped="no"/>
-                          </object>
-                          <packing>
-                            <property name="index">-1</property>
-                          </packing>
-                        </child>
-                        <child type="overlay">
-                          <object class="GtkStatusbar" id="statusbar">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">end</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">2</property>
-                          </object>
-                          <packing>
-                            <property name="pass_through">True</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
+                    <property name="icon_name">pan-down-symbolic</property>
                   </object>
-                  <packing>
-                    <property name="resize">True</property>
-                    <property name="shrink">False</property>
-                  </packing>
                 </child>
               </object>
               <packing>
-                <property name="resize">False</property>
-                <property name="shrink">False</property>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
               </packing>
             </child>
+          </object>
+          <packing>
+            <property name="position">6</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkMenuButton">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="popup">main_menu</property>
             <child>
-              <object class="GladeEditor" id="editor">
-                <property name="width_request">256</property>
+              <object class="GtkImage">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
+                <property name="can_focus">False</property>
+                <property name="icon_name">open-menu-symbolic</property>
               </object>
-              <packing>
-                <property name="resize">False</property>
-                <property name="shrink">False</property>
-              </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
+            <property name="pack_type">end</property>
             <property name="position">2</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkButton">
+            <property name="label" translatable="yes">button</property>
+            <property name="use_action_appearance">True</property>
+            <property name="related_action">save_action</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="tooltip_text" translatable="yes">Save the current project</property>
+          </object>
+          <packing>
+            <property name="pack_type">end</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
       </object>
     </child>
-    <child type="titlebar">
-      <placeholder/>
-    </child>
   </template>
 </interface>


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