vcl/jsdialog/executor.cxx |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 9c8e38ef8c69d519d72737b404d54d6413a98518
Author:     Attila Szűcs <attila.sz...@collabora.com>
AuthorDate: Wed May 3 04:46:20 2023 +0200
Commit:     Szymon Kłos <szymon.k...@collabora.com>
CommitDate: Fri May 12 13:47:22 2023 +0200

    LOK: Navi-6 page selector SpinField
    
    Grab the focus back to the spinfield in sidebar, so the document will
    be able to scroll to the right page.
    It seems there is a condition check, on move to page, that focus must be
    not on document, or else it does not move.
    AFAIK in lok code we dont try to simulate the focus of the core,
    but maybe we should, for cases like this.
    
    Change-Id: Ie9a30e6bd944cfa1729861eb0ac1924b946f4185
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151309
    Reviewed-by: Szymon Kłos <szymon.k...@collabora.com>
    Tested-by: Szymon Kłos <szymon.k...@collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151701
    Tested-by: Jenkins

diff --git a/vcl/jsdialog/executor.cxx b/vcl/jsdialog/executor.cxx
index f387a64ffc37..2784acf0cae8 100644
--- a/vcl/jsdialog/executor.cxx
+++ b/vcl/jsdialog/executor.cxx
@@ -310,6 +310,10 @@ bool ExecuteAction(const OUString& nWindowId, const 
OUString& rWidget, StringMap
                     if (rData["data"] == "undefined")
                         return true;
 
+                    // The Document will not scroll if that is in focus
+                    // maybe we could send a message with: sAction == 
"grab_focus"
+                    pWidget->grab_focus();
+
                     double nValue = o3tl::toDouble(rData["data"]);
                     pSpinField->set_value(nValue
                                           * 
weld::SpinButton::Power10(pSpinField->get_digits()));

Reply via email to