panel: pass the Panel object to the PanelCorners
rather than having them refer to it via Main.panel https://bugzilla.gnome.org/show_bug.cgi?id=636963
This commit is contained in:
parent
b22c5eb167
commit
ae35d0e43c
@ -545,12 +545,13 @@ AppMenuButton.prototype = {
|
|||||||
Signals.addSignalMethods(AppMenuButton.prototype);
|
Signals.addSignalMethods(AppMenuButton.prototype);
|
||||||
|
|
||||||
|
|
||||||
function PanelCorner(side) {
|
function PanelCorner(panel, side) {
|
||||||
this._init(side);
|
this._init(panel, side);
|
||||||
}
|
}
|
||||||
|
|
||||||
PanelCorner.prototype = {
|
PanelCorner.prototype = {
|
||||||
_init: function(side) {
|
_init: function(panel, side) {
|
||||||
|
this._panel = panel;
|
||||||
this._side = side;
|
this._side = side;
|
||||||
this.actor = new St.DrawingArea({ style_class: 'panel-corner' });
|
this.actor = new St.DrawingArea({ style_class: 'panel-corner' });
|
||||||
this.actor.connect('repaint', Lang.bind(this, this._repaint));
|
this.actor.connect('repaint', Lang.bind(this, this._repaint));
|
||||||
@ -626,11 +627,11 @@ PanelCorner.prototype = {
|
|||||||
this.actor.set_size(cornerRadius,
|
this.actor.set_size(cornerRadius,
|
||||||
innerBorderWidth + cornerRadius);
|
innerBorderWidth + cornerRadius);
|
||||||
if (this._side == St.Side.LEFT)
|
if (this._side == St.Side.LEFT)
|
||||||
this.actor.set_position(Main.panel.actor.x,
|
this.actor.set_position(this._panel.actor.x,
|
||||||
Main.panel.actor.y + Main.panel.actor.height - innerBorderWidth);
|
this._panel.actor.y + this._panel.actor.height - innerBorderWidth);
|
||||||
else
|
else
|
||||||
this.actor.set_position(Main.panel.actor.x + Main.panel.actor.width - cornerRadius,
|
this.actor.set_position(this._panel.actor.x + this._panel.actor.width - cornerRadius,
|
||||||
Main.panel.actor.y + Main.panel.actor.height - innerBorderWidth);
|
this._panel.actor.y + this._panel.actor.height - innerBorderWidth);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -834,8 +835,8 @@ Panel.prototype = {
|
|||||||
this._centerBox = new St.BoxLayout({ name: 'panelCenter' });
|
this._centerBox = new St.BoxLayout({ name: 'panelCenter' });
|
||||||
this._rightBox = new St.BoxLayout({ name: 'panelRight' });
|
this._rightBox = new St.BoxLayout({ name: 'panelRight' });
|
||||||
|
|
||||||
this._leftCorner = new PanelCorner(St.Side.LEFT);
|
this._leftCorner = new PanelCorner(this, St.Side.LEFT);
|
||||||
this._rightCorner = new PanelCorner(St.Side.RIGHT);
|
this._rightCorner = new PanelCorner(this, St.Side.RIGHT);
|
||||||
|
|
||||||
/* This box container ensures that the centerBox is positioned in the *absolute*
|
/* This box container ensures that the centerBox is positioned in the *absolute*
|
||||||
* center, but can be pushed aside if necessary. */
|
* center, but can be pushed aside if necessary. */
|
||||||
|
Loading…
Reference in New Issue
Block a user