include/sfx2/sidebar/SidebarToolBox.hxx | 3 ++- include/sfx2/weldutils.hxx | 4 +++- sfx2/inc/sidebar/ControllerFactory.hxx | 7 ++++--- sfx2/source/notebookbar/NotebookbarTabControl.cxx | 1 + sfx2/source/sidebar/ControllerFactory.cxx | 12 ++++++------ sfx2/source/sidebar/PanelTitleBar.cxx | 2 +- sfx2/source/sidebar/SidebarToolBox.cxx | 10 ++++++---- sfx2/source/toolbox/weldutils.cxx | 6 ++++-- 8 files changed, 27 insertions(+), 18 deletions(-)
New commits: commit 2dd7c6a441f48a23dcbff1ebe24bdf21666c4ff0 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon May 25 20:18:56 2020 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Tue May 26 16:59:50 2020 +0200 tdf#133094 NotebookbarToolBox is not in the sidebar though it is inheriting from SidebarToolBox and we're distinguish the sidebar case from the non-sidebar case wrt certain color toolbuttons Change-Id: Ieffe45adfab95d426bb36296ee3428b6bd3dbd3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94806 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/include/sfx2/sidebar/SidebarToolBox.hxx b/include/sfx2/sidebar/SidebarToolBox.hxx index 9eb54744fe5b..bf0fbf60ceba 100644 --- a/include/sfx2/sidebar/SidebarToolBox.hxx +++ b/include/sfx2/sidebar/SidebarToolBox.hxx @@ -62,6 +62,7 @@ protected: ControllerContainer maControllers; bool mbAreHandlersRegistered; bool mbUseDefaultButtonSize; + bool mbSideBar; DECL_LINK(DropDownClickHandler, ToolBox*, void); DECL_LINK(ClickHandler, ToolBox*, void); @@ -73,7 +74,7 @@ protected: void CreateController(const sal_uInt16 nItemId, const css::uno::Reference<css::frame::XFrame>& rxFrame, - const sal_Int32 nItemWidth); + const sal_Int32 nItemWidth, bool bSideBar); void RegisterHandlers(); }; diff --git a/include/sfx2/weldutils.hxx b/include/sfx2/weldutils.hxx index c2e05d54924a..c72a473c4cf9 100644 --- a/include/sfx2/weldutils.hxx +++ b/include/sfx2/weldutils.hxx @@ -35,6 +35,7 @@ private: SvtMiscOptions m_aToolbarOptions; weld::Toolbar* m_pToolbar; weld::Builder* m_pBuilder; + bool m_bSideBar; DECL_LINK(SelectHdl, const OString&, void); DECL_LINK(ToggleMenuHdl, const OString&, void); @@ -50,7 +51,8 @@ private: public: // fill in the label and icons for actions and dispatch the action on item click ToolbarUnoDispatcher(weld::Toolbar& rToolbar, weld::Builder& rBuilder, - const css::uno::Reference<css::frame::XFrame>& rFrame); + const css::uno::Reference<css::frame::XFrame>& rFrame, + bool bSideBar = true); css::uno::Reference<css::frame::XToolbarController> GetControllerForCommand(const OUString& rCommand) const; diff --git a/sfx2/inc/sidebar/ControllerFactory.hxx b/sfx2/inc/sidebar/ControllerFactory.hxx index 116458443abc..dbf609775a39 100644 --- a/sfx2/inc/sidebar/ControllerFactory.hxx +++ b/sfx2/inc/sidebar/ControllerFactory.hxx @@ -47,13 +47,14 @@ public: const css::uno::Reference<css::frame::XFrame>& rxFrame, const css::uno::Reference<css::frame::XController>& rxController, const css::uno::Reference<css::awt::XWindow>& rxParentWindow, - const sal_Int32 nItemWidth); + const sal_Int32 nItemWidth, bool bSideBar); static css::uno::Reference<css::frame::XToolbarController> CreateToolBoxController( weld::Toolbar& rToolbar, weld::Builder& rBuilder, const OUString& rsCommandName, - const css::uno::Reference<css::frame::XFrame>& rxFrame); + const css::uno::Reference<css::frame::XFrame>& rxFrame, + bool bSideBar); private: static css::uno::Reference<css::frame::XToolbarController> CreateToolBarController( @@ -61,7 +62,7 @@ private: const OUString& rsCommandName, const css::uno::Reference<css::frame::XFrame>& rxFrame, const css::uno::Reference<css::frame::XController>& rxController, - const sal_Int32 nWidth); + const sal_Int32 nWidth, bool bSideBar); }; diff --git a/sfx2/source/notebookbar/NotebookbarTabControl.cxx b/sfx2/source/notebookbar/NotebookbarTabControl.cxx index 9199106de58b..79f0cd7ef67c 100644 --- a/sfx2/source/notebookbar/NotebookbarTabControl.cxx +++ b/sfx2/source/notebookbar/NotebookbarTabControl.cxx @@ -126,6 +126,7 @@ public: : sfx2::sidebar::SidebarToolBox( pParent ) { mbUseDefaultButtonSize = false; + mbSideBar = false; SetToolboxButtonSize(ToolBoxButtonSize::Small); } diff --git a/sfx2/source/sidebar/ControllerFactory.cxx b/sfx2/source/sidebar/ControllerFactory.cxx index 71d5a3649007..50ba57a00b1f 100644 --- a/sfx2/source/sidebar/ControllerFactory.cxx +++ b/sfx2/source/sidebar/ControllerFactory.cxx @@ -44,14 +44,14 @@ Reference<frame::XToolbarController> ControllerFactory::CreateToolBoxController( const Reference<frame::XFrame>& rxFrame, const Reference<frame::XController>& rxController, const Reference<awt::XWindow>& rxParentWindow, - const sal_Int32 nWidth) + const sal_Int32 nWidth, bool bSideBar) { Reference<frame::XToolbarController> xController ( CreateToolBarController( VCLUnoHelper::GetInterface(pToolBox), rsCommandName, rxFrame, rxController, - nWidth)); + nWidth, bSideBar)); bool bFactoryHasController( xController.is() ); @@ -141,7 +141,7 @@ Reference<frame::XToolbarController> ControllerFactory::CreateToolBoxController( Reference<frame::XToolbarController> ControllerFactory::CreateToolBoxController( weld::Toolbar& rToolbar, weld::Builder& rBuilder, const OUString& rsCommandName, - const Reference<frame::XFrame>& rxFrame) + const Reference<frame::XFrame>& rxFrame, bool bSideBar) { css::uno::Reference<css::awt::XWindow> xWidget(new weld::TransportAsXWindow(&rToolbar, &rBuilder)); @@ -150,7 +150,7 @@ Reference<frame::XToolbarController> ControllerFactory::CreateToolBoxController( xWidget, rsCommandName, rxFrame, rxFrame->getController(), - -1)); + -1, bSideBar)); if (!xController.is()) { @@ -204,7 +204,7 @@ Reference<frame::XToolbarController> ControllerFactory::CreateToolBarController( const OUString& rsCommandName, const Reference<frame::XFrame>& rxFrame, const Reference<frame::XController>& rxController, - const sal_Int32 nWidth) + const sal_Int32 nWidth, bool bSideBar) { try { @@ -234,7 +234,7 @@ Reference<frame::XToolbarController> ControllerFactory::CreateToolBarController( aPropertyVector.push_back( makeAny( aPropValue )); aPropValue.Name = "IsSidebar"; - aPropValue.Value <<= true; + aPropValue.Value <<= bSideBar; aPropertyVector.push_back( makeAny( aPropValue )); if (nWidth > 0) diff --git a/sfx2/source/sidebar/PanelTitleBar.cxx b/sfx2/source/sidebar/PanelTitleBar.cxx index 21c423fcc34e..e8613f6f93d3 100644 --- a/sfx2/source/sidebar/PanelTitleBar.cxx +++ b/sfx2/source/sidebar/PanelTitleBar.cxx @@ -93,7 +93,7 @@ void PanelTitleBar::SetMoreOptionsCommand(const OUString& rsCommandName, msMoreOptionsCommand, rxFrame, rxController, VCLUnoHelper::GetInterface(maToolBox.get()), - 0)); + 0, true)); maToolBox->SetController(mnMenuItemIndex, xController); maToolBox->SetOutStyle(TOOLBOX_STYLE_FLAT); maToolBox->SetQuickHelpText( diff --git a/sfx2/source/sidebar/SidebarToolBox.cxx b/sfx2/source/sidebar/SidebarToolBox.cxx index ca3d076fb414..f77e6d5ff260 100644 --- a/sfx2/source/sidebar/SidebarToolBox.cxx +++ b/sfx2/source/sidebar/SidebarToolBox.cxx @@ -58,7 +58,8 @@ namespace sfx2::sidebar { SidebarToolBox::SidebarToolBox (vcl::Window* pParentWindow) : ToolBox(pParentWindow, 0), mbAreHandlersRegistered(false), - mbUseDefaultButtonSize(true) + mbUseDefaultButtonSize(true), + mbSideBar(true) { SetBackground(Wallpaper()); SetPaintTransparent(true); @@ -121,7 +122,7 @@ void SidebarToolBox::InsertItem(const OUString& rCommand, ToolBox::InsertItem(aCommand, rFrame, nBits, rRequestedSize, nPos); - CreateController(GetItemId(aCommand), rFrame, std::max(rRequestedSize.Width(), 0L)); + CreateController(GetItemId(aCommand), rFrame, std::max(rRequestedSize.Width(), 0L), mbSideBar); RegisterHandlers(); } @@ -149,13 +150,13 @@ void SidebarToolBox::KeyInput(const KeyEvent& rKEvt) void SidebarToolBox::CreateController ( const sal_uInt16 nItemId, const css::uno::Reference<css::frame::XFrame>& rxFrame, - const sal_Int32 nItemWidth) + const sal_Int32 nItemWidth, bool bSideBar) { const OUString sCommandName (GetItemCommand(nItemId)); uno::Reference<frame::XToolbarController> xController(sfx2::sidebar::ControllerFactory::CreateToolBoxController( this, nItemId, sCommandName, rxFrame, rxFrame->getController(), - VCLUnoHelper::GetInterface(this), nItemWidth)); + VCLUnoHelper::GetInterface(this), nItemWidth, bSideBar)); if (xController.is()) maControllers.insert(std::make_pair(nItemId, xController)); @@ -315,6 +316,7 @@ public: explicit NotebookbarToolBox(vcl::Window* pParentWindow) : SidebarToolBox(pParentWindow) { + mbSideBar = false; SetToolboxButtonSize(GetDefaultButtonSize()); } diff --git a/sfx2/source/toolbox/weldutils.cxx b/sfx2/source/toolbox/weldutils.cxx index c35f9047cf20..fc97aefa404a 100644 --- a/sfx2/source/toolbox/weldutils.cxx +++ b/sfx2/source/toolbox/weldutils.cxx @@ -72,10 +72,12 @@ vcl::ImageType ToolbarUnoDispatcher::GetIconSize() const } ToolbarUnoDispatcher::ToolbarUnoDispatcher(weld::Toolbar& rToolbar, weld::Builder& rBuilder, - const css::uno::Reference<css::frame::XFrame>& rFrame) + const css::uno::Reference<css::frame::XFrame>& rFrame, + bool bSideBar) : m_xFrame(rFrame) , m_pToolbar(&rToolbar) , m_pBuilder(&rBuilder) + , m_bSideBar(bSideBar) { rToolbar.connect_clicked(LINK(this, ToolbarUnoDispatcher, SelectHdl)); rToolbar.connect_menu_toggled(LINK(this, ToolbarUnoDispatcher, ToggleMenuHdl)); @@ -114,7 +116,7 @@ void ToolbarUnoDispatcher::CreateController(const OUString& rCommand) { css::uno::Reference<css::frame::XToolbarController> xController( sfx2::sidebar::ControllerFactory::CreateToolBoxController(*m_pToolbar, *m_pBuilder, - rCommand, m_xFrame)); + rCommand, m_xFrame, m_bSideBar)); if (xController.is()) maControllers.insert(std::make_pair(rCommand, xController)); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits