summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-05-25 16:05:12 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2018-05-26 12:40:48 +0200
commit40e431def06b72cc87226cd50c271b42a1adfbbe (patch)
tree7cb0aba76e13dae9289217ba71efbd0da642d200
parent08a2f9bf8982f6b50e03d80fa631cc28f3a2c96b (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.hxx1
-rw-r--r--sw/source/uibase/app/applab.cxx3
-rw-r--r--sw/source/uibase/uiview/view.cxx24
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