loginDialog: Restrict grabbing of focus while timed login is running
Make sure the focus isn't grabbed right after user interaction starts a new timed login. Only grab it after the idle timeout is done and on the first run instead.
This commit is contained in:
parent
522a5fe480
commit
5cc6fef689
@ -990,11 +990,6 @@ var LoginDialog = new Lang.Class({
|
|||||||
return hold;
|
return hold;
|
||||||
},
|
},
|
||||||
|
|
||||||
_showTimedLoginAnimation() {
|
|
||||||
this._timedLoginItem.actor.grab_key_focus();
|
|
||||||
return this._timedLoginItem.showTimedLoginIndicator(this._timedLoginAnimationTime);
|
|
||||||
},
|
|
||||||
|
|
||||||
_blockTimedLoginUntilIdle() {
|
_blockTimedLoginUntilIdle() {
|
||||||
// This blocks timed login from starting until a few
|
// This blocks timed login from starting until a few
|
||||||
// seconds after the user stops interacting with the
|
// seconds after the user stops interacting with the
|
||||||
@ -1019,10 +1014,13 @@ var LoginDialog = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_startTimedLogin(userName, delay) {
|
_startTimedLogin(userName, delay) {
|
||||||
|
let firstRun = true;
|
||||||
|
|
||||||
// Cancel execution of old batch
|
// Cancel execution of old batch
|
||||||
if (this._timedLoginBatch) {
|
if (this._timedLoginBatch) {
|
||||||
this._timedLoginBatch.cancel();
|
this._timedLoginBatch.cancel();
|
||||||
this._timedLoginBatch = null;
|
this._timedLoginBatch = null;
|
||||||
|
firstRun = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset previous idle-timeout
|
// Reset previous idle-timeout
|
||||||
@ -1054,10 +1052,13 @@ var LoginDialog = new Lang.Class({
|
|||||||
this._blockTimedLoginUntilIdle,
|
this._blockTimedLoginUntilIdle,
|
||||||
|
|
||||||
() => {
|
() => {
|
||||||
this._userList.scrollToItem(this._timedLoginItem);
|
if (this._timedLoginDelay > _TIMED_LOGIN_IDLE_THRESHOLD || firstRun) {
|
||||||
|
this._userList.scrollToItem(this._timedLoginItem);
|
||||||
|
this._timedLoginItem.actor.grab_key_focus();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
this._showTimedLoginAnimation,
|
() => this._timedLoginItem.showTimedLoginIndicator(this._timedLoginAnimationTime),
|
||||||
|
|
||||||
() => {
|
() => {
|
||||||
this._timedLoginBatch = null;
|
this._timedLoginBatch = null;
|
||||||
|
Loading…
Reference in New Issue
Block a user