polkitAgent: Only set key focus to password entry after opening dialog
Set the key focus to the password field only after we got a request
(and therefore know that a password is requested) instead of using
`setInitialKeyFocus()`. This way we don't try to focus the password
field by default if we aren't showing it (e.g. in case the user has no
password or is using fingerprint login).
Also we have to move the call to `grab_key_focus()` to happen after
`_ensureOpen()`, because otherwise the ModalDialog will set the focus to
one of the buttons while opening itself.
Cherry-picked from commit 70203b58ca
.
https://gitlab.gnome.org/GNOME/gnome-shell/issues/2066
This commit is contained in:
parent
fb74394d58
commit
a35f9a5226
@ -100,7 +100,6 @@ var AuthenticationDialog = GObject.registerClass({
|
|||||||
});
|
});
|
||||||
this._passwordBox.add(this._workSpinner.actor);
|
this._passwordBox.add(this._workSpinner.actor);
|
||||||
|
|
||||||
this.setInitialKeyFocus(this._passwordEntry);
|
|
||||||
this._passwordBox.hide();
|
this._passwordBox.hide();
|
||||||
|
|
||||||
this._errorMessageLabel = new St.Label({ style_class: 'prompt-dialog-error-label' });
|
this._errorMessageLabel = new St.Label({ style_class: 'prompt-dialog-error-label' });
|
||||||
@ -269,9 +268,10 @@ var AuthenticationDialog = GObject.registerClass({
|
|||||||
|
|
||||||
this._passwordBox.show();
|
this._passwordBox.show();
|
||||||
this._passwordEntry.set_text('');
|
this._passwordEntry.set_text('');
|
||||||
this._passwordEntry.grab_key_focus();
|
|
||||||
this._updateSensitivity(true);
|
this._updateSensitivity(true);
|
||||||
|
|
||||||
this._ensureOpen();
|
this._ensureOpen();
|
||||||
|
this._passwordEntry.grab_key_focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
_onSessionShowError(session, text) {
|
_onSessionShowError(session, text) {
|
||||||
|
Loading…
Reference in New Issue
Block a user