diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2018-05-25 16:05:12 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2018-05-26 12:40:48 +0200 |
commit | 40e431def06b72cc87226cd50c271b42a1adfbbe (patch) | |
tree | 7cb0aba76e13dae9289217ba71efbd0da642d200 | |
parent | 08a2f9bf8982f6b50e03d80fa631cc28f3a2c96b (diff) |
tdf#115386: Show Mail Merge toolbar for new labels
Change-Id: I26ec6c7fdfa5b6f6f818927fd9ede00184dc5e8c
Reviewed-on: https://gerrit.libreoffice.org/54813
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r-- | sw/inc/view.hxx | 1 | ||||
-rw-r--r-- | sw/source/uibase/app/applab.cxx | 3 | ||||
-rw-r--r-- | sw/source/uibase/uiview/view.cxx | 24 |
3 files changed, 17 insertions, 11 deletions
diff --git a/sw/inc/view.hxx b/sw/inc/view.hxx index 91d02e252160..c8b03778acc2 100644 --- a/sw/inc/view.hxx +++ b/sw/inc/view.hxx @@ -629,6 +629,7 @@ public: const OUString& GetRedlineAuthor(); /// See SfxViewShell::NotifyCursor(). void NotifyCursor(SfxViewShell* pViewShell) const override; + void ShowUIElement(const OUString& sElementURL) const; }; inline long SwView::GetXScroll() const diff --git a/sw/source/uibase/app/applab.cxx b/sw/source/uibase/app/applab.cxx index 4379f6e7ea8b..ce01e26863aa 100644 --- a/sw/source/uibase/app/applab.cxx +++ b/sw/source/uibase/app/applab.cxx @@ -385,6 +385,9 @@ void SwModule::InsertLab(SfxRequest& rReq, bool bLabel) if (pFirstFlyFormat) pSh->GotoFly(pFirstFlyFormat->GetName(), FLYCNTTYPE_ALL, false); + if (pSh->IsAnyDatabaseFieldInDoc()) + pSh->GetView().ShowUIElement("private:resource/toolbar/mailmerge"); + pSh->EndAllAction(); pSh->DoUndo(); } diff --git a/sw/source/uibase/uiview/view.cxx b/sw/source/uibase/uiview/view.cxx index 6244a6771818..c67ae50f800d 100644 --- a/sw/source/uibase/uiview/view.cxx +++ b/sw/source/uibase/uiview/view.cxx @@ -241,6 +241,18 @@ uno::Reference<frame::XLayoutManager> getLayoutManager(const SfxViewFrame& rView } } +void SwView::ShowUIElement(const OUString& sElementURL) const +{ + if (auto xLayoutManager = getLayoutManager(*GetViewFrame())) + { + if (!xLayoutManager->getElement(sElementURL).is()) + { + xLayoutManager->createElement(sElementURL); + xLayoutManager->showElement(sElementURL); + } + } +} + void SwView::SelectShell() { // Attention: Maintain the SelectShell for the WebView additionally @@ -444,17 +456,7 @@ void SwView::SelectShell() // Show Mail Merge toolbar initially for documents with Database fields if (!m_bInitOnceCompleted && GetWrtShell().IsAnyDatabaseFieldInDoc()) - { - if (auto xLayoutManager = getLayoutManager(*GetViewFrame())) - { - const OUString sResourceURL("private:resource/toolbar/mailmerge"); - if (!xLayoutManager->getElement(sResourceURL).is()) - { - xLayoutManager->createElement(sResourceURL); - xLayoutManager->showElement(sResourceURL); - } - } - } + ShowUIElement("private:resource/toolbar/mailmerge"); // Activate the toolbar to the new selection which also was active last time. // Before a flush () must be, but does not affect the UI according to MBA and |