[gnome-shell/wip/smartcard: 8/16] unlockDialog: only emit 'failed' on reset after failure/cancel



commit c0f108fd04fbde29ad6201a72d978ee63143ac9a
Author: Ray Strode <rstrode redhat com>
Date:   Sun Jul 28 16:06:04 2013 -0400

    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.

 js/gdm/authPrompt.js  |    4 ++++
 js/ui/unlockDialog.js |    9 ++++-----
 2 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index db64c68..1c6719e 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -420,6 +420,9 @@ const AuthPrompt = new Lang.Class({
         this.stopSpinning();
         this.setHint(null);
 
+        if (oldStatus == AuthPromptStatus.VERIFICATION_FAILED)
+            this.emit('failed');
+
         this.emit('reset');
     },
 
@@ -460,6 +463,7 @@ const AuthPrompt = new Lang.Class({
 
     cancel: function() {
         this.reset();
+        this.emit('cancelled');
     }
 });
 Signals.addSignalMethods(AuthPrompt.prototype);
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
index 1fc55eb..8f30d6e 100644
--- a/js/ui/unlockDialog.js
+++ b/js/ui/unlockDialog.js
@@ -49,7 +49,8 @@ const UnlockDialog = new Lang.Class({
                                                                      factor: 0.5 }));
 
         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.setPasswordChar('\u25cf');
         this._authPrompt.nextButton.label = _("Unlock");
@@ -92,15 +93,13 @@ const UnlockDialog = new Lang.Class({
         }
     },
 
-    _onReset: function() {
+    _fail: function() {
         this.emit('failed');
     },
 
     _escape: function() {
-        if (this.allowCancel) {
+        if (this.allowCancel)
             this._authPrompt.cancel();
-            this.emit('failed');
-        }
     },
 
     _otherUserClicked: function(button, event) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]