[gnome-shell] Panel: move the _panelContainer down to PanelMenu



commit 7c244b01c614da84c42a915a3626a449d3dc8c70
Author: Giovanni Campagna <gcampagna src gnome org>
Date:   Tue Sep 4 18:27:50 2012 +0200

    Panel: move the _panelContainer down to PanelMenu
    
    Panel already forces each item to be a PanelMenu.Button, so it's better
    to have the latter handle the bin container too, instead of attaching
    a private property that might collide with internal usage by the indicator.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=683156

 js/ui/panel.js     |   12 +++---------
 js/ui/panelMenu.js |    4 ++++
 2 files changed, 7 insertions(+), 9 deletions(-)
---
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 2e14c22..a92b810 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -1174,7 +1174,7 @@ const Panel = new Lang.Class({
             let indicator = this.statusArea[role];
             if (!indicator)
                 continue;
-            indicator._panelContainer.hide();
+            indicator.container.hide();
         }
     },
 
@@ -1206,18 +1206,12 @@ const Panel = new Lang.Class({
     },
 
     _addToPanelBox: function(role, indicator, position, box) {
-        let container = indicator._panelContainer;
-        if (!container) {
-            container = new St.Bin({ y_fill: true,
-                                     child: indicator.actor });
-            indicator._panelContainer = container;
-        }
+        let container = indicator.container;
         container.show();
 
         let parent = container.get_parent();
-        if (parent) {
+        if (parent)
             parent.remove_actor(container);
-        }
 
         box.insert_child_at_index(container, position);
         if (indicator.menu)
diff --git a/js/ui/panelMenu.js b/js/ui/panelMenu.js
index 1cad7c8..a20c5fc 100644
--- a/js/ui/panelMenu.js
+++ b/js/ui/panelMenu.js
@@ -21,6 +21,10 @@ const ButtonBox = new Lang.Class({
         this.actor = new Shell.GenericContainer(params);
         this.actor._delegate = this;
 
+        this.container = new St.Bin({ y_fill: true,
+                                      x_fill: true,
+                                      child: this.actor });
+
         this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
         this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
         this.actor.connect('allocate', Lang.bind(this, this._allocate));



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