diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-03-04 17:22:14 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-03-11 17:42:22 +0100 |
commit | 1653bb9bffaa84a40b7d81a8277e887ea28df4e4 (patch) | |
tree | 5e56142b7b63ab66fb1dcc781ffeb3ae5afda2ad /sw/source/uibase/inc | |
parent | lok: avoid a set of invalidations per view on re-size. (diff) | |
download | core-1653bb9bffaa84a40b7d81a8277e887ea28df4e4.tar.gz core-1653bb9bffaa84a40b7d81a8277e887ea28df4e4.zip |
remove intermediate containers in sidebars
tested extension sidebars of:
a) Wollmux extension sidebars
b) Analog Clock Extension demo
https://wiki.openoffice.org/wiki/Sidebar_for_Developers#Example:_Analog_Clock_Extension
Change-Id: If9729e20526681928137989f01a8ae733a9b0cb5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112035
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw/source/uibase/inc')
-rw-r--r-- | sw/source/uibase/inc/conttree.hxx | 4 | ||||
-rw-r--r-- | sw/source/uibase/inc/navipi.hxx | 15 | ||||
-rw-r--r-- | sw/source/uibase/inc/redlndlg.hxx | 3 |
3 files changed, 12 insertions, 10 deletions
diff --git a/sw/source/uibase/inc/conttree.hxx b/sw/source/uibase/inc/conttree.hxx index 24488a8c713b..95eb75efb6cd 100644 --- a/sw/source/uibase/inc/conttree.hxx +++ b/sw/source/uibase/inc/conttree.hxx @@ -89,7 +89,7 @@ class SwContentTree final : public SfxListener std::unique_ptr<weld::TreeView> m_xTreeView; std::unique_ptr<weld::TreeIter> m_xScratchIter; SwContentTreeDropTarget m_aDropTargetHelper; - VclPtr<SwNavigationPI> m_xDialog; + SwNavigationPI* m_pDialog; OUString m_sSpace; AutoTimer m_aUpdTimer; @@ -298,7 +298,7 @@ class SwGlobalTree final private: std::unique_ptr<weld::TreeView> m_xTreeView; SwGlobalTreeDropTarget m_aDropTargetHelper; - VclPtr<SwNavigationPI> m_xDialog; + SwNavigationPI* m_pDialog; AutoTimer m_aUpdateTimer; OUString m_aContextStrings[GLOBAL_CONTEXT_COUNT]; diff --git a/sw/source/uibase/inc/navipi.hxx b/sw/source/uibase/inc/navipi.hxx index 0b0d0134a811..c203284ca500 100644 --- a/sw/source/uibase/inc/navipi.hxx +++ b/sw/source/uibase/inc/navipi.hxx @@ -73,6 +73,8 @@ class SwNavigationPI : public PanelLayout OUString m_sContentFileName; OUString m_aStatusArr[4]; + VclPtr<SfxNavigator> m_xNavigatorDlg; + std::unique_ptr<SfxObjectShellLock> m_pxObjectShell; SwView *m_pContentView; SwWrtShell *m_pContentWrtShell; @@ -111,6 +113,8 @@ class SwNavigationPI : public PanelLayout bool EditAction(); void UsePage(); + void UpdateInitShow(); + protected: // release ObjectShellLock early enough for app end @@ -121,14 +125,13 @@ protected: public: - static VclPtr<PanelLayout> Create(vcl::Window* pParent, + static std::unique_ptr<PanelLayout> Create(weld::Widget* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxFrame, SfxBindings* pBindings); - SwNavigationPI(vcl::Window* pParent, + SwNavigationPI(weld::Widget* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxFrame, - SfxBindings* _pBindings); + SfxBindings* _pBindings, SfxNavigator* pNavigatorDlg); virtual ~SwNavigationPI() override; - virtual void dispose() override; void UpdateListBox(); void MoveOutline(SwOutlineNodes::size_type nSource, SwOutlineNodes::size_type nTarget); @@ -140,8 +143,6 @@ public: virtual void GetControlState(const sal_uInt16 /*nSId*/, boost::property_tree::ptree& /*rState*/) override {}; - virtual void StateChanged(StateChangedType nStateChange) override; - static OUString CreateDropFileName( TransferableDataHelper& rData ); static OUString CleanEntry(const OUString& rEntry); @@ -155,6 +156,8 @@ public: bool IsGlobalMode() const {return m_bGlobalMode;} SwView* GetCreateView() const; + + virtual weld::Window* GetFrameWeld() const override; }; class SwNavigatorWrapper final : public SfxNavigatorWrapper diff --git a/sw/source/uibase/inc/redlndlg.hxx b/sw/source/uibase/inc/redlndlg.hxx index faf6d65d34b8..63cfca9d9409 100644 --- a/sw/source/uibase/inc/redlndlg.hxx +++ b/sw/source/uibase/inc/redlndlg.hxx @@ -153,9 +153,8 @@ class SwRedlineAcceptPanel : public PanelLayout, public SfxListener std::unique_ptr<SwRedlineAcceptDlg> mpImplDlg; std::unique_ptr<weld::Container> mxContentArea; public: - SwRedlineAcceptPanel(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rFrame); + SwRedlineAcceptPanel(weld::Widget* pParent); virtual ~SwRedlineAcceptPanel() override; - virtual void dispose() override; /// We need to be a SfxListener to be able to update the list of changes when we get SfxHintId::DocChanged. virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint) override; |