diff --git a/README.md b/README.md index bdcf2e2..3cd4218 100644 --- a/README.md +++ b/README.md @@ -7,13 +7,15 @@ plugins! ## Features -* Wine Support - Handles launching Wine for you. -* Dalamud Support - You can use Dalamud plugins out of the box. -* Multiple Profiles - Almost all of the settings can be set per-profile. -* Encrypted Arguments - Game arguments are encrypted out of the box, so it's just as secure as other launchers. -* 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. -* Sapphire Login - Can login to 3rd party Sapphire servers. +* Wine Support: Handles launching Wine for you. +* Dalamud Support: You can use Dalamud plugins out of the box! +* Multiple Profiles: Customizable per-profile settings for users that need multiple game installs. +* 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. +* Game Patching Support: Can patch the game without the need to boot into the official launcher. +* 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 diff --git a/launcher/ui/Setup/AddSquareEnix.qml b/launcher/ui/Setup/AddSquareEnix.qml index 709e0d0..0ddbd5a 100644 --- a/launcher/ui/Setup/AddSquareEnix.qml +++ b/launcher/ui/Setup/AddSquareEnix.qml @@ -13,74 +13,86 @@ import zone.xiv.astra FormCard.FormCardPage { id: page + readonly property bool isValid: usernameField.text.length !== 0 property var profile title: i18n("Add Square Enix Account") - readonly property bool isValid: usernameField.text.length !== 0 - FormCard.FormCard { - Layout.topMargin: Kirigami.Units.largeSpacing Layout.fillWidth: true + Layout.topMargin: Kirigami.Units.largeSpacing FormCard.FormTextDelegate { 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.") } - FormCard.FormDelegateSeparator { above: helpTextDelegate below: usernameField } - FormCard.FormTextFieldDelegate { id: usernameField + label: i18n("Username") } - FormCard.FormDelegateSeparator { above: usernameField below: licenseField } - FormCard.FormComboBoxDelegate { id: licenseField - text: i18n("License") + + currentIndex: 0 description: i18n("If the account holds multiple licenses, choose the preferred one.") model: ["Windows", "Steam", "macOS"] - currentIndex: 0 - } + text: i18n("License") + onCurrentIndexChanged: { + if (currentIndex === 1) { + currentIndex = 0; + errorDialog.open(); + } + } + } FormCard.FormDelegateSeparator { above: licenseField below: freeTrialField } - FormCard.FormCheckDelegate { id: freeTrialField - text: i18n("Free Trial") + description: i18n("Check if the account is currently on free trial.") + text: i18n("Free Trial") } - FormCard.FormDelegateSeparator { above: freeTrialField below: buttonDelegate } - FormCard.FormButtonDelegate { id: buttonDelegate - text: i18n("Add Account") - icon.name: "list-add-symbolic" + enabled: page.isValid + icon.name: "list-add-symbolic" + text: i18n("Add Account") + 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) { - page.profile.account = account - applicationWindow().checkSetup() + page.profile.account = account; + applicationWindow().checkSetup(); } 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.") + } } \ No newline at end of file