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



commit 1f416cdac8802c405e6d173bb2cd718fc0455701
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 ab87f29..57c5c14 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -1166,6 +1166,7 @@ const PopupSubMenu = new Lang.Class({
             return;
 
         this.isOpen = true;
+        this.emit('open-state-changed', true);
 
         this.actor.show();
 
@@ -1204,12 +1205,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);
         }
     },
 
@@ -1218,6 +1217,7 @@ const PopupSubMenu = new Lang.Class({
             return;
 
         this.isOpen = false;
+        this.emit('open-state-changed', false);
 
         if (this._activeMenuItem)
             this._activeMenuItem.setActive(false);
@@ -1235,8 +1235,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() {
@@ -1246,9 +1244,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]