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



commit 1104a385fad779577ef702e8aee84840b871d8ed
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.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=683437

 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 253582e..15841a3 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -428,6 +428,9 @@ const AuthPrompt = new Lang.Class({
         this.stopSpinning();
         this.setHint(null);
 
+        if (oldStatus == AuthPromptStatus.VERIFICATION_FAILED)
+            this.emit('failed');
+
         this.emit('reset');
     },
 
@@ -468,6 +471,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]