[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sw/inc sw/source

Mike Kaganski mike.kaganski at collabora.com
Mon May 28 18:51:01 UTC 2018


 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.kaganski at 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 <ci at libreoffice.org>
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/54961
    Tested-by: Mike Kaganski <mike.kaganski at 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


More information about the Libreoffice-commits mailing list