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
This commit is contained in:
parent
3f5edf7c3e
commit
7c244b01c6
@ -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)
|
||||
|
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user