sessionMode: Add panelStyle property
The panel should change appearance according to the sessionMode, so add a new panelStyle sessionMode property which allows to specify a mode specific style class for the panel actors. https://bugzilla.gnome.org/show_bug.cgi?id=684573
This commit is contained in:
parent
c0f868dd56
commit
2511f60d39
@ -964,6 +964,8 @@ const Panel = new Lang.Class({
|
|||||||
reactive: true });
|
reactive: true });
|
||||||
this.actor._delegate = this;
|
this.actor._delegate = this;
|
||||||
|
|
||||||
|
this._sessionStyle = null;
|
||||||
|
|
||||||
this.statusArea = {};
|
this.statusArea = {};
|
||||||
|
|
||||||
this.menuManager = new PopupMenu.PopupMenuManager(this);
|
this.menuManager = new PopupMenu.PopupMenuManager(this);
|
||||||
@ -1151,6 +1153,13 @@ const Panel = new Lang.Class({
|
|||||||
this._updateBox(panel.left, this._leftBox);
|
this._updateBox(panel.left, this._leftBox);
|
||||||
this._updateBox(panel.center, this._centerBox);
|
this._updateBox(panel.center, this._centerBox);
|
||||||
this._updateBox(panel.right, this._rightBox);
|
this._updateBox(panel.right, this._rightBox);
|
||||||
|
|
||||||
|
if (this._sessionStyle)
|
||||||
|
this._removeStyleClassName(this._sessionStyle);
|
||||||
|
|
||||||
|
this._sessionStyle = Main.sessionMode.panelStyle;
|
||||||
|
if (this._sessionStyle)
|
||||||
|
this._addStyleClassName(this._sessionStyle);
|
||||||
},
|
},
|
||||||
|
|
||||||
_initBox: function(elements, box) {
|
_initBox: function(elements, box) {
|
||||||
@ -1239,5 +1248,17 @@ const Panel = new Lang.Class({
|
|||||||
this.statusArea[role] = indicator;
|
this.statusArea[role] = indicator;
|
||||||
this._addToPanelBox(role, indicator, position, boxContainer);
|
this._addToPanelBox(role, indicator, position, boxContainer);
|
||||||
return indicator;
|
return indicator;
|
||||||
|
},
|
||||||
|
|
||||||
|
_addStyleClassName: function(className) {
|
||||||
|
this.actor.add_style_class_name(className);
|
||||||
|
this._rightCorner.actor.add_style_class_name(className);
|
||||||
|
this._leftCorner.actor.add_style_class_name(className);
|
||||||
|
},
|
||||||
|
|
||||||
|
_removeStyleClassName: function(className) {
|
||||||
|
this.actor.remove_style_class_name(className);
|
||||||
|
this._rightCorner.actor.remove_style_class_name(className);
|
||||||
|
this._leftCorner.actor.remove_style_class_name(className);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -28,6 +28,7 @@ const _modes = {
|
|||||||
center: [],
|
center: [],
|
||||||
right: []
|
right: []
|
||||||
},
|
},
|
||||||
|
panelStyle: null
|
||||||
},
|
},
|
||||||
|
|
||||||
'gdm': {
|
'gdm': {
|
||||||
@ -41,7 +42,8 @@ const _modes = {
|
|||||||
center: ['dateMenu'],
|
center: ['dateMenu'],
|
||||||
right: ['a11y', 'display', 'keyboard',
|
right: ['a11y', 'display', 'keyboard',
|
||||||
'volume', 'battery', 'powerMenu']
|
'volume', 'battery', 'powerMenu']
|
||||||
}
|
},
|
||||||
|
panelStyle: 'login-screen'
|
||||||
},
|
},
|
||||||
|
|
||||||
'lock-screen': {
|
'lock-screen': {
|
||||||
@ -54,6 +56,7 @@ const _modes = {
|
|||||||
center: [],
|
center: [],
|
||||||
right: ['lockScreen']
|
right: ['lockScreen']
|
||||||
},
|
},
|
||||||
|
panelStyle: 'lock-screen'
|
||||||
},
|
},
|
||||||
|
|
||||||
'unlock-dialog': {
|
'unlock-dialog': {
|
||||||
@ -65,6 +68,7 @@ const _modes = {
|
|||||||
center: [],
|
center: [],
|
||||||
right: ['a11y', 'keyboard', 'lockScreen']
|
right: ['a11y', 'keyboard', 'lockScreen']
|
||||||
},
|
},
|
||||||
|
panelStyle: 'unlock-screen'
|
||||||
},
|
},
|
||||||
|
|
||||||
'initial-setup': {
|
'initial-setup': {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user