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
This commit is contained in:
parent
da26a9daf8
commit
e545ec59b9
@ -100,7 +100,7 @@ const Button = new Lang.Class({
|
|||||||
accessible_name: nameText ? nameText : "",
|
accessible_name: nameText ? nameText : "",
|
||||||
accessible_role: Atk.Role.MENU });
|
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('key-press-event', Lang.bind(this, this._onSourceKeyPress));
|
||||||
this.actor.connect('notify::visible', Lang.bind(this, this._onVisibilityChanged));
|
this.actor.connect('notify::visible', Lang.bind(this, this._onVisibilityChanged));
|
||||||
|
|
||||||
@ -131,11 +131,12 @@ const Button = new Lang.Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_onButtonPress: function(actor, event) {
|
_onEvent: function(actor, event) {
|
||||||
if (!this.menu)
|
if (this.menu &&
|
||||||
return Clutter.EVENT_PROPAGATE;
|
(event.type() == Clutter.EventType.TOUCH_BEGIN ||
|
||||||
|
event.type() == Clutter.EventType.BUTTON_PRESS))
|
||||||
|
this.menu.toggle();
|
||||||
|
|
||||||
this.menu.toggle();
|
|
||||||
return Clutter.EVENT_PROPAGATE;
|
return Clutter.EVENT_PROPAGATE;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user