[Libreoffice-commits] core.git: extras/source include/sfx2 include/vcl sc/uiconfig sd/uiconfig sfx2/Library_sfx.mk sfx2/source sw/uiconfig vcl/source

Szymon Kłos eszkadev at gmail.com
Thu Aug 25 11:47:01 UTC 2016


 extras/source/glade/libreoffice-catalog.xml.in         |    3 
 include/sfx2/notebookbar/NotebookbarContextControl.hxx |   27 
 include/sfx2/notebookbar/SfxNotebookBar.hxx            |    2 
 include/vcl/IContext.hxx                               |   54 
 include/vcl/layout.hxx                                 |    4 
 include/vcl/notebookbar.hxx                            |    4 
 include/vcl/tabctrl.hxx                                |    8 
 include/vcl/tabpage.hxx                                |    8 
 sc/uiconfig/scalc/ui/notebookbar.ui                    |    2 
 sc/uiconfig/scalc/ui/notebookbar_groups.ui             |    2 
 sd/uiconfig/simpress/ui/notebookbar.ui                 |    2 
 sd/uiconfig/simpress/ui/notebookbar_groups.ui          |    2 
 sfx2/Library_sfx.mk                                    |    1 
 sfx2/source/notebookbar/ContextVBox.cxx                |   85 
 sfx2/source/notebookbar/NotebookBarPopupMenu.cxx       |    1 
 sfx2/source/notebookbar/SfxNotebookBar.cxx             |    4 
 sw/uiconfig/swriter/ui/notebookbar.ui                  |    2 
 sw/uiconfig/swriter/ui/notebookbar_groups.ui           | 1953 ++++++++---------
 vcl/source/control/notebookbar.cxx                     |   14 
 vcl/source/window/builder.cxx                          |    4 
 vcl/source/window/tabpage.cxx                          |   22 
 21 files changed, 1169 insertions(+), 1035 deletions(-)

New commits:
commit 6488d249b0c5649313b6611660aca939e5c374bf
Author: Szymon Kłos <eszkadev at gmail.com>
Date:   Fri Aug 19 10:20:03 2016 +0200

    GSoC notebookbar: container with context support
    
    + added sfxlo-ContextVBox
    + notebookbar's .ui file must contain control
      implementing NotebookbarContextControl interface
      with id "ContextContainer"
    
    Change-Id: Ice81e23c4ba742564ebceeda95be120ea3f58c99
    Reviewed-on: https://gerrit.libreoffice.org/28247
    Tested-by: Jenkins <ci at libreoffice.org>
    Tested-by: Yousuf Philips <philipz85 at hotmail.com>
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>

diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index 238f8ff..379ff6d 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -837,5 +837,8 @@
     <glade-widget-class title="Notebookbar ToolBox" name="sfxlo-NotebookbarToolBox"
                         generic-name="Notebookbar ToolBox" parent="GtkToolbar"
                         icon-name="widget-gtk-toolbar"/>
+    <glade-widget-class title="Vertical box hiding childs depending on context" name="sfxlo-ContextVBox"
+                        generic-name="ContextVBox" parent="GtkBox"
+                        icon-name="widget-gtk-box"/>
   </glade-widget-classes>
 </glade-catalog>
diff --git a/include/sfx2/notebookbar/NotebookbarContextControl.hxx b/include/sfx2/notebookbar/NotebookbarContextControl.hxx
new file mode 100644
index 0000000..348b521
--- /dev/null
+++ b/include/sfx2/notebookbar/NotebookbarContextControl.hxx
@@ -0,0 +1,27 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_SFX2_NOTEBOOKBAR_NOTEBOOKBARCONTEXTCONTROL_HXX
+#define INCLUDED_SFX2_NOTEBOOKBAR_NOTEBOOKBARCONTEXTCONTROL_HXX
+
+#include <vcl/EnumContext.hxx>
+
+class NotebookBar;
+
+class NotebookbarContextControl
+{
+public:
+    virtual ~NotebookbarContextControl() {}
+    virtual void SetContext( vcl::EnumContext::Context eContext ) = 0;
+    virtual void SetIconClickHdl( Link<NotebookBar*, void> aHdl ) = 0;
+};
+
+#endif // INCLUDED_SFX2_NOTEBOOKBAR_NOTEBOOKBARCONTEXTCONTROL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/sfx2/notebookbar/SfxNotebookBar.hxx b/include/sfx2/notebookbar/SfxNotebookBar.hxx
index 67ee405..e3735658 100644
--- a/include/sfx2/notebookbar/SfxNotebookBar.hxx
+++ b/include/sfx2/notebookbar/SfxNotebookBar.hxx
@@ -46,7 +46,7 @@ private:
     static css::uno::Reference<css::frame::XLayoutManager> m_xLayoutManager;
     static css::uno::Reference<css::frame::XFrame> m_xFrame;
 
-    DECL_STATIC_LINK_TYPED(SfxNotebookBar, ToggleMenubar, NotebookBar*, void);
+    DECL_STATIC_LINK_TYPED(SfxNotebookBar, OpenNotebookbarPopupMenu, NotebookBar*, void);
 };
 
 } // namespace sfx2
diff --git a/include/vcl/IContext.hxx b/include/vcl/IContext.hxx
new file mode 100644
index 0000000..09f9722
--- /dev/null
+++ b/include/vcl/IContext.hxx
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_VCL_ICONTEXT_HXX
+#define INCLUDED_VCL_ICONTEXT_HXX
+
+#include <vcl/EnumContext.hxx>
+#include <vector>
+
+namespace vcl
+{
+
+class VCL_DLLPUBLIC IContext
+{
+protected:
+    IContext()
+    {
+        maContext.push_back( vcl::EnumContext::Context::Context_Any );
+    }
+
+public:
+    void SetContext(const std::vector<vcl::EnumContext::Context>& aContext)
+    {
+        maContext = aContext;
+    }
+
+    bool HasContext( const vcl::EnumContext::Context eContext ) const
+    {
+        auto aFind = std::find(maContext.begin(), maContext.end(), eContext);
+        if (aFind == maContext.end())
+            return false;
+        return true;
+    }
+
+    const std::vector< vcl::EnumContext::Context >& GetContext() const
+    {
+        return maContext;
+    }
+
+private:
+    std::vector<vcl::EnumContext::Context> maContext;
+};
+
+} // namespace vcl
+
+#endif // INCLUDED_VCL_ICONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx
index 02fcaad..eb9d94f 100644
--- a/include/vcl/layout.hxx
+++ b/include/vcl/layout.hxx
@@ -19,10 +19,12 @@
 #include <vcl/vclmedit.hxx>
 #include <vcl/window.hxx>
 #include <vcl/vclptr.hxx>
+#include <vcl/IContext.hxx>
 #include <set>
 
 class VCL_DLLPUBLIC VclContainer : public vcl::Window,
-                                   public vcl::IPrioritable
+                                   public vcl::IPrioritable,
+                                   public vcl::IContext
 {
 public:
     VclContainer(vcl::Window *pParent, WinBits nStyle = WB_HIDE | WB_CLIPCHILDREN);
diff --git a/include/vcl/notebookbar.hxx b/include/vcl/notebookbar.hxx
index 51f32aa..d2a279f 100644
--- a/include/vcl/notebookbar.hxx
+++ b/include/vcl/notebookbar.hxx
@@ -12,8 +12,8 @@
 
 #include <vcl/builder.hxx>
 #include <vcl/ctrl.hxx>
-#include <vcl/tabctrl.hxx>
 #include <vcl/EnumContext.hxx>
+#include <sfx2/notebookbar/NotebookbarContextControl.hxx>
 #include <com/sun/star/ui/XContextChangeEventListener.hpp>
 
 /// This implements Widget Layout-based notebook-like menu bar.
@@ -35,7 +35,7 @@ public:
     const css::uno::Reference<css::ui::XContextChangeEventListener>& getContextChangeEventListener() const { return m_pEventListener; }
 private:
     css::uno::Reference<css::ui::XContextChangeEventListener> m_pEventListener;
-    VclPtr<NotebookbarTabControl> m_pTabControl;
+    NotebookbarContextControl* m_pContextContainer;
 };
 
 
diff --git a/include/vcl/tabctrl.hxx b/include/vcl/tabctrl.hxx
index a79522a..b24e3da 100644
--- a/include/vcl/tabctrl.hxx
+++ b/include/vcl/tabctrl.hxx
@@ -23,6 +23,7 @@
 #include <vcl/dllapi.h>
 #include <vcl/ctrl.hxx>
 #include <vcl/EnumContext.hxx>
+#include <sfx2/notebookbar/NotebookbarContextControl.hxx>
 
 struct ImplTabItem;
 struct ImplTabCtrlData;
@@ -196,13 +197,14 @@ public:
 
 class NotebookBar;
 
-class VCL_DLLPUBLIC NotebookbarTabControl : public TabControl
+class VCL_DLLPUBLIC NotebookbarTabControl : public TabControl,
+                                            public NotebookbarContextControl
 {
 public:
     NotebookbarTabControl( vcl::Window* pParent );
 
-    void SetContext( vcl::EnumContext::Context eContext );
-    void SetIconClickHdl( Link<NotebookBar*, void> aHdl );
+    void SetContext( vcl::EnumContext::Context eContext ) override;
+    void SetIconClickHdl( Link<NotebookBar*, void> aHdl ) override;
 
     virtual sal_uInt16  GetPageId( const Point& rPos ) const override;
     virtual void        SelectTabPage( sal_uInt16 nPageId ) override;
diff --git a/include/vcl/tabpage.hxx b/include/vcl/tabpage.hxx
index 5a35901..0ee6776 100644
--- a/include/vcl/tabpage.hxx
+++ b/include/vcl/tabpage.hxx
@@ -24,19 +24,19 @@
 #include <vcl/dllapi.h>
 #include <vcl/builder.hxx>
 #include <vcl/window.hxx>
+#include <vcl/IContext.hxx>
 
 
 class VCL_DLLPUBLIC TabPage
     : public vcl::Window
     , public VclBuilderContainer
+    , public vcl::IContext
 {
 private:
     using Window::ImplInit;
     SAL_DLLPRIVATE void ImplInit( vcl::Window* pParent, WinBits nStyle );
     SAL_DLLPRIVATE void ImplInitSettings();
 
-    std::vector<vcl::EnumContext::Context> maContext;
-
 public:
     explicit        TabPage( vcl::Window* pParent, WinBits nStyle = 0 );
     explicit        TabPage( vcl::Window *pParent, const OString& rID, const OUString& rUIXMLDescription );
@@ -59,10 +59,6 @@ public:
     virtual void    SetPosPixel(const Point& rNewPos) override;
     virtual void    SetSizePixel(const Size& rNewSize) override;
     virtual Size    GetOptimalSize() const override;
-
-    void            SetContext( const std::vector<vcl::EnumContext::Context>& aContext );
-    bool            HasContext( const vcl::EnumContext::Context eContext ) const;
-    const std::vector<vcl::EnumContext::Context>& GetContext() const;
 };
 
 #endif // INCLUDED_VCL_TABPAGE_HXX
diff --git a/sc/uiconfig/scalc/ui/notebookbar.ui b/sc/uiconfig/scalc/ui/notebookbar.ui
index e7b146c..9aca52f 100644
--- a/sc/uiconfig/scalc/ui/notebookbar.ui
+++ b/sc/uiconfig/scalc/ui/notebookbar.ui
@@ -197,7 +197,7 @@
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <child>
-          <object class="vcllo-NotebookbarTabControl" id="notebook1">
+          <object class="vcllo-NotebookbarTabControl" id="ContextContainer">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
diff --git a/sc/uiconfig/scalc/ui/notebookbar_groups.ui b/sc/uiconfig/scalc/ui/notebookbar_groups.ui
index 0154978..9b5e4b4 100644
--- a/sc/uiconfig/scalc/ui/notebookbar_groups.ui
+++ b/sc/uiconfig/scalc/ui/notebookbar_groups.ui
@@ -13,7 +13,7 @@
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <child>
-          <object class="vcllo-NotebookbarTabControl" id="notebook1">
+          <object class="vcllo-NotebookbarTabControl" id="ContextContainer">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
diff --git a/sd/uiconfig/simpress/ui/notebookbar.ui b/sd/uiconfig/simpress/ui/notebookbar.ui
index dbaadbe..4cecd61 100644
--- a/sd/uiconfig/simpress/ui/notebookbar.ui
+++ b/sd/uiconfig/simpress/ui/notebookbar.ui
@@ -187,7 +187,7 @@
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <child>
-          <object class="vcllo-NotebookbarTabControl" id="notebook1">
+          <object class="vcllo-NotebookbarTabControl" id="ContextContainer">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
diff --git a/sd/uiconfig/simpress/ui/notebookbar_groups.ui b/sd/uiconfig/simpress/ui/notebookbar_groups.ui
index 0154978..9b5e4b4 100644
--- a/sd/uiconfig/simpress/ui/notebookbar_groups.ui
+++ b/sd/uiconfig/simpress/ui/notebookbar_groups.ui
@@ -13,7 +13,7 @@
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <child>
-          <object class="vcllo-NotebookbarTabControl" id="notebook1">
+          <object class="vcllo-NotebookbarTabControl" id="ContextContainer">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index 02956b1..a622049 100644
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -241,6 +241,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
     sfx2/source/explorer/nochaos \
     sfx2/source/inet/inettbc \
     sfx2/source/notebookbar/BigToolBox \
+    sfx2/source/notebookbar/ContextVBox \
     sfx2/source/notebookbar/DropdownBox \
     sfx2/source/notebookbar/NotebookBarPopupMenu \
     sfx2/source/notebookbar/NotebookbarToolBox \
diff --git a/sfx2/source/notebookbar/ContextVBox.cxx b/sfx2/source/notebookbar/ContextVBox.cxx
new file mode 100644
index 0000000..3bbe14a
--- /dev/null
+++ b/sfx2/source/notebookbar/ContextVBox.cxx
@@ -0,0 +1,85 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include <vcl/builderfactory.hxx>
+#include <vcl/layout.hxx>
+#include <sfx2/dllapi.h>
+#include <sfx2/viewfrm.hxx>
+#include <sfx2/notebookbar/NotebookbarContextControl.hxx>
+
+/*
+ * ContextVBox is a VclVBox which shows own childs depending on current context.
+ * This control can be used in the notebookbar .ui files
+ */
+
+class SFX2_DLLPUBLIC ContextVBox : public VclVBox,
+                                   public NotebookbarContextControl
+{
+public:
+    explicit ContextVBox( vcl::Window *pParent )
+        : VclVBox( pParent )
+    {
+    }
+
+    virtual ~ContextVBox() override
+    {
+        disposeOnce();
+    }
+
+    virtual void dispose() override
+    {
+        VclVBox::dispose();
+    }
+
+    void SetContext( vcl::EnumContext::Context eContext ) override
+    {
+        for (int nChild = 0; nChild < GetChildCount(); ++nChild)
+        {
+            if ( GetChild( nChild )->GetType() == WINDOW_CONTAINER )
+            {
+                VclContainer* pChild = static_cast<VclContainer*>( GetChild( nChild ) );
+
+                if ( pChild->HasContext( eContext ) || pChild->HasContext( vcl::EnumContext::Context::Context_Any ) )
+                {
+                    Size aSize( pChild->GetOptimalSize() );
+                    aSize.Height() += 6;
+                    pChild->Show();
+                    pChild->SetSizePixel( aSize );
+                }
+                else
+                {
+                    pChild->Hide();
+                    pChild->SetSizePixel( Size( 0, 0 ) );
+                }
+            }
+        }
+        Size aSize( GetOptimalSize() );
+        aSize.Width() += 6;
+        SetSizePixel( aSize );
+    }
+
+    void SetIconClickHdl( Link<NotebookBar*, void> ) override
+    {
+        // Menu not supported
+    }
+};
+
+VCL_BUILDER_FACTORY(ContextVBox)
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/notebookbar/NotebookBarPopupMenu.cxx b/sfx2/source/notebookbar/NotebookBarPopupMenu.cxx
index 72c4145..9644b35 100644
--- a/sfx2/source/notebookbar/NotebookBarPopupMenu.cxx
+++ b/sfx2/source/notebookbar/NotebookBarPopupMenu.cxx
@@ -15,6 +15,7 @@
 #include <sfxlocal.hrc>
 #include <sfx2/sfxresid.hxx>
 #include "NotebookBarPopupMenu.hxx"
+#include <vcl/tabctrl.hxx>
 
 using namespace sfx2;
 using namespace css::uno;
diff --git a/sfx2/source/notebookbar/SfxNotebookBar.cxx b/sfx2/source/notebookbar/SfxNotebookBar.cxx
index 64be63f..41dac9c 100644
--- a/sfx2/source/notebookbar/SfxNotebookBar.cxx
+++ b/sfx2/source/notebookbar/SfxNotebookBar.cxx
@@ -166,7 +166,7 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
             pSysWindow->SetNotebookBar(aBuf.makeStringAndClear(), xFrame);
 
             pSysWindow->GetNotebookBar()->Show();
-            pSysWindow->GetNotebookBar()->SetIconClickHdl(LINK(nullptr, SfxNotebookBar, ToggleMenubar));
+            pSysWindow->GetNotebookBar()->SetIconClickHdl(LINK(nullptr, SfxNotebookBar, OpenNotebookbarPopupMenu));
 
             SfxViewFrame* pView = SfxViewFrame::Current();
 
@@ -206,7 +206,7 @@ void SfxNotebookBar::RemoveListeners(SystemWindow* pSysWindow)
     }
 }
 
-IMPL_STATIC_LINK_TYPED(SfxNotebookBar, ToggleMenubar, NotebookBar*, pNotebookbar, void)
+IMPL_STATIC_LINK_TYPED(SfxNotebookBar, OpenNotebookbarPopupMenu, NotebookBar*, pNotebookbar, void)
 {
     if (pNotebookbar)
     {
diff --git a/sw/uiconfig/swriter/ui/notebookbar.ui b/sw/uiconfig/swriter/ui/notebookbar.ui
index 72ba1ea..9b911d4 100644
--- a/sw/uiconfig/swriter/ui/notebookbar.ui
+++ b/sw/uiconfig/swriter/ui/notebookbar.ui
@@ -213,7 +213,7 @@
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <child>
-          <object class="vcllo-NotebookbarTabControl" id="notebook1">
+          <object class="vcllo-NotebookbarTabControl" id="ContextContainer">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
diff --git a/sw/uiconfig/swriter/ui/notebookbar_groups.ui b/sw/uiconfig/swriter/ui/notebookbar_groups.ui
index 40d3cdc..c24b8ae 100644
--- a/sw/uiconfig/swriter/ui/notebookbar_groups.ui
+++ b/sw/uiconfig/swriter/ui/notebookbar_groups.ui
@@ -240,237 +240,258 @@
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <child>
-      <object class="GtkBox" id="box1">
+      <object class="GtkBox" id="box">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
+        <property name="can_focus">True</property>
+        <property name="margin_left">3</property>
+        <property name="margin_right">3</property>
+        <property name="hexpand">True</property>
+        <property name="vexpand">True</property>
+        <property name="spacing">6</property>
         <child>
-          <object class="vcllo-NotebookbarTabControl" id="notebook1">
+          <object class="GtkBox" id="filegroup">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="hexpand">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_top">3</property>
+            <property name="margin_bottom">3</property>
             <property name="vexpand">True</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">5</property>
             <child>
-              <object class="sfxlo-PriorityHBox" id="FileBox">
+              <object class="GtkBox" id="filegroupbuttons">
+                <property name="height_request">78</property>
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="margin_left">3</property>
-                <property name="margin_top">3</property>
-                <property name="margin_bottom">3</property>
                 <property name="spacing">6</property>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
+                  <object class="GtkBox" id="box10">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">3</property>
+                    <child>
+                      <object class="GtkButton" id="newb">
+                        <property name="label" translatable="yes">New</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 document</property>
+                        <property name="valign">center</property>
+                        <property name="vexpand">True</property>
+                        <property name="action_name">.uno:AddDirect</property>
+                        <property name="image">newi</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                        <property name="always_show_image">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="openb">
+                        <property name="label" translatable="yes">Open</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="tooltip_text" translatable="yes">Open a document</property>
+                        <property name="valign">center</property>
+                        <property name="vexpand">True</property>
+                        <property name="action_name">.uno:Open</property>
+                        <property name="image">openi</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                        <property name="always_show_image">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</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">0</property>
+                  </packing>
                 </child>
                 <child>
-                  <placeholder/>
+                  <object class="GtkBox" id="box11">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <object class="GtkButton" id="saveb">
+                        <property name="label" translatable="yes">Save</property>
+                        <property name="width_request">60</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="action_name">.uno:Save</property>
+                        <property name="image">savei</property>
+                        <property name="relief">none</property>
+                        <property name="image_position">top</property>
+                        <property name="always_show_image">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
                 </child>
                 <child>
-                  <object class="sfxlo-DropdownBox" id="box4">
+                  <object class="GtkBox" id="box12">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">3</property>
+                    <child>
+                      <object class="GtkButton" id="printb">
+                        <property name="label" translatable="yes">Print</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="valign">center</property>
+                        <property name="vexpand">True</property>
+                        <property name="action_name">.uno:Print</property>
+                        <property name="image">printi</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                        <property name="always_show_image">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
                     <child>
-                      <placeholder/>
+                      <object class="GtkButton" id="pdfb">
+                        <property name="label" translatable="yes">PDF</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="valign">center</property>
+                        <property name="vexpand">True</property>
+                        <property name="action_name">.uno:ExportToPDF</property>
+                        <property name="image">pdfi</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                        <property name="always_show_image">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
-                    <style>
-                      <class name="priority-1"/>
-                    </style>
                   </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
-                    <property name="position">7</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
               </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
             </child>
-            <child type="tab">
-              <object class="GtkLabel" id="FileLabel">
+            <child>
+              <object class="GtkSeparator" id="separator4">
+                <property name="height_request">2</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="filegrouplabel">
+                <property name="height_request">20</property>
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="label" translatable="yes">File</property>
-                <property name="use_underline">True</property>
+                <attributes>
+                  <attribute name="font-desc" value="Noto Sans 9"/>
+                  <attribute name="style" value="italic"/>
+                </attributes>
               </object>
               <packing>
-                <property name="tab_fill">False</property>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
               </packing>
             </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkSeparator" id="separator1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="clipboardgroup">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_top">3</property>
+            <property name="margin_bottom">3</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">5</property>
             <child>
-              <object class="sfxlo-PriorityHBox" id="HomeBox">
+              <object class="GtkBox" id="clipboardgroupbuttons">
+                <property name="height_request">78</property>
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="margin_left">3</property>
-                <property name="margin_right">3</property>
                 <property name="spacing">6</property>
                 <child>
-                  <object class="GtkBox" id="filegroup">
+                  <object class="GtkBox" id="box2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="margin_top">3</property>
-                    <property name="margin_bottom">3</property>
-                    <property name="vexpand">True</property>
                     <property name="orientation">vertical</property>
-                    <property name="spacing">5</property>
+                    <property name="spacing">3</property>
                     <child>
-                      <object class="GtkBox" id="filegroupbuttons">
-                        <property name="height_request">78</property>
+                      <object class="GtkButton" id="undob">
+                        <property name="label" translatable="yes">Undo</property>
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkBox" id="box10">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">3</property>
-                            <child>
-                              <object class="GtkButton" id="newb">
-                                <property name="label" translatable="yes">New</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 document</property>
-                                <property name="valign">center</property>
-                                <property name="vexpand">True</property>
-                                <property name="action_name">.uno:AddDirect</property>
-                                <property name="image">newi</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                                <property name="always_show_image">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="openb">
-                                <property name="label" translatable="yes">Open</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="tooltip_text" translatable="yes">Open a document</property>
-                                <property name="valign">center</property>
-                                <property name="vexpand">True</property>
-                                <property name="action_name">.uno:Open</property>
-                                <property name="image">openi</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                                <property name="always_show_image">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</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">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box11">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkButton" id="saveb">
-                                <property name="label" translatable="yes">Save</property>
-                                <property name="width_request">60</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="vexpand">True</property>
-                                <property name="action_name">.uno:Save</property>
-                                <property name="image">savei</property>
-                                <property name="relief">none</property>
-                                <property name="image_position">top</property>
-                                <property name="always_show_image">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box12">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">3</property>
-                            <child>
-                              <object class="GtkButton" id="printb">
-                                <property name="label" translatable="yes">Print</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="valign">center</property>
-                                <property name="vexpand">True</property>
-                                <property name="action_name">.uno:Print</property>
-                                <property name="image">printi</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                                <property name="always_show_image">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="pdfb">
-                                <property name="label" translatable="yes">PDF</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="valign">center</property>
-                                <property name="vexpand">True</property>
-                                <property name="action_name">.uno:ExportToPDF</property>
-                                <property name="image">pdfi</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                                <property name="always_show_image">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</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">2</property>
-                          </packing>
-                        </child>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="tooltip_text" translatable="yes">Create a new document</property>
+                        <property name="valign">center</property>
+                        <property name="vexpand">True</property>
+                        <property name="action_name">.uno:Undo</property>
+                        <property name="image">undoi</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                        <property name="always_show_image">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -479,10 +500,19 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSeparator" id="separator4">
-                        <property name="height_request">2</property>
+                      <object class="GtkButton" id="copyb">
+                        <property name="label" translatable="yes">Copy</property>
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="tooltip_text" translatable="yes">Open a document</property>
+                        <property name="valign">center</property>
+                        <property name="vexpand">True</property>
+                        <property name="action_name">.uno:Copy</property>
+                        <property name="image">copyi</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                        <property name="always_show_image">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -490,155 +520,286 @@
                         <property name="position">1</property>
                       </packing>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="box5">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">3</property>
+                    <child>
+                      <object class="GtkButton" id="redob">
+                        <property name="label" translatable="yes">Redo</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="valign">center</property>
+                        <property name="vexpand">True</property>
+                        <property name="action_name">.uno:Redo</property>
+                        <property name="image">redoi</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                        <property name="always_show_image">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
                     <child>
-                      <object class="GtkLabel" id="filegrouplabel">
-                        <property name="height_request">20</property>
+                      <object class="GtkButton" id="pasteb">
+                        <property name="label" translatable="yes">Paste</property>
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">File</property>
-                        <attributes>
-                          <attribute name="font-desc" value="Noto Sans 9"/>
-                          <attribute name="style" value="italic"/>
-                        </attributes>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="valign">center</property>
+                        <property name="vexpand">True</property>
+                        <property name="action_name">.uno:Paste</property>
+                        <property name="image">pastei</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                        <property name="always_show_image">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
-                        <property name="position">2</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSeparator" id="separator3">
+                <property name="height_request">2</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="clipboardgrouplabel">
+                <property name="height_request">20</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Clipboard</property>
+                <attributes>
+                  <attribute name="font-desc" value="Noto Sans 9"/>
+                  <attribute name="style" value="italic"/>
+                </attributes>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkSeparator" id="separator2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="fomatgroup">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_top">3</property>
+            <property name="margin_bottom">3</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">5</property>
+            <child>
+              <object class="GtkBox" id="fomatgroupbuttons">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
                 <child>
-                  <object class="GtkSeparator" id="separator1">
+                  <object class="GtkButton" id="paragraphstyleb:stylemenu">
+                    <property name="label" translatable="yes">Style</property>
+                    <property name="width_request">60</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="orientation">vertical</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="action_name">.uno:DesignerDialog</property>
+                    <property name="image">paragraphstylei</property>
+                    <property name="relief">none</property>
+                    <property name="image_position">top</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
-                    <property name="position">1</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkBox" id="clipboardgroup">
+                  <object class="GtkBox" id="box6">
+                    <property name="width_request">160</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="margin_top">3</property>
-                    <property name="margin_bottom">3</property>
+                    <property name="valign">center</property>
                     <property name="orientation">vertical</property>
-                    <property name="spacing">5</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkBox" id="box14">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="sfxlo-SidebarToolBox" id="font">
+                            <property name="can_focus">False</property>
+                            <child>
+                              <object class="GtkToolButton" id="fontname">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
+                                <property name="vexpand">True</property>
+                                <property name="is_important">True</property>
+                                <property name="action_name">.uno:CharFontName</property>
+                              </object>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="homogeneous">True</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="svtlo-FontNameBox" id="fontnamelist">
+                            <property name="height_request">36</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</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="GtkBox" id="clipboardgroupbuttons">
-                        <property name="height_request">78</property>
+                      <object class="GtkBox" id="box7">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="spacing">6</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="spacing">4</property>
+                        <child>
+                          <object class="svtlo-FontSizeBox" id="fontsizelist">
+                            <property name="width_request">60</property>
+                            <property name="height_request">30</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="hexpand">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
                         <child>
-                          <object class="GtkBox" id="box2">
-                            <property name="visible">True</property>
+                          <object class="sfxlo-SidebarToolBox" id="fontheight">
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">3</property>
-                            <child>
-                              <object class="GtkButton" id="undob">
-                                <property name="label" translatable="yes">Undo</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 document</property>
-                                <property name="valign">center</property>
-                                <property name="vexpand">True</property>
-                                <property name="action_name">.uno:Undo</property>
-                                <property name="image">undoi</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                                <property name="always_show_image">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
+                            <property name="halign">start</property>
+                            <property name="hexpand">True</property>
                             <child>
-                              <object class="GtkButton" id="copyb">
-                                <property name="label" translatable="yes">Copy</property>
+                              <object class="GtkToolButton" id="fontsize">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="tooltip_text" translatable="yes">Open a document</property>
-                                <property name="valign">center</property>
-                                <property name="vexpand">True</property>
-                                <property name="action_name">.uno:Copy</property>
-                                <property name="image">copyi</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                                <property name="always_show_image">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="is_important">True</property>
+                                <property name="action_name">.uno:FontHeight</property>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="expand">True</property>
+                                <property name="homogeneous">True</property>
                               </packing>
                             </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">True</property>
-                            <property name="position">0</property>
+                            <property name="position">1</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkBox" id="box5">
-                            <property name="visible">True</property>
+                          <object class="sfxlo-SidebarToolBox" id="fontadjust">
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">3</property>
+                            <property name="halign">end</property>
+                            <property name="hexpand">True</property>
+                            <property name="show_arrow">False</property>
                             <child>
-                              <object class="GtkButton" id="redob">
-                                <property name="label" translatable="yes">Redo</property>
+                              <object class="GtkToolButton" id="grow">
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="valign">center</property>
-                                <property name="vexpand">True</property>
-                                <property name="action_name">.uno:Redo</property>
-                                <property name="image">redoi</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                                <property name="always_show_image">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="is_important">True</property>
+                                <property name="action_name">.uno:Grow</property>
+                                <property name="use_underline">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="homogeneous">True</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkButton" id="pasteb">
-                                <property name="label" translatable="yes">Paste</property>
+                              <object class="GtkToolButton" id="shrink">
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="valign">center</property>
-                                <property name="vexpand">True</property>
-                                <property name="action_name">.uno:Paste</property>
-                                <property name="image">pastei</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                                <property name="always_show_image">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="is_important">True</property>
+                                <property name="action_name">.uno:Shrink</property>
+                                <property name="use_underline">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="homogeneous">True</property>
                               </packing>
                             </child>
                           </object>
@@ -648,6 +809,81 @@
                             <property name="position">2</property>
                           </packing>
                         </child>
+                        <child>
+                          <object class="GtkButton" id="growb">
+                            <property name="label" translatable="yes"> </property>
+                            <property name="width_request">35</property>
+                            <property name="height_request">30</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="halign">end</property>
+                            <property name="valign">center</property>
+                            <property name="action_name">.uno:Grow</property>
+                            <property name="image">growi</property>
+                            <property name="relief">none</property>
+                            <property name="image_position">right</property>
+                            <property name="always_show_image">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="shrinkb">
+                            <property name="label" translatable="yes"> </property>
+                            <property name="width_request">35</property>
+                            <property name="height_request">30</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="halign">end</property>
+                            <property name="valign">center</property>
+                            <property name="action_name">.uno:Shrink</property>
+                            <property name="image">shrinki</property>
+                            <property name="relief">none</property>
+                            <property name="always_show_image">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">4</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="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="box3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">3</property>
+                    <child>
+                      <object class="GtkButton" id="leftb">
+                        <property name="label" translatable="yes">Left</property>
+                        <property name="height_request">24</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="action_name">.uno:LeftPara</property>
+                        <property name="image">lefti</property>
+                        <property name="relief">none</property>
+                        <property name="focus_on_click">False</property>
+                        <property name="xalign">0</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -656,10 +892,16 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSeparator" id="separator3">
-                        <property name="height_request">2</property>
+                      <object class="GtkButton" id="centerb">
+                        <property name="label" translatable="yes">Center</property>
+                        <property name="height_request">24</property>
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="action_name">.uno:CenterPara</property>
+                        <property name="image">centeri</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -668,15 +910,16 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="clipboardgrouplabel">
-                        <property name="height_request">20</property>
+                      <object class="GtkButton" id="rightb">
+                        <property name="label" translatable="yes">Right</property>
+                        <property name="height_request">24</property>
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Clipboard</property>
-                        <attributes>
-                          <attribute name="font-desc" value="Noto Sans 9"/>
-                          <attribute name="style" value="italic"/>
-                        </attributes>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="action_name">.uno:RightPara</property>
+                        <property name="image">righti</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -692,10 +935,65 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkSeparator" id="separator2">
+                  <object class="GtkBox" id="box8">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
+                    <property name="spacing">3</property>
+                    <child>
+                      <object class="GtkButton" id="boldb">
+                        <property name="label" translatable="yes">Bold</property>
+                        <property name="height_request">24</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="action_name">.uno:Bold</property>
+                        <property name="image">boldi</property>
+                        <property name="relief">none</property>
+                        <property name="focus_on_click">False</property>
+                        <property name="xalign">0</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="italicsb">
+                        <property name="label" translatable="yes">Italic</property>
+                        <property name="height_request">24</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="action_name">.uno:Italic</property>
+                        <property name="image">italicsi</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="underlineb">
+                        <property name="label" translatable="yes">Underline</property>
+                        <property name="height_request">24</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="action_name">.uno:Underline</property>
+                        <property name="relief">none</property>
+                        <property name="xalign">0</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -704,658 +1002,296 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkBox" id="fomatgroup">
+                  <object class="GtkBox" id="box17">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="margin_top">3</property>
-                    <property name="margin_bottom">3</property>
                     <property name="orientation">vertical</property>
-                    <property name="spacing">5</property>
                     <child>
-                      <object class="GtkBox" id="fomatgroupbuttons">
+                      <object class="sfxlo-SidebarToolBox" id="colorbar_writer">
+                        <property name="height_request">26</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkButton" id="paragraphstyleb:stylemenu">
-                            <property name="label" translatable="yes">Style</property>
-                            <property name="width_request">60</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="action_name">.uno:DesignerDialog</property>
-                            <property name="image">paragraphstylei</property>
-                            <property name="relief">none</property>
-                            <property name="image_position">top</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box6">
-                            <property name="width_request">160</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">center</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">6</property>
-                            <child>
-                              <object class="GtkBox" id="box14">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="orientation">vertical</property>
-                                <child>
-                                  <object class="sfxlo-SidebarToolBox" id="font">
-                                    <property name="can_focus">False</property>
-                                    <child>
-                                      <object class="GtkToolButton" id="fontname">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="hexpand">True</property>
-                                        <property name="vexpand">True</property>
-                                        <property name="is_important">True</property>
-                                        <property name="action_name">.uno:CharFontName</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="homogeneous">True</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="svtlo-FontNameBox" id="fontnamelist">
-                                    <property name="height_request">36</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</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="GtkBox" id="box7">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="hexpand">True</property>
-                                <property name="vexpand">True</property>
-                                <property name="spacing">4</property>
-                                <child>
-                                  <object class="svtlo-FontSizeBox" id="fontsizelist">
-                                    <property name="width_request">60</property>
-                                    <property name="height_request">30</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="halign">start</property>
-                                    <property name="hexpand">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="sfxlo-SidebarToolBox" id="fontheight">
-                                    <property name="can_focus">False</property>
-                                    <property name="halign">start</property>
-                                    <property name="hexpand">True</property>
-                                    <child>
-                                      <object class="GtkToolButton" id="fontsize">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="is_important">True</property>
-                                        <property name="action_name">.uno:FontHeight</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="homogeneous">True</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="sfxlo-SidebarToolBox" id="fontadjust">
-                                    <property name="can_focus">False</property>
-                                    <property name="halign">end</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="show_arrow">False</property>
-                                    <child>
-                                      <object class="GtkToolButton" id="grow">
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="is_important">True</property>
-                                        <property name="action_name">.uno:Grow</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="shrink">
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="is_important">True</property>
-                                        <property name="action_name">.uno:Shrink</property>
-                                        <property name="use_underline">True</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">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkButton" id="growb">
-                                    <property name="label" translatable="yes"> </property>
-                                    <property name="width_request">35</property>
-                                    <property name="height_request">30</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="action_name">.uno:Grow</property>
-                                    <property name="image">growi</property>
-                                    <property name="relief">none</property>
-                                    <property name="image_position">right</property>
-                                    <property name="always_show_image">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkButton" id="shrinkb">
-                                    <property name="label" translatable="yes"> </property>
-                                    <property name="width_request">35</property>
-                                    <property name="height_request">30</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="action_name">.uno:Shrink</property>
-                                    <property name="image">shrinki</property>
-                                    <property name="relief">none</property>
-                                    <property name="always_show_image">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">4</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="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box3">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">3</property>
-                            <child>
-                              <object class="GtkButton" id="leftb">
-                                <property name="label" translatable="yes">Left</property>
-                                <property name="height_request">24</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="action_name">.uno:LeftPara</property>
-                                <property name="image">lefti</property>
-                                <property name="relief">none</property>
-                                <property name="focus_on_click">False</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="centerb">
-                                <property name="label" translatable="yes">Center</property>
-                                <property name="height_request">24</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="action_name">.uno:CenterPara</property>
-                                <property name="image">centeri</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="rightb">
-                                <property name="label" translatable="yes">Right</property>
-                                <property name="height_request">24</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="action_name">.uno:RightPara</property>
-                                <property name="image">righti</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
+                        <property name="show_arrow">False</property>
                         <child>
-                          <object class="GtkBox" id="box8">
+                          <object class="GtkMenuToolButton" id="highlight">
+                            <property name="use_action_appearance">False</property>
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">3</property>
-                            <child>
-                              <object class="GtkButton" id="boldb">
-                                <property name="label" translatable="yes">Bold</property>
-                                <property name="height_request">24</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="action_name">.uno:Bold</property>
-                                <property name="image">boldi</property>
-                                <property name="relief">none</property>
-                                <property name="focus_on_click">False</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="italicsb">
-                                <property name="label" translatable="yes">Italic</property>
-                                <property name="height_request">24</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="action_name">.uno:Italic</property>
-                                <property name="image">italicsi</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list