[gnome-shell/wip/aggregate-menu: 18/51] popupMenu: Emit open-state-changed at the start of animating a submenu



commit 96a35397c3068694a4fdc1b945ae3c79e1022ea0
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Tue Jun 11 18:29:36 2013 -0400

    popupMenu: Emit open-state-changed at the start of animating a submenu
    
    Doing it at the end has confusing semantics, especially as there is
    this point where isOpen is true, but the corresponding open-state-changed
    has not been emitted.

 js/ui/popupMenu.js |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)
---
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index 6924aaf..8a868c7 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -1144,6 +1144,7 @@ const PopupSubMenu = new Lang.Class({
             return;
 
         this.isOpen = true;
+        this.emit('open-state-changed', true);
 
         this.actor.show();
 
@@ -1182,12 +1183,10 @@ const PopupSubMenu = new Lang.Class({
                                onCompleteScope: this,
                                onComplete: function() {
                                    this.actor.set_height(-1);
-                                   this.emit('open-state-changed', true);
                                }
                              });
         } else {
             this._arrow.rotation_angle_z = 90;
-            this.emit('open-state-changed', true);
         }
     },
 
@@ -1196,6 +1195,7 @@ const PopupSubMenu = new Lang.Class({
             return;
 
         this.isOpen = false;
+        this.emit('open-state-changed', false);
 
         if (this._activeMenuItem)
             this._activeMenuItem.setActive(false);
@@ -1213,8 +1213,6 @@ const PopupSubMenu = new Lang.Class({
                                onComplete: function() {
                                    this.actor.hide();
                                    this.actor.set_height(-1);
-
-                                   this.emit('open-state-changed', false);
                                },
                                onUpdateScope: this,
                                onUpdate: function() {
@@ -1224,9 +1222,6 @@ const PopupSubMenu = new Lang.Class({
             } else {
                 this._arrow.rotation_angle_z = 0;
                 this.actor.hide();
-
-                this.isOpen = false;
-                this.emit('open-state-changed', false);
             }
     },
 


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