summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Kłos <eszkadev@gmail.com>2016-08-19 10:20:03 +0200
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2016-08-25 11:46:39 +0000
commit6488d249b0c5649313b6611660aca939e5c374bf (patch)
tree64646f153fd5ef2999dff69a51462dc72fd27369
parentb9ab0dd3e5eb3c948ee9a29006637e48d5751a5e (diff)
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@libreoffice.org> Tested-by: Yousuf Philips <philipz85@hotmail.com> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
-rw-r--r--extras/source/glade/libreoffice-catalog.xml.in3
-rw-r--r--include/sfx2/notebookbar/NotebookbarContextControl.hxx27
-rw-r--r--include/sfx2/notebookbar/SfxNotebookBar.hxx2
-rw-r--r--include/vcl/IContext.hxx54
-rw-r--r--include/vcl/layout.hxx4
-rw-r--r--include/vcl/notebookbar.hxx4
-rw-r--r--include/vcl/tabctrl.hxx8
-rw-r--r--include/vcl/tabpage.hxx8
-rw-r--r--sc/uiconfig/scalc/ui/notebookbar.ui2
-rw-r--r--sc/uiconfig/scalc/ui/notebookbar_groups.ui2
-rw-r--r--sd/uiconfig/simpress/ui/notebookbar.ui2
-rw-r--r--sd/uiconfig/simpress/ui/notebookbar_groups.ui2
-rw-r--r--sfx2/Library_sfx.mk1
-rw-r--r--sfx2/source/notebookbar/ContextVBox.cxx85
-rw-r--r--sfx2/source/notebookbar/NotebookBarPopupMenu.cxx1
-rw-r--r--sfx2/source/notebookbar/SfxNotebookBar.cxx4
-rw-r--r--sw/uiconfig/swriter/ui/notebookbar.ui2
-rw-r--r--sw/uiconfig/swriter/ui/notebookbar_groups.ui1939
-rw-r--r--vcl/source/control/notebookbar.cxx14
-rw-r--r--vcl/source/window/builder.cxx4
-rw-r--r--vcl/source/window/tabpage.cxx22
21 files changed, 1162 insertions, 1028 deletions
diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index 238f8ff27ec8..379ff6d16ada 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 000000000000..348b52101df1
--- /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 67ee405fb355..e3735658d857 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 000000000000..09f9722a4597
--- /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 02fcaad564e9..eb9d94fdb171 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 51f32aab6d45..d2a279ffe3ad 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 a79522a03586..b24e3dacf4e3 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 5a35901c4007..0ee6776cca6f 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 e7b146c316b7..9aca52f21440 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 0154978af690..9b5e4b484543 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 dbaadbe01809..4cecd61ffdb2 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 0154978af690..9b5e4b484543 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 02956b1bb23e..a6220499ce05 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 000000000000..3bbe14a1f3ea
--- /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 72c4145133e2..9644b35a9462 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 64be63f50da0..41dac9c5c900 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 72ba1ea1bbc6..9b911d4d5cfd 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 40d3cdc9a329..c24b8ae7a1a7 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="GtkLabel" id="filegrouplabel">
- <property name="height_request">20</property>
+ <object class="GtkButton" id="redob">
+ <property name="label" translatable="yes">Redo</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: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">2</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="pasteb">
+ <property name="label" translatable="yes">Paste</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>
+ </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>
+ <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="clipboardgroupbuttons">
- <property name="height_request">78</property>
+ <object class="GtkBox" id="box14">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">6</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkBox" id="box2">
- <property name="visible">True</property>
+ <object class="sfxlo-SidebarToolBox" id="font">
<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>
+ <object class="GtkToolButton" id="fontname">
<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="can_focus">False</property>
+ <property name="hexpand">True</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>
+ <property name="is_important">True</property>
+ <property name="action_name">.uno:CharFontName</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</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>
+ </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="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>
+ <property name="show_arrow">False</property>
<child>
- <object class="GtkBox" id="box3">
+ <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="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>
+ <property name="is_important">True</property>
+ <property name="action_name">.uno:BackColor</property>
+ <property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
+ <property name="homogeneous">True</property>
</packing>
</child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="sfxlo-SidebarToolBox" id="colorbar_writer2">
+ <property name="height_request">26</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="show_arrow">False</property>
<child>
- <object class="GtkBox" id="box8">
+ <object class="GtkMenuToolButton" id="backgroundcolor">
+ <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>
- </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>
+ <property name="is_important">True</property>
+ <property name="action_name">.uno:BackgroundColor</property>
+ <property name="use_underline">True</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="box17">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <child>
- <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="show_arrow">False</property>
- <child>
- <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="is_important">True</property>
- <property name="action_name">.uno:BackColor</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="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="sfxlo-SidebarToolBox" id="colorbar_writer2">
- <property name="height_request">26</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="show_arrow">False</property>
- <child>
- <object class="GtkMenuToolButton" id="backgroundcolor">
- <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:BackgroundColor</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="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="sfxlo-SidebarToolBox" id="colorbar_writer1">
- <property name="height_request">26</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="show_arrow">False</property>
- <child>
- <object class="GtkMenuToolButton" id="fontcolor">
- <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:FontColor</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="pack_type">end</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
+ <property name="homogeneous">True</property>
</packing>
</child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="sfxlo-SidebarToolBox" id="colorbar_writer1">
+ <property name="height_request">26</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="show_arrow">False</property>
<child>
- <object class="GtkBox" id="box13">
+ <object class="GtkMenuToolButton" id="fontcolor">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="vexpand">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">3</property>
- <child>
- <object class="GtkButton" id="bulletsb">
- <property name="label" translatable="yes">Bullets</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="action_name">.uno:DefaultBullet</property>
- <property name="image">bulletsi</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">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="numberingb">
- <property name="label" translatable="yes">Numbering</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="action_name">.uno:DefaultNumbering</property>
- <property name="image">numberingi</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>
+ <property name="is_important">True</property>
+ <property name="action_name">.uno:FontColor</property>
+ <property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">5</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="pack_type">end</property>
+ <property name="position">1</property>
</packing>
</child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box13">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">3</property>
<child>
- <object class="GtkSeparator" id="separator5">
- <property name="height_request">2</property>
+ <object class="GtkButton" id="bulletsb">
+ <property name="label" translatable="yes">Bullets</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="valign">center</property>
+ <property name="action_name">.uno:DefaultBullet</property>
+ <property name="image">bulletsi</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>
+ <property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="fomatgrouplabel">
- <property name="height_request">20</property>
+ <object class="GtkButton" id="numberingb">
+ <property name="label" translatable="yes">Numbering</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Format</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="action_name">.uno:DefaultNumbering</property>
+ <property name="image">numberingi</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>
+ <property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">4</property>
+ <property name="position">5</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="separator5">
+ <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="fomatgrouplabel">
+ <property name="height_request">20</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Format</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">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator" id="separator6">
+ <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">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="sfxlo-ContextVBox" id="ContextContainer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox" id="tablegroup">
+ <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>
+ <placeholder/>
+ </child>
<child>
- <object class="GtkSeparator" id="separator6">
+ <object class="GtkSeparator" id="separator12">
+ <property name="height_request">2</property>
<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">5</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
- <object class="GtkBox" id="insertgroup">
+ <object class="GtkLabel" id="tablegrouplabel">
+ <property name="height_request">20</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="orientation">vertical</property>
- <property name="spacing">5</property>
+ <property name="label" translatable="yes">Table</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>
+ <style>
+ <class name="context-Table"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="insertgroup">
+ <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="insertgroupbuttons">
+ <property name="height_request">78</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
- <object class="GtkBox" id="insertgroupbuttons">
- <property name="height_request">78</property>
+ <object class="GtkBox" id="box15">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">6</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkBox" id="box15">
+ <object class="sfxlo-SidebarToolBox" id="tablebox">
+ <property name="height_request">26</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
+ <property name="toolbar_style">both-horiz</property>
<child>
- <object class="sfxlo-SidebarToolBox" id="tablebox">
- <property name="height_request">26</property>
+ <object class="GtkToolButton" id="tableb">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="toolbar_style">both-horiz</property>
- <child>
- <object class="GtkToolButton" id="tableb">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="is_important">True</property>
- <property name="action_name">.uno:InsertTable</property>
- <property name="label" translatable="yes">Table</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
+ <property name="is_important">True</property>
+ <property name="action_name">.uno:InsertTable</property>
+ <property name="label" translatable="yes">Table</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="shapesbox">
- <property name="height_request">26</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="toolbar_style">both-horiz</property>
- <child>
- <object class="GtkToolButton" id="shapesb">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="is_important">True</property>
- <property name="action_name">.uno:BasicShapes</property>
- <property name="label" translatable="yes">Shapes</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="GtkButton" id="linksb:linksmenu">
- <property name="label" translatable="yes">Links</property>
- <property name="height_request">26</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">linksi</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>
+ <property name="expand">True</property>
+ <property name="homogeneous">True</property>
</packing>
</child>
</object>
@@ -1366,61 +1302,22 @@
</packing>
</child>
<child>
- <object class="GtkBox" id="box16">
+ <object class="sfxlo-SidebarToolBox" id="shapesbox">
+ <property name="height_request">26</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">3</property>
+ <property name="toolbar_style">both-horiz</property>
<child>
- <object class="GtkButton" id="imageb">
- <property name="label" translatable="yes">Image</property>
- <property name="height_request">24</property>
+ <object class="GtkToolButton" id="shapesb">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="action_name">.uno:InsertGraphic</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">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="chartb">
- <property name="label" translatable="yes">Chart</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:InsertObjectChart</property>
- <property name="image">charti</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="commentb">
- <property name="label" translatable="yes">Comment</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:InsertAnnotation</property>
- <property name="relief">none</property>
- <property name="xalign">0</property>
+ <property name="can_focus">False</property>
+ <property name="is_important">True</property>
+ <property name="action_name">.uno:BasicShapes</property>
+ <property name="label" translatable="yes">Shapes</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
+ <property name="expand">True</property>
+ <property name="homogeneous">True</property>
</packing>
</child>
</object>
@@ -1430,6 +1327,23 @@
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkButton" id="linksb:linksmenu">
+ <property name="label" translatable="yes">Links</property>
+ <property name="height_request">26</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">linksi</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>
@@ -1438,10 +1352,63 @@
</packing>
</child>
<child>
- <object class="GtkSeparator" id="separator7">
- <property name="height_request">2</property>
+ <object class="GtkBox" id="box16">
<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="imageb">
+ <property name="label" translatable="yes">Image</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:InsertGraphic</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">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="chartb">
+ <property name="label" translatable="yes">Chart</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:InsertObjectChart</property>
+ <property name="image">charti</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="commentb">
+ <property name="label" translatable="yes">Comment</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:InsertAnnotation</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>
@@ -1449,110 +1416,118 @@
<property name="position">1</property>
</packing>
</child>
- <child>
- <object class="GtkLabel" id="insertgrouplabel">
- <property name="height_request">20</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Insert</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">6</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkSeparator" id="separator8">
+ <object class="GtkSeparator" id="separator7">
+ <property name="height_request">2</property>
<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">7</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
+ <object class="GtkLabel" id="insertgrouplabel">
+ <property name="height_request">20</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Insert</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>
+ <style>
+ <class name="context-Text"/>
+ </style>
</object>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- <child type="tab">
- <object class="GtkLabel" id="HomeLabel">
- <property name="visible">True</property>
+ <child>
+ <object class="GtkBox" id="imagegroup">
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Home</property>
- <property name="use_underline">True</property>
+ <property name="margin_top">3</property>
+ <property name="margin_bottom">3</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">5</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkSeparator" id="separator13">
+ <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="imagegrouplabel">
+ <property name="height_request">20</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Image</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>
<style>
- <class name="context-any"/>
- <class name="context-Text"/>
+ <class name="context-Graphic"/>
</style>
</object>
<packing>
- <property name="position">1</property>
- <property name="tab_fill">False</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
- <child type="tab">
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child type="tab">
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child type="tab">
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child type="tab">
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child type="tab">
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child type="tab">
- <placeholder/>
- </child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator" id="separator8">
+ <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">7</property>
</packing>
</child>
</object>
diff --git a/vcl/source/control/notebookbar.cxx b/vcl/source/control/notebookbar.cxx
index cb2611dd0351..1bfef511cd0c 100644
--- a/vcl/source/control/notebookbar.cxx
+++ b/vcl/source/control/notebookbar.cxx
@@ -8,6 +8,7 @@
*/
#include <vcl/layout.hxx>
+#include <vcl/tabctrl.hxx>
#include <vcl/notebookbar.hxx>
#include <cppuhelper/queryinterface.hxx>
#include <cppuhelper/implbase.hxx>
@@ -37,7 +38,10 @@ NotebookBar::NotebookBar(Window* pParent, const OString& rID, const OUString& rU
{
SetStyle(GetStyle() | WB_DIALOGCONTROL);
m_pUIBuilder = new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID, rFrame);
- get(m_pTabControl, "notebook1");
+
+ // In the Notebookbar's .ui file must exist control handling context
+ // - implementing NotebookbarContextControl interface with id "ContextContainer"
+ m_pContextContainer = dynamic_cast<NotebookbarContextControl*>(m_pUIBuilder->get<Window>("ContextContainer"));
}
NotebookBar::~NotebookBar()
@@ -49,7 +53,6 @@ void NotebookBar::dispose()
{
disposeBuilder();
m_pEventListener.clear();
- m_pTabControl.clear();
Control::dispose();
}
@@ -92,7 +95,8 @@ void NotebookBar::setPosSizePixel(long nX, long nY, long nWidth, long nHeight, P
void NotebookBar::SetIconClickHdl(Link<NotebookBar*, void> aHdl)
{
- m_pTabControl->SetIconClickHdl(aHdl);
+ if (m_pContextContainer)
+ m_pContextContainer->SetIconClickHdl(aHdl);
}
void NotebookBar::StateChanged(StateChangedType nType)
@@ -109,8 +113,8 @@ void NotebookBar::StateChanged(StateChangedType nType)
void SAL_CALL NotebookBarContextChangeEventListener::notifyContextChangeEvent(const css::ui::ContextChangeEventObject& rEvent)
throw (css::uno::RuntimeException, std::exception)
{
- if (mpParent && mpParent->m_pTabControl)
- mpParent->m_pTabControl->SetContext(vcl::EnumContext::GetContextEnum(rEvent.ContextName));
+ if (mpParent && mpParent->m_pContextContainer)
+ mpParent->m_pContextContainer->SetContext(vcl::EnumContext::GetContextEnum(rEvent.ContextName));
}
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index f53c3207c337..ddaedf0a8fce 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -2867,9 +2867,11 @@ VclPtr<vcl::Window> VclBuilder::handleObject(vcl::Window *pParent, xmlreader::Xm
else if (name.equals("style"))
{
int nPriority = 0;
- handleStyle(reader, nPriority);
+ std::vector<vcl::EnumContext::Context> aContext = handleStyle(reader, nPriority);
if (nPriority != 0)
dynamic_cast<vcl::IPrioritable*>(pCurrentChild.get())->SetPriority(nPriority);
+ if (aContext.size() != 0)
+ dynamic_cast<vcl::IContext*>(pCurrentChild.get())->SetContext(aContext);
}
else
{
diff --git a/vcl/source/window/tabpage.cxx b/vcl/source/window/tabpage.cxx
index e09f18fe193f..0576f3af6229 100644
--- a/vcl/source/window/tabpage.cxx
+++ b/vcl/source/window/tabpage.cxx
@@ -44,8 +44,6 @@ void TabPage::ImplInit( vcl::Window* pParent, WinBits nStyle )
// otherwise they will paint with a wrong background
if( IsNativeControlSupported(ControlType::TabBody, ControlPart::Entire) && GetParent() && (GetParent()->GetType() == WINDOW_TABCONTROL) )
EnableChildTransparentMode();
-
- maContext.push_back( vcl::EnumContext::Context::Context_Any );
}
void TabPage::ImplInitSettings()
@@ -73,12 +71,14 @@ void TabPage::ImplInitSettings()
TabPage::TabPage( vcl::Window* pParent, WinBits nStyle ) :
Window( WINDOW_TABPAGE )
+ , IContext()
{
ImplInit( pParent, nStyle );
}
TabPage::TabPage(vcl::Window *pParent, const OString& rID, const OUString& rUIXMLDescription)
: Window(WINDOW_TABPAGE)
+ , IContext()
{
ImplInit(pParent, 0);
m_pUIBuilder = new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID);
@@ -223,22 +223,4 @@ void TabPage::SetPosPixel(const Point& rAllocPos)
}
}
-void TabPage::SetContext(const std::vector<vcl::EnumContext::Context>& aContext)
-{
- maContext = aContext;
-}
-
-bool TabPage::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 >& TabPage::GetContext() const
-{
- return maContext;
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */