[gnome-shell/wip/carlosg/osk-updates: 58/76] inputMethod: Add signal/getter for surrounding text updates




commit cdad04c5343aca48d9e645120070b459da7b05ad
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Apr 20 23:16:38 2022 +0200

    inputMethod: Add signal/getter for surrounding text updates
    
    We need to keep track of those at places, add a signal and getter
    so that this information can be accessed from the OSK.
    
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

 js/misc/inputMethod.js | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
index fba2730bd1..1abe20ec25 100644
--- a/js/misc/inputMethod.js
+++ b/js/misc/inputMethod.js
@@ -10,8 +10,11 @@ Gio._promisify(IBus.Bus.prototype,
 
 var HIDE_PANEL_TIME = 50;
 
-var InputMethod = GObject.registerClass(
-class InputMethod extends Clutter.InputMethod {
+var InputMethod = GObject.registerClass({
+    Signals: {
+        'surrounding-text-set': {},
+    },
+}, class InputMethod extends Clutter.InputMethod {
     _init() {
         super._init();
         this._hints = 0;
@@ -202,6 +205,8 @@ class InputMethod extends Clutter.InputMethod {
             this._emitRequestSurrounding();
         }
 
+        this._surroundingText = null;
+        this._surroundingTextCursor = null;
         this._preeditStr = null;
     }
 
@@ -214,6 +219,10 @@ class InputMethod extends Clutter.InputMethod {
     }
 
     vfunc_set_surrounding(text, cursor, anchor) {
+        this._surroundingText = text;
+        this._surroundingTextCursor = cursor;
+        this.emit('surrounding-text-set');
+
         if (!this._context || !text)
             return;
 
@@ -298,4 +307,8 @@ class InputMethod extends Clutter.InputMethod {
             });
         return true;
     }
+
+    getSurroundingText() {
+        return [this._surroundingText, this._surroundingTextCursor];
+    }
 });


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]