1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-20 11:47:46 +00:00

Warn that Steam-linked Square Enix accounts are not supported

This commit is contained in:
Joshua Goins 2024-05-26 06:18:30 -04:00
parent ed1423e2e4
commit c671f30b48
2 changed files with 42 additions and 28 deletions

View file

@ -7,13 +7,15 @@ plugins!
## Features ## Features
* Wine Support - Handles launching Wine for you. * Wine Support: Handles launching Wine for you.
* Dalamud Support - You can use Dalamud plugins out of the box. * Dalamud Support: You can use Dalamud plugins out of the box!
* Multiple Profiles - Almost all of the settings can be set per-profile. * Multiple Profiles: Customizable per-profile settings for users that need multiple game installs.
* Encrypted Arguments - Game arguments are encrypted out of the box, so it's just as secure as other launchers. * Encrypted Arguments: Game arguments are encrypted out of the box, and is as secure as other launchers.
* Secure Password Storage - Login information is encrypted using your system keychain and is never stored plain-text. * Secure Password Storage: Login information is encrypted using your system keychain and is never stored plain-text.
* Game Patching Support - Can patch the game without the need to boot into the official launcher. * Game Patching Support: Can patch the game without the need to boot into the official launcher.
* Sapphire Login - Can login to 3rd party Sapphire servers. * Alternative Server Support: Can log into Sapphire servers and use alternative domains.
**Note:** Steam-linked Square Enix accounts are not currently supported. You will have to use the official launcher or XIVLauncher.Core.
## Get It ## Get It

View file

@ -13,74 +13,86 @@ import zone.xiv.astra
FormCard.FormCardPage { FormCard.FormCardPage {
id: page id: page
readonly property bool isValid: usernameField.text.length !== 0
property var profile property var profile
title: i18n("Add Square Enix Account") title: i18n("Add Square Enix Account")
readonly property bool isValid: usernameField.text.length !== 0
FormCard.FormCard { FormCard.FormCard {
Layout.topMargin: Kirigami.Units.largeSpacing
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: Kirigami.Units.largeSpacing
FormCard.FormTextDelegate { FormCard.FormTextDelegate {
id: helpTextDelegate id: helpTextDelegate
description: i18n("The password will be entered on the login page. A username will be associated with this account but can always be changed later.") description: i18n("The password will be entered on the login page. A username will be associated with this account but can always be changed later.")
} }
FormCard.FormDelegateSeparator { FormCard.FormDelegateSeparator {
above: helpTextDelegate above: helpTextDelegate
below: usernameField below: usernameField
} }
FormCard.FormTextFieldDelegate { FormCard.FormTextFieldDelegate {
id: usernameField id: usernameField
label: i18n("Username") label: i18n("Username")
} }
FormCard.FormDelegateSeparator { FormCard.FormDelegateSeparator {
above: usernameField above: usernameField
below: licenseField below: licenseField
} }
FormCard.FormComboBoxDelegate { FormCard.FormComboBoxDelegate {
id: licenseField id: licenseField
text: i18n("License")
currentIndex: 0
description: i18n("If the account holds multiple licenses, choose the preferred one.") description: i18n("If the account holds multiple licenses, choose the preferred one.")
model: ["Windows", "Steam", "macOS"] model: ["Windows", "Steam", "macOS"]
currentIndex: 0 text: i18n("License")
}
onCurrentIndexChanged: {
if (currentIndex === 1) {
currentIndex = 0;
errorDialog.open();
}
}
}
FormCard.FormDelegateSeparator { FormCard.FormDelegateSeparator {
above: licenseField above: licenseField
below: freeTrialField below: freeTrialField
} }
FormCard.FormCheckDelegate { FormCard.FormCheckDelegate {
id: freeTrialField id: freeTrialField
text: i18n("Free Trial")
description: i18n("Check if the account is currently on free trial.")
}
description: i18n("Check if the account is currently on free trial.")
text: i18n("Free Trial")
}
FormCard.FormDelegateSeparator { FormCard.FormDelegateSeparator {
above: freeTrialField above: freeTrialField
below: buttonDelegate below: buttonDelegate
} }
FormCard.FormButtonDelegate { FormCard.FormButtonDelegate {
id: buttonDelegate id: buttonDelegate
text: i18n("Add Account")
icon.name: "list-add-symbolic"
enabled: page.isValid enabled: page.isValid
icon.name: "list-add-symbolic"
text: i18n("Add Account")
onClicked: { onClicked: {
let account = LauncherCore.accountManager.createSquareEnixAccount(usernameField.text, licenseField.currentIndex, freeTrialField.checkState === Qt.Checked) let account = LauncherCore.accountManager.createSquareEnixAccount(usernameField.text, licenseField.currentIndex, freeTrialField.checkState === Qt.Checked);
if (page.profile) { if (page.profile) {
page.profile.account = account page.profile.account = account;
applicationWindow().checkSetup() applicationWindow().checkSetup();
} else { } else {
page.Window.window.pageStack.layers.pop() page.Window.window.pageStack.layers.pop();
} }
} }
} }
} }
Kirigami.PromptDialog {
id: errorDialog
showCloseButton: false
standardButtons: Kirigami.Dialog.Ok
title: i18n("Steam Warning")
subtitle: i18n("Steam linked Square Enix accounts are not currently supported. You will have to use another launcher that supports these, such as the official launcher or XIVLauncher.Core.")
}
} }