Compare commits
2 Commits
citadel
...
jrocha/pol
Author | SHA1 | Date | |
---|---|---|---|
|
9915bad039 | ||
|
903036e244 |
@ -27,6 +27,11 @@ var WORK_SPINNER_ICON_SIZE = 16;
|
||||
var WORK_SPINNER_ANIMATION_DELAY = 1.0;
|
||||
var WORK_SPINNER_ANIMATION_TIME = 0.3;
|
||||
|
||||
const DialogMode = {
|
||||
AUTH: 0,
|
||||
CONFIRM: 1
|
||||
};
|
||||
|
||||
var AuthenticationDialog = new Lang.Class({
|
||||
Name: 'AuthenticationDialog',
|
||||
Extends: ModalDialog.ModalDialog,
|
||||
@ -59,10 +64,6 @@ var AuthenticationDialog = new Lang.Class({
|
||||
|
||||
this._user = AccountsService.UserManager.get_default().get_user(userName);
|
||||
let userRealName = this._user.get_real_name()
|
||||
this._userLoadedId = this._user.connect('notify::is_loaded',
|
||||
Lang.bind(this, this._onUserChanged));
|
||||
this._userChangedId = this._user.connect('changed',
|
||||
Lang.bind(this, this._onUserChanged));
|
||||
|
||||
// Special case 'root'
|
||||
let userIsRoot = false;
|
||||
@ -98,10 +99,14 @@ var AuthenticationDialog = new Lang.Class({
|
||||
y_align: St.Align.MIDDLE });
|
||||
}
|
||||
|
||||
this._onUserChanged();
|
||||
|
||||
this._passwordBox = new St.BoxLayout({ vertical: false, style_class: 'prompt-dialog-password-box' });
|
||||
content.messageBox.add(this._passwordBox);
|
||||
|
||||
// onUserChanged needs to be called after we have the _passwordBox set
|
||||
this._user.connect('notify::is_loaded', Lang.bind(this, this._onUserChanged));
|
||||
this._user.connect('changed', Lang.bind(this, this._onUserChanged));
|
||||
this._onUserChanged();
|
||||
|
||||
this._passwordLabel = new St.Label(({ style_class: 'prompt-dialog-password-label' }));
|
||||
this._passwordBox.add(this._passwordLabel, { y_fill: false, y_align: St.Align.MIDDLE });
|
||||
this._passwordEntry = new St.Entry({ style_class: 'prompt-dialog-password-entry',
|
||||
@ -118,7 +123,6 @@ var AuthenticationDialog = new Lang.Class({
|
||||
|
||||
this._passwordBox.add(this._workSpinner.actor);
|
||||
|
||||
this.setInitialKeyFocus(this._passwordEntry);
|
||||
this._passwordBox.hide();
|
||||
|
||||
this._errorMessageLabel = new St.Label({ style_class: 'prompt-dialog-error-label' });
|
||||
@ -182,7 +186,7 @@ var AuthenticationDialog = new Lang.Class({
|
||||
}
|
||||
},
|
||||
|
||||
performAuthentication: function() {
|
||||
_initiateSession: function() {
|
||||
this.destroySession();
|
||||
this._session = new PolkitAgent.Session({ identity: this._identityToAuth,
|
||||
cookie: this._cookie });
|
||||
@ -193,6 +197,12 @@ var AuthenticationDialog = new Lang.Class({
|
||||
this._session.initiate();
|
||||
},
|
||||
|
||||
performAuthentication: function() {
|
||||
if (this._mode == DialogMode.AUTH)
|
||||
this._initiateSession();
|
||||
this._ensureOpen();
|
||||
},
|
||||
|
||||
_ensureOpen: function() {
|
||||
// NOTE: ModalDialog.open() is safe to call if the dialog is
|
||||
// already open - it just returns true without side-effects
|
||||
@ -243,7 +253,10 @@ var AuthenticationDialog = new Lang.Class({
|
||||
},
|
||||
|
||||
_onAuthenticateButtonPressed: function() {
|
||||
this._onEntryActivate();
|
||||
if (this._mode == DialogMode.CONFIRM)
|
||||
this._initiateSession();
|
||||
else
|
||||
this._onEntryActivate();
|
||||
},
|
||||
|
||||
_onSessionCompleted: function(session, gainedAuthorization) {
|
||||
@ -329,6 +342,13 @@ var AuthenticationDialog = new Lang.Class({
|
||||
this._userAvatar.update();
|
||||
this._userAvatar.actor.show();
|
||||
}
|
||||
|
||||
if (this._user.get_password_mode() == AccountsService.UserPasswordMode.NONE) {
|
||||
this._mode = DialogMode.CONFIRM;
|
||||
this._passwordBox.hide();
|
||||
} else {
|
||||
this._mode = DialogMode.AUTH;
|
||||
}
|
||||
},
|
||||
|
||||
cancel: function() {
|
||||
|
Loading…
Reference in New Issue
Block a user