[gnome-shell/wip/carlosg/osk-updates: 48/50] keyboard: Make page indicators in emoji selection reactive
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/carlosg/osk-updates: 48/50] keyboard: Make page indicators in emoji selection reactive
- Date: Tue, 28 Jun 2022 22:44:54 +0000 (UTC)
commit 536c0c1cb6a135243b9eec28d389e69d84cbb20e
Author: Carlos Garnacho <carlosg gnome org>
Date: Tue Jun 28 22:08:05 2022 +0200
keyboard: Make page indicators in emoji selection reactive
This has been a nuisance to mouse users, make the page indicators
reactive so it is possible to change page that way.
js/ui/keyboard.js | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index 47d2acc3a9..e58a60e3f3 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -673,6 +673,7 @@ var EmojiPager = GObject.registerClass({
this._currentKey = null;
this._delta = 0;
this._width = null;
+ this._curSection = 0;
let panAction = new Clutter.PanAction({ interpolate: false });
panAction.connect('pan', this._onPan.bind(this));
@@ -683,6 +684,10 @@ var EmojiPager = GObject.registerClass({
this.add_action_full('pan', Clutter.EventPhase.CAPTURE, panAction);
}
+ get curSection() {
+ return this._curSection;
+ }
+
get delta() {
return this._delta;
}
@@ -918,6 +923,7 @@ var EmojiPager = GObject.registerClass({
let page = this._pages[nPage];
this.emit('page-changed', page.section.label, page.page, page.nPages);
+ this._curSection = page.section;
}
setCurrentSection(section, nPage) {
@@ -990,10 +996,12 @@ var EmojiSelection = GObject.registerClass({
this._pageIndicator = new PageIndicators.PageIndicators(
Clutter.Orientation.HORIZONTAL);
+ this._pageIndicator.connect('page-activated', (_pageIndicator, pageIndex) => {
+ this._emojiPager.setCurrentSection(this._emojiPager.curSection, pageIndex);
+ });
this._pageIndicator.y_expand = false;
this._pageIndicator.y_align = Clutter.ActorAlign.START;
this._pagerBox.add_child(this._pageIndicator);
- this._pageIndicator.setReactive(false);
this._emojiPager.connect('notify::delta', () => {
this._updateIndicatorPosition();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]