sw/inc/view.hxx                  |    1 +
 sw/source/uibase/app/applab.cxx  |    3 +++
 sw/source/uibase/uiview/view.cxx |   24 +++++++++++++-----------
 3 files changed, 17 insertions(+), 11 deletions(-)

New commits:
commit 7859f9f259846889bcdd193ddb067e8912d6a89f
Author: Mike Kaganski <mike.kagan...@collabora.com>
Date:   Fri May 25 16:05:12 2018 +0300

    tdf#115386: Show Mail Merge toolbar for new labels
    
    Change-Id: I26ec6c7fdfa5b6f6f818927fd9ede00184dc5e8c
    Reviewed-on: https://gerrit.libreoffice.org/54813
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/54961
    Tested-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/sw/inc/view.hxx b/sw/inc/view.hxx
index 9fdd4c26d95e..82a736801d61 100644
--- a/sw/inc/view.hxx
+++ b/sw/inc/view.hxx
@@ -643,6 +643,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 6f688a5d9903..9d72bda9b3c9 100644
--- a/sw/source/uibase/app/applab.cxx
+++ b/sw/source/uibase/app/applab.cxx
@@ -386,6 +386,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 e6d52358aaa2..103713df7a07 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
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to