diff options
author | Szymon Kłos <eszkadev@gmail.com> | 2016-08-19 10:20:03 +0200 |
---|---|---|
committer | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2016-08-25 11:46:39 +0000 |
commit | 6488d249b0c5649313b6611660aca939e5c374bf (patch) | |
tree | 64646f153fd5ef2999dff69a51462dc72fd27369 | |
parent | b9ab0dd3e5eb3c948ee9a29006637e48d5751a5e (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>
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: */ |