[Libreoffice-commits] core.git: desktop/source include/vcl vcl/source

Henry Castro (via logerrit) logerrit at kemper.freedesktop.org
Wed Mar 3 18:28:22 UTC 2021


 desktop/source/lib/init.cxx  |    6 ++++++
 include/vcl/svapp.hxx        |    1 +
 vcl/source/window/dialog.cxx |    4 ++++
 3 files changed, 11 insertions(+)

New commits:
commit a207551215ca4d7445bf129a3f6863418d75383e
Author:     Henry Castro <hcastro at collabora.com>
AuthorDate: Wed Feb 17 16:47:27 2021 -0400
Commit:     Henry Castro <hcastro at collabora.com>
CommitDate: Wed Mar 3 19:27:41 2021 +0100

    lok: add batch mode option to load the document
    
    When the LibreOffice Kit is active by default is
    set to headless mode, with the flag "DialogCancelMode::Silent",
    according to the documentation it should close the dialog,
    but it was changed for dialog tunneling.
    
    However the dialog tunneling is being deprecated, and
    in order to not produce any regression, it will be used
    temporary a new state "DialogCancelMode::LOKSilent", to disable
    any dialog interactivity.
    
    Change-Id: I3b6cce38c37f75dc1b24dda352f6caec19438ff1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111087
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>
    (cherry picked from commit 5f3fbb019bd79bd57eed94e01bd2202efd9a0c06)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111319
    Tested-by: Jenkins
    Reviewed-by: Henry Castro <hcastro at collabora.com>

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index d62ceac29c74..2b56bdb2112d 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2239,6 +2239,12 @@ static LibreOfficeKitDocument* lo_documentLoadWithOptions(LibreOfficeKit* pThis,
         const OUString aDeviceFormFactor = extractParameter(aOptions, u"DeviceFormFactor");
         SfxLokHelper::setDeviceFormFactor(aDeviceFormFactor);
 
+        const OUString aBatch = extractParameter(aOptions, u"Batch");
+        if (!aBatch.isEmpty())
+        {
+             Application::SetDialogCancelMode(DialogCancelMode::LOKSilent);
+        }
+
         uno::Sequence<css::beans::PropertyValue> aFilterOptions(3);
         aFilterOptions[0] = css::beans::PropertyValue( "FilterOptions",
                                                        0,
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index bfa92cf88321..b0b5a069af4b 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -212,6 +212,7 @@ private:
 enum class DialogCancelMode {
     Off,      ///< do not automatically cancel dialogs
     Silent,   ///< silently cancel any dialogs
+    LOKSilent, ///< silently cancel any dialogs (LOK case)
     Fatal     ///< cancel any dialogs by std::abort
 };
 
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index 67dc19a7be99..f354e8a32d85 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -950,6 +950,10 @@ bool Dialog::ImplStartExecute()
                 "Dialog \"" << ImplGetDialogText(this)
                     << "\"cancelled in silent mode");
             return false;
+
+        case DialogCancelMode::LOKSilent:
+            return false;
+
         default: // default cannot happen
         case DialogCancelMode::Fatal:
             std::abort();


More information about the Libreoffice-commits mailing list