[gnome-shell] UnlockDialog: honor org.gnome.desktop.screensaver.user-switch-enabled
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] UnlockDialog: honor org.gnome.desktop.screensaver.user-switch-enabled
- Date: Thu, 3 Jan 2013 00:44:12 +0000 (UTC)
commit 8f41c6bad88f9c1a9d2016789158dad9f7ef2832
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Thu Jan 3 01:02:13 2013 +0100
UnlockDialog: honor org.gnome.desktop.screensaver.user-switch-enabled
The screensaver schema has a key that it is meant for locking down
the ability to switch user when the screen is locked, but support
for it was not implemented in the new screenshield.
Fix that by checking the key before creating the button.
https://bugzilla.gnome.org/show_bug.cgi?id=691042
js/ui/unlockDialog.js | 35 +++++++++++++++++++++--------------
1 files changed, 21 insertions(+), 14 deletions(-)
---
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
index 794f6cd..6b6127b 100644
--- a/js/ui/unlockDialog.js
+++ b/js/ui/unlockDialog.js
@@ -198,18 +198,23 @@ const UnlockDialog = new Lang.Class({
x_align: St.Align.END,
y_align: St.Align.MIDDLE });
- let otherUserLabel = new St.Label({ text: _("Log in as another user"),
- style_class: 'login-dialog-not-listed-label' });
- this._otherUserButton = new St.Button({ style_class: 'login-dialog-not-listed-button',
- can_focus: true,
- child: otherUserLabel,
- reactive: true,
- x_align: St.Align.START,
- x_fill: true });
- this._otherUserButton.connect('clicked', Lang.bind(this, this._otherUserClicked));
- this.dialogLayout.add(this._otherUserButton,
- { x_align: St.Align.START,
- x_fill: false });
+ let screenSaverSettings = new Gio.Settings({ schema: 'org.gnome.desktop.screensaver' });
+ if (screenSaverSettings.get_boolean('user-switch-enabled')) {
+ let otherUserLabel = new St.Label({ text: _("Log in as another user"),
+ style_class: 'login-dialog-not-listed-label' });
+ this._otherUserButton = new St.Button({ style_class: 'login-dialog-not-listed-button',
+ can_focus: true,
+ child: otherUserLabel,
+ reactive: true,
+ x_align: St.Align.START,
+ x_fill: true });
+ this._otherUserButton.connect('clicked', Lang.bind(this, this._otherUserClicked));
+ this.dialogLayout.add(this._otherUserButton,
+ { x_align: St.Align.START,
+ x_fill: false });
+ } else {
+ this._otherUserButton = null;
+ }
this._updateSensitivity(true);
@@ -231,8 +236,10 @@ const UnlockDialog = new Lang.Class({
this._promptEntry.reactive = sensitive;
this._promptEntry.clutter_text.editable = sensitive;
this._updateOkButtonSensitivity(sensitive && this._promptEntry.text.length > 0);
- this._otherUserButton.reactive = sensitive;
- this._otherUserButton.can_focus = sensitive;
+ if (this._otherUserButton) {
+ this._otherUserButton.reactive = sensitive;
+ this._otherUserButton.can_focus = sensitive;
+ }
},
_updateOkButtonSensitivity: function(sensitive) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]