Skip to content

Commit

Permalink
Warn that Steam-linked Square Enix accounts are not supported
Browse files Browse the repository at this point in the history
redstrate committed May 26, 2024
1 parent ed1423e commit c671f30
Showing 2 changed files with 41 additions and 27 deletions.
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

52 changes: 32 additions & 20 deletions launcher/ui/Setup/AddSquareEnix.qml
Original file line number Diff line number Diff line change
@@ -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.")
}
}

0 comments on commit c671f30

Please sign in to comment.