1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-05-19 07:37:44 +00:00

Initially focus a more relevant login field

This was only done during account change, but the same logic is now used
on start-up. Also, if the password doesn't need to be entered by the
user (e.g. they have "Remember Password" checked) then the OTP/Login
button is focused instead.
This commit is contained in:
Joshua Goins 2025-05-18 11:42:55 -04:00
parent eebd827982
commit a4e9343b12

View file

@ -73,22 +73,28 @@ QQC2.Control {
function onAccountChanged(): void {
page.updateFields();
if (LauncherCore.currentProfile.account.needsPassword) {
passwordField.forceActiveFocus();
return;
}
if (LauncherCore.currentProfile.account.config.useOTP) {
otpField.forceActiveFocus();
return;
}
loginButton.forceActiveFocus();
page.updateFocus();
}
}
Component.onCompleted: updateFields()
function updateFocus(): void {
if (LauncherCore.currentProfile.account.needsPassword && !LauncherCore.currentProfile.account.config.rememberPassword) {
passwordField.forceActiveFocus();
return;
}
if (LauncherCore.currentProfile.account.config.useOTP) {
otpField.forceActiveFocus();
return;
}
loginButton.forceActiveFocus();
}
Component.onCompleted: {
updateFields();
updateFocus();
}
contentItem: ColumnLayout {
width: parent.width
@ -227,7 +233,6 @@ QQC2.Control {
FormCard.FormPasswordFieldDelegate {
id: passwordField
label: i18n("Square Enix Password")
focus: true
onAccepted: {
if (otpField.visible) {
otpField.clicked();