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:
Dan Winship 2011-06-28 09:20:38 -04:00
parent b22c5eb167
commit ae35d0e43c

View File

@ -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. */