[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - vcl/source

Mike Kaganski mike.kaganski at collabora.com
Tue Jan 30 10:05:04 UTC 2018


 vcl/source/window/dialog.cxx |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

New commits:
commit 8cb5f72b41449f5c7e655a04372c407de1679851
Author: Mike Kaganski <mike.kaganski at collabora.com>
Date:   Mon Jan 22 09:34:47 2018 +0300

    tdf#32935 tdf#49134 tdf#114466 Activate newly opened modal dialogs
    
    ... based on ForceFocusAndToFront setting
    
    Change-Id: Ic76faa082f433d5a0150e49c30d7eda3c6c24c5f
    Reviewed-on: https://gerrit.libreoffice.org/48287
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/48873
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    Tested-by: Aron Budea <aron.budea at collabora.com>

diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index f9dbaa534f5f..79d7f224ab43 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -24,6 +24,7 @@
 #include <com/sun/star/frame/theGlobalEventBroadcaster.hpp>
 #include <comphelper/lok.hxx>
 #include <comphelper/processfactory.hxx>
+#include <officecfg/Office/Common.hxx>
 #include <osl/file.hxx>
 
 #include <tools/debug.hxx>
@@ -880,12 +881,14 @@ bool Dialog::ImplStartExecuteModal()
     // FIXME: no layouting, workaround some clipping issues
     ImplAdjustNWFSizes();
 
-    Show();
+    css::uno::Reference< css::uno::XComponentContext > xContext(
+        comphelper::getProcessComponentContext());
+    bool bForceFocusAndToFront(officecfg::Office::Common::View::NewDocumentHandling::ForceFocusAndToFront::get(xContext));
+    ShowFlags showFlags = bForceFocusAndToFront ? ShowFlags::ForegroundTask : ShowFlags::NONE;
+    Show(true, showFlags);
 
     pSVData->maAppData.mnModalMode++;
 
-    css::uno::Reference< css::uno::XComponentContext > xContext(
-        comphelper::getProcessComponentContext() );
     css::uno::Reference<css::frame::XGlobalEventBroadcaster> xEventBroadcaster(css::frame::theGlobalEventBroadcaster::get(xContext), css::uno::UNO_QUERY_THROW);
     css::document::DocumentEvent aObject;
     aObject.EventName = "DialogExecute";


More information about the Libreoffice-commits mailing list