unlockDialog: only emit 'failed' on reset after failure/cancel
We currently emit "failed" any time the UserVerifier is reset, and user verification didn't succeed prior. A more conceptually clear time to emit "failed" would be if the UserVerifier is reset and user verification failed prior, and to emit "failed" if the user cancels unlock. This commit restructures things to do that. Aside from being more conceptually clear, it also lays the groundwork for us to be able to reset the unlock screen without failing. https://bugzilla.gnome.org/show_bug.cgi?id=683437
This commit is contained in:
parent
ebce362c05
commit
16fba7bd5f
@ -420,6 +420,9 @@ const AuthPrompt = new Lang.Class({
|
|||||||
this.stopSpinning();
|
this.stopSpinning();
|
||||||
this.setHint(null);
|
this.setHint(null);
|
||||||
|
|
||||||
|
if (oldStatus == AuthPromptStatus.VERIFICATION_FAILED)
|
||||||
|
this.emit('failed');
|
||||||
|
|
||||||
this.emit('reset');
|
this.emit('reset');
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -460,6 +463,7 @@ const AuthPrompt = new Lang.Class({
|
|||||||
|
|
||||||
cancel: function() {
|
cancel: function() {
|
||||||
this.reset();
|
this.reset();
|
||||||
|
this.emit('cancelled');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Signals.addSignalMethods(AuthPrompt.prototype);
|
Signals.addSignalMethods(AuthPrompt.prototype);
|
||||||
|
@ -49,7 +49,8 @@ const UnlockDialog = new Lang.Class({
|
|||||||
factor: 0.5 }));
|
factor: 0.5 }));
|
||||||
|
|
||||||
this._authPrompt = new AuthPrompt.AuthPrompt(new Gdm.Client(), AuthPrompt.AuthPromptMode.UNLOCK_ONLY);
|
this._authPrompt = new AuthPrompt.AuthPrompt(new Gdm.Client(), AuthPrompt.AuthPromptMode.UNLOCK_ONLY);
|
||||||
this._authPrompt.connect('reset', Lang.bind(this, this._onReset));
|
this._authPrompt.connect('failed', Lang.bind(this, this._fail));
|
||||||
|
this._authPrompt.connect('cancelled', Lang.bind(this, this._fail));
|
||||||
this._authPrompt.setUser(this._user);
|
this._authPrompt.setUser(this._user);
|
||||||
this._authPrompt.setPasswordChar('\u25cf');
|
this._authPrompt.setPasswordChar('\u25cf');
|
||||||
this._authPrompt.nextButton.label = _("Unlock");
|
this._authPrompt.nextButton.label = _("Unlock");
|
||||||
@ -92,15 +93,13 @@ const UnlockDialog = new Lang.Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_onReset: function() {
|
_fail: function() {
|
||||||
this.emit('failed');
|
this.emit('failed');
|
||||||
},
|
},
|
||||||
|
|
||||||
_escape: function() {
|
_escape: function() {
|
||||||
if (this.allowCancel) {
|
if (this.allowCancel)
|
||||||
this._authPrompt.cancel();
|
this._authPrompt.cancel();
|
||||||
this.emit('failed');
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_otherUserClicked: function(button, event) {
|
_otherUserClicked: function(button, event) {
|
||||||
|
Loading…
Reference in New Issue
Block a user