diff --git a/launcher/profileconfig.kcfg b/launcher/profileconfig.kcfg
index 23e4fe1..6077269 100644
--- a/launcher/profileconfig.kcfg
+++ b/launcher/profileconfig.kcfg
@@ -69,5 +69,14 @@ SPDX-License-Identifier: CC0-1.0
true
+
+ win32
+
+
+ ffxivneo_release_boot
+
+
+ ffxivneo_release_game
+
diff --git a/launcher/src/squareenixlogin.cpp b/launcher/src/squareenixlogin.cpp
index baa0b6f..0233014 100644
--- a/launcher/src/squareenixlogin.cpp
+++ b/launcher/src/squareenixlogin.cpp
@@ -20,10 +20,6 @@
#include "profileconfig.h"
#include "utility.h"
-const QString platform = QStringLiteral("win32");
-const QString bootUpdateChannel = QStringLiteral("ffxivneo_release_boot");
-const QString gameUpdateChannel = QStringLiteral("ffxivneo_release_game");
-
const QByteArray patchUserAgent = QByteArrayLiteral("FFXIV PATCH CLIENT");
const QByteArray macosPatchUserAgent = QByteArrayLiteral("FFXIV-MAC PATCH CLIEN");
@@ -168,7 +164,8 @@ QCoro::Task SquareEnixLogin::checkBootUpdates()
QUrl url;
url.setScheme(QStringLiteral("http"));
url.setHost(QStringLiteral("patch-bootver.%1").arg(m_info->profile->account()->config()->oldServer()));
- url.setPath(QStringLiteral("/http/%1/%2/%3/").arg(platform, bootUpdateChannel, m_info->profile->bootVersion()));
+ url.setPath(QStringLiteral("/http/%1/%2/%3/")
+ .arg(m_info->profile->config()->platform(), m_info->profile->config()->bootUpdateChannel(), m_info->profile->bootVersion()));
url.setQuery(query);
auto request = QNetworkRequest(url);
@@ -362,7 +359,8 @@ QCoro::Task SquareEnixLogin::registerSession()
QUrl url;
url.setScheme(m_info->profile->account()->config()->preferredProtocol());
url.setHost(QStringLiteral("patch-gamever.%1").arg(m_info->profile->account()->config()->oldServer()));
- url.setPath(QStringLiteral("/http/%1/%2/%3/%4").arg(platform, gameUpdateChannel, m_info->profile->baseGameVersion(), m_SID));
+ url.setPath(QStringLiteral("/http/%1/%2/%3/%4")
+ .arg(m_info->profile->config()->platform(), m_info->profile->config()->gameUpdateChannel(), m_info->profile->baseGameVersion(), m_SID));
auto request = QNetworkRequest(url);
Utility::setSSL(request);
diff --git a/launcher/ui/Settings/ProfileSettings.qml b/launcher/ui/Settings/ProfileSettings.qml
index a841143..3491e26 100644
--- a/launcher/ui/Settings/ProfileSettings.qml
+++ b/launcher/ui/Settings/ProfileSettings.qml
@@ -47,6 +47,10 @@ FormCard.FormCardPage {
Kirigami.Action {
id: dalamudAction
text: i18n("Dalamud")
+ },
+ Kirigami.Action {
+ id: developerAction
+ text: i18n("Developer")
}
]
@@ -245,6 +249,47 @@ FormCard.FormCardPage {
}
}
+ FormCard.FormCard {
+ visible: developerAction.checked
+
+ Layout.fillWidth: true
+ Layout.topMargin: Kirigami.Units.largeSpacing * 4
+
+ FormCard.FormTextFieldDelegate {
+ id: platformDelegate
+
+ label: i18n("Platform")
+ text: page.profile.config.platform
+ onTextChanged: page.profile.config.platform = text
+ }
+
+ FormCard.FormDelegateSeparator {
+ above: platformDelegate
+ below: bootUpdateChannel
+ }
+
+ FormCard.FormTextFieldDelegate {
+ id: bootUpdateChannel
+
+ label: i18n("Boot Update Channel")
+ text: page.profile.config.bootUpdateChannel
+ onTextChanged: page.profile.config.bootUpdateChannel = text
+ }
+
+ FormCard.FormDelegateSeparator {
+ above: bootUpdateChannel
+ below: gameUpdateChannel
+ }
+
+ FormCard.FormTextFieldDelegate {
+ id: gameUpdateChannel
+
+ label: i18n("Game Update Channel")
+ text: page.profile.config.gameUpdateChannel
+ onTextChanged: page.profile.config.gameUpdateChannel = text
+ }
+ }
+
Kirigami.PromptDialog {
id: deletePrompt