Compare commits
	
		
			2 Commits
		
	
	
		
			cherry-pic
			...
			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() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user