[gnome-shell/gbsneto/multi-user-button: 4/7] Revert "unlockDialog: Remove 'Login as another user' Label"
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gbsneto/multi-user-button: 4/7] Revert "unlockDialog: Remove 'Login as another user' Label"
- Date: Fri, 14 Feb 2020 20:50:22 +0000 (UTC)
commit 06565542e73846dcf6cec5ce1ed95db21d6d9cbf
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Fri Feb 14 12:05:23 2020 -0300
Revert "unlockDialog: Remove 'Login as another user' Label"
This reverts commit c6a79fafc. The back button doesn't really work
as a replacement for going back to the login screen.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1006
js/gdm/authPrompt.js | 13 ++-----------
js/ui/unlockDialog.js | 39 +++++++++++++++++++++++++++++++++++++--
2 files changed, 39 insertions(+), 13 deletions(-)
---
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index 5515db60d2..2f98989078 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported AuthPrompt */
-const { Clutter, Gdm, Gio, GObject, Pango, Shell, St } = imports.gi;
+const { Clutter, GObject, Pango, Shell, St } = imports.gi;
const Animation = imports.ui.animation;
const Batch = imports.gdm.batch;
@@ -129,7 +129,7 @@ var AuthPrompt = GObject.registerClass({
y_align: Clutter.ActorAlign.CENTER,
child: new St.Icon({ icon_name: 'go-previous-symbolic' }),
});
- this.cancelButton.connect('clicked', () => this._onCancelButtonClicked());
+ this.cancelButton.connect('clicked', () => this.cancel());
this._mainBox.add_child(this.cancelButton);
let entryParams = {
@@ -382,15 +382,6 @@ var AuthPrompt = GObject.registerClass({
});
}
- _onCancelButtonClicked() {
- if (this._mode == AuthPromptMode.UNLOCK_ONLY) {
- let screenSaverSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.screensaver' });
- if (screenSaverSettings.get_boolean('user-switch-enabled'))
- Gdm.goto_login_session_sync(null);
- }
- this.cancel();
- }
-
setMessage(message, type) {
if (type == GdmUtil.MessageType.ERROR)
this._message.add_style_class_name('login-dialog-message-warning');
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
index cae22f20e1..38e5487e87 100644
--- a/js/ui/unlockDialog.js
+++ b/js/ui/unlockDialog.js
@@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported UnlockDialog */
-const { AccountsService, Atk, Clutter, Gdm,
+const { AccountsService, Atk, Clutter, Gdm, Gio,
GnomeDesktop, GLib, GObject, Meta, Shell, St } = imports.gi;
const Background = imports.ui.background;
@@ -625,6 +625,24 @@ var UnlockDialog = GObject.registerClass({
this._promptBox.add_child(this._authPrompt);
+ let screenSaverSettings = new Gio.Settings({ schema_id: '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,
+ });
+ this._otherUserButton.connect('clicked', this._otherUserClicked.bind(this));
+ this._promptBox.add_child(this._otherUserButton);
+ } else {
+ this._otherUserButton = null;
+ }
+
this._authPrompt.reset();
this._updateSensitivity(true);
}
@@ -632,17 +650,28 @@ var UnlockDialog = GObject.registerClass({
_maybeDestroyAuthPrompt() {
let focus = global.stage.key_focus;
if (focus === null ||
- (this._authPrompt && this._authPrompt.contains(focus)))
+ (this._authPrompt && this._authPrompt.contains(focus)) ||
+ (this._otherUserButton && focus === this._otherUserButton))
this.grab_key_focus();
if (this._authPrompt) {
this._authPrompt.destroy();
this._authPrompt = null;
}
+
+ if (this._otherUserButton) {
+ this._otherUserButton.destroy();
+ this._otherUserButton = null;
+ }
}
_updateSensitivity(sensitive) {
this._authPrompt.updateSensitivity(sensitive);
+
+ if (this._otherUserButton) {
+ this._otherUserButton.reactive = sensitive;
+ this._otherUserButton.can_focus = sensitive;
+ }
}
_showClock() {
@@ -749,6 +778,12 @@ var UnlockDialog = GObject.registerClass({
});
}
+ _otherUserClicked() {
+ Gdm.goto_login_session_sync(null);
+
+ this._authPrompt.cancel();
+ }
+
_onDestroy() {
this.popModal();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]