[gnome-shell/wip/carlosg/osk-gesture-feedback: 25/31] keyboard: Drop layoutManager's keyboard-visible-changed
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/carlosg/osk-gesture-feedback: 25/31] keyboard: Drop layoutManager's keyboard-visible-changed
- Date: Tue, 16 Feb 2021 13:49:20 +0000 (UTC)
commit f2f7606a9ad63d7514cc00c8b852f84a1287121c
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Feb 11 14:10:48 2021 +0100
keyboard: Drop layoutManager's keyboard-visible-changed
Since now the signal is emitted and handled all within keyboard.js,
use an internal signal to manage keyboard visibility and gesture
enablement.
js/ui/keyboard.js | 25 ++++++++++++++-----------
js/ui/layout.js | 13 +++++++------
2 files changed, 21 insertions(+), 17 deletions(-)
---
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index e41a55d4a6..15dfc5e44a 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -1150,11 +1150,8 @@ var KeyboardManager = class KeyBoardManager {
bottomDragAction.connect('activated', () => {
this.open(Main.layoutManager.bottomIndex);
});
- Main.layoutManager.connect('keyboard-visible-changed', (_manager, visible) => {
- bottomDragAction.cancel();
- bottomDragAction.set_enabled(!visible);
- });
global.stage.add_action(bottomDragAction);
+ this._bottomDragAction = bottomDragAction;
this._syncEnabled();
}
@@ -1177,10 +1174,14 @@ var KeyboardManager = class KeyBoardManager {
if (enabled && !this._keyboard) {
this._keyboard = new Keyboard();
+ this._keyboard.connect('visibility-changed', () => {
+ this._bottomDragAction.enabled = !this._keyboard.visible;
+ });
} else if (!enabled && this._keyboard) {
this._keyboard.setCursorLocation(null);
this._keyboard.destroy();
this._keyboard = null;
+ this._bottomDragAction.enabled = true;
}
}
@@ -1222,8 +1223,11 @@ var KeyboardManager = class KeyBoardManager {
}
};
-var Keyboard = GObject.registerClass(
-class Keyboard extends St.BoxLayout {
+var Keyboard = GObject.registerClass({
+ Signals: {
+ 'visibility-changed': {},
+ },
+}, class Keyboard extends St.BoxLayout {
_init() {
super._init({ name: 'keyboard', reactive: true, vertical: true });
this._focusInExtendedKeys = false;
@@ -1260,9 +1264,6 @@ class Keyboard extends St.BoxLayout {
this._showIdleId = 0;
this._keyboardVisible = false;
- this._connectSignal(Main.layoutManager, 'keyboard-visible-changed', (_lm, visible) => {
- this._keyboardVisible = visible;
- });
this._keyboardRequested = false;
this._keyboardRestingId = 0;
@@ -1802,7 +1803,8 @@ class Keyboard extends St.BoxLayout {
this._animateShowComplete();
},
});
- Main.layoutManager.emit('keyboard-visible-changed', true);
+ this._keyboardVisible = true;
+ this.emit('visibility-changed');
}
_animateShowComplete() {
@@ -1830,7 +1832,8 @@ class Keyboard extends St.BoxLayout {
},
});
- Main.layoutManager.emit('keyboard-visible-changed', false);
+ this._keyboardVisible = false;
+ this.emit('visibility-changed');
}
_animateHideComplete() {
diff --git a/js/ui/layout.js b/js/ui/layout.js
index 0c844bc49a..8104ea89ef 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -181,12 +181,13 @@ const defaultParams = {
};
var LayoutManager = GObject.registerClass({
- Signals: { 'hot-corners-changed': {},
- 'startup-complete': {},
- 'startup-prepared': {},
- 'monitors-changed': {},
- 'system-modal-opened': {},
- 'keyboard-visible-changed': { param_types: [GObject.TYPE_BOOLEAN] } },
+ Signals: {
+ 'hot-corners-changed': {},
+ 'startup-complete': {},
+ 'startup-prepared': {},
+ 'monitors-changed': {},
+ 'system-modal-opened': {},
+ },
}, class LayoutManager extends GObject.Object {
_init() {
super._init();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]