1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-05-19 15:37:46 +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,8 +73,12 @@ QQC2.Control {
function onAccountChanged(): void { function onAccountChanged(): void {
page.updateFields(); page.updateFields();
page.updateFocus();
}
}
if (LauncherCore.currentProfile.account.needsPassword) { function updateFocus(): void {
if (LauncherCore.currentProfile.account.needsPassword && !LauncherCore.currentProfile.account.config.rememberPassword) {
passwordField.forceActiveFocus(); passwordField.forceActiveFocus();
return; return;
} }
@ -86,9 +90,11 @@ QQC2.Control {
loginButton.forceActiveFocus(); loginButton.forceActiveFocus();
} }
}
Component.onCompleted: updateFields() Component.onCompleted: {
updateFields();
updateFocus();
}
contentItem: ColumnLayout { contentItem: ColumnLayout {
width: parent.width width: parent.width
@ -227,7 +233,6 @@ QQC2.Control {
FormCard.FormPasswordFieldDelegate { FormCard.FormPasswordFieldDelegate {
id: passwordField id: passwordField
label: i18n("Square Enix Password") label: i18n("Square Enix Password")
focus: true
onAccepted: { onAccepted: {
if (otpField.visible) { if (otpField.visible) {
otpField.clicked(); otpField.clicked();