include/vcl/jsdialog/executor.hxx |    2 ++
 include/vcl/weld.hxx              |    7 +++++++
 vcl/jsdialog/executor.cxx         |    5 +++++
 3 files changed, 14 insertions(+)

New commits:
commit 8948e7a8396fbd353a95b6a037f83268d79bb292
Author:     NickWingate <[email protected]>
AuthorDate: Fri Jul 11 15:01:47 2025 +0100
Commit:     Szymon Kłos <[email protected]>
CommitDate: Fri Nov 14 13:15:18 2025 +0100

    Add activate action support for edit field
    
    Allows online to send activate command on an
    edit field (`EditWidget` in online).
    
    Signed-off-by: NickWingate <[email protected]>
    Change-Id: I3e982e824da5e4d6df63e75edf07f1745d401c6d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194013
    Reviewed-by: Szymon Kłos <[email protected]>
    Tested-by: Jenkins

diff --git a/include/vcl/jsdialog/executor.hxx 
b/include/vcl/jsdialog/executor.hxx
index 6c632e99918c..02e2f16d5856 100644
--- a/include/vcl/jsdialog/executor.hxx
+++ b/include/vcl/jsdialog/executor.hxx
@@ -21,6 +21,8 @@ public:
 
     static void trigger_changed(weld::Entry& rEdit) { rEdit.signal_changed(); }
 
+    static void trigger_activated(weld::Entry& rEdit) { 
rEdit.signal_activated(); }
+
     static void trigger_changed(weld::ComboBox& rComboBox) { 
rComboBox.signal_changed(); }
 
     static void trigger_changed(weld::TreeView& rTreeView) { 
rTreeView.signal_selection_changed(); }
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 672307aca740..a6b3e022533e 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -2073,6 +2073,13 @@ protected:
         m_aChangeHdl.Call(*this);
     }
 
+    void signal_activated()
+    {
+        if (notify_events_disabled())
+            return;
+        m_aActivateHdl.Call(*this);
+    }
+
     void signal_cursor_position()
     {
         if (notify_events_disabled())
diff --git a/vcl/jsdialog/executor.cxx b/vcl/jsdialog/executor.cxx
index fb04f3c20f62..36fdea81b9ae 100644
--- a/vcl/jsdialog/executor.cxx
+++ b/vcl/jsdialog/executor.cxx
@@ -487,6 +487,11 @@ bool ExecuteAction(const OUString& nWindowId, const 
OUString& rWidget, const Str
                     LOKTrigger::trigger_changed(*pEdit);
                     return true;
                 }
+                if (sAction == "activate")
+                {
+                    LOKTrigger::trigger_activated(*pEdit);
+                    return true;
+                }
             }
 
             auto pTextView = dynamic_cast<JSTextView*>(pWidget);

Reply via email to