[gnome-shell] popupMenu: dismiss the menu on touch events



commit da26a9daf85209cc32f13f6f9664dfa95dbe9d6a
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Jul 22 12:27:05 2014 +0200

    popupMenu: dismiss the menu on touch events
    
    No sequence checks are done, just any touch outside will dismiss the popup.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=733633

 js/ui/popupMenu.js |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index 36d7f84..34986f7 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -106,6 +106,7 @@ const PopupBaseMenuItem = new Lang.Class({
 
         if (this._activatable) {
             this.actor.connect('button-release-event', Lang.bind(this, this._onButtonReleaseEvent));
+            this.actor.connect('touch-event', Lang.bind(this, this._onTouchEvent));
             this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent));
         }
         if (params.reactive && params.hover)
@@ -132,6 +133,14 @@ const PopupBaseMenuItem = new Lang.Class({
         return Clutter.EVENT_STOP;
     },
 
+    _onTouchEvent: function (actor, event) {
+        if (event.type() == Clutter.EventType.TOUCH_END) {
+            this.activate(event);
+            return Clutter.EVENT_STOP;
+        }
+        return Clutter.EVENT_PROPAGATE;
+    },
+
     _onKeyPressEvent: function (actor, event) {
         let symbol = event.get_key_symbol();
 


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