[gnome-shell] panelMenu: Interact to touch events
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] panelMenu: Interact to touch events
- Date: Thu, 24 Jul 2014 16:17:02 +0000 (UTC)
commit e545ec59b9eda989b98a41ee685d3a41fa099ee1
Author: Carlos Garnacho <carlosg gnome org>
Date: Tue Jul 22 12:28:00 2014 +0200
panelMenu: Interact to touch events
No sequence checks are done, these UI elements promptly trigger a grab that
will cancel ongoing touches and redirect later ones somewhere else, so that
works as a barrier to multi-toggling.
https://bugzilla.gnome.org/show_bug.cgi?id=733633
js/ui/panelMenu.js | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/js/ui/panelMenu.js b/js/ui/panelMenu.js
index 07494d1..863e0d7 100644
--- a/js/ui/panelMenu.js
+++ b/js/ui/panelMenu.js
@@ -100,7 +100,7 @@ const Button = new Lang.Class({
accessible_name: nameText ? nameText : "",
accessible_role: Atk.Role.MENU });
- this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
+ this.actor.connect('event', Lang.bind(this, this._onEvent));
this.actor.connect('key-press-event', Lang.bind(this, this._onSourceKeyPress));
this.actor.connect('notify::visible', Lang.bind(this, this._onVisibilityChanged));
@@ -131,11 +131,12 @@ const Button = new Lang.Class({
}
},
- _onButtonPress: function(actor, event) {
- if (!this.menu)
- return Clutter.EVENT_PROPAGATE;
+ _onEvent: function(actor, event) {
+ if (this.menu &&
+ (event.type() == Clutter.EventType.TOUCH_BEGIN ||
+ event.type() == Clutter.EventType.BUTTON_PRESS))
+ this.menu.toggle();
- this.menu.toggle();
return Clutter.EVENT_PROPAGATE;
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]