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];
|
let indicator = this.statusArea[role];
|
||||||
if (!indicator)
|
if (!indicator)
|
||||||
continue;
|
continue;
|
||||||
indicator._panelContainer.hide();
|
indicator.container.hide();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1206,18 +1206,12 @@ const Panel = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_addToPanelBox: function(role, indicator, position, box) {
|
_addToPanelBox: function(role, indicator, position, box) {
|
||||||
let container = indicator._panelContainer;
|
let container = indicator.container;
|
||||||
if (!container) {
|
|
||||||
container = new St.Bin({ y_fill: true,
|
|
||||||
child: indicator.actor });
|
|
||||||
indicator._panelContainer = container;
|
|
||||||
}
|
|
||||||
container.show();
|
container.show();
|
||||||
|
|
||||||
let parent = container.get_parent();
|
let parent = container.get_parent();
|
||||||
if (parent) {
|
if (parent)
|
||||||
parent.remove_actor(container);
|
parent.remove_actor(container);
|
||||||
}
|
|
||||||
|
|
||||||
box.insert_child_at_index(container, position);
|
box.insert_child_at_index(container, position);
|
||||||
if (indicator.menu)
|
if (indicator.menu)
|
||||||
|
@ -21,6 +21,10 @@ const ButtonBox = new Lang.Class({
|
|||||||
this.actor = new Shell.GenericContainer(params);
|
this.actor = new Shell.GenericContainer(params);
|
||||||
this.actor._delegate = this;
|
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-width', Lang.bind(this, this._getPreferredWidth));
|
||||||
this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
|
this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
|
||||||
this.actor.connect('allocate', Lang.bind(this, this._allocate));
|
this.actor.connect('allocate', Lang.bind(this, this._allocate));
|
||||||
|
Loading…
Reference in New Issue
Block a user