mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-20 11:47:46 +00:00
Add a dedicated free trial setting, which makes more sense
Previously I had this listed as another "license type" which makes no sense, considering that Steam free trial accounts can exist.
This commit is contained in:
parent
e8d1485256
commit
f6e56e4b15
5 changed files with 17 additions and 3 deletions
|
@ -17,8 +17,7 @@ class Watchdog;
|
||||||
enum class GameLicense {
|
enum class GameLicense {
|
||||||
WindowsStandalone,
|
WindowsStandalone,
|
||||||
WindowsSteam,
|
WindowsSteam,
|
||||||
macOS,
|
macOS
|
||||||
FreeTrial
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class WineType {
|
enum class WineType {
|
||||||
|
@ -86,6 +85,7 @@ struct ProfileSettings {
|
||||||
bool useOneTimePassword = false;
|
bool useOneTimePassword = false;
|
||||||
|
|
||||||
GameLicense license = GameLicense::WindowsStandalone;
|
GameLicense license = GameLicense::WindowsStandalone;
|
||||||
|
bool isFreeTrial = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct AppSettings {
|
struct AppSettings {
|
||||||
|
|
|
@ -54,6 +54,7 @@ private:
|
||||||
QLineEdit* lobbyServerURL = nullptr;
|
QLineEdit* lobbyServerURL = nullptr;
|
||||||
QCheckBox* rememberUsernameBox = nullptr, *rememberPasswordBox = nullptr;
|
QCheckBox* rememberUsernameBox = nullptr, *rememberPasswordBox = nullptr;
|
||||||
QComboBox* gameLicenseBox = nullptr;
|
QComboBox* gameLicenseBox = nullptr;
|
||||||
|
QCheckBox* freeTrialBox = nullptr;
|
||||||
QCheckBox* useOneTimePassword = nullptr;
|
QCheckBox* useOneTimePassword = nullptr;
|
||||||
|
|
||||||
// dalamud
|
// dalamud
|
||||||
|
|
|
@ -414,6 +414,7 @@ void LauncherCore::readInitialInformation() {
|
||||||
profile.rememberPassword = settings.value("rememberPassword", defaultSettings.rememberPassword).toBool();
|
profile.rememberPassword = settings.value("rememberPassword", defaultSettings.rememberPassword).toBool();
|
||||||
profile.useOneTimePassword = settings.value("useOneTimePassword", defaultSettings.useOneTimePassword).toBool();
|
profile.useOneTimePassword = settings.value("useOneTimePassword", defaultSettings.useOneTimePassword).toBool();
|
||||||
profile.license = (GameLicense)settings.value("license", (int)defaultSettings.license).toInt();
|
profile.license = (GameLicense)settings.value("license", (int)defaultSettings.license).toInt();
|
||||||
|
profile.isFreeTrial = settings.value("isFreeTrial", defaultSettings.isFreeTrial).toBool();
|
||||||
|
|
||||||
profile.useDX9 = settings.value("useDX9", defaultSettings.useDX9).toBool();
|
profile.useDX9 = settings.value("useDX9", defaultSettings.useDX9).toBool();
|
||||||
|
|
||||||
|
@ -655,6 +656,7 @@ void LauncherCore::saveSettings() {
|
||||||
settings.setValue("rememberPassword", profile.rememberPassword);
|
settings.setValue("rememberPassword", profile.rememberPassword);
|
||||||
settings.setValue("useOneTimePassword", profile.useOneTimePassword);
|
settings.setValue("useOneTimePassword", profile.useOneTimePassword);
|
||||||
settings.setValue("license", (int)profile.license);
|
settings.setValue("license", (int)profile.license);
|
||||||
|
settings.setValue("isFreeTrial", profile.isFreeTrial);
|
||||||
|
|
||||||
settings.setValue("enableDalamud", profile.dalamud.enabled);
|
settings.setValue("enableDalamud", profile.dalamud.enabled);
|
||||||
settings.setValue("dalamudOptOut", profile.dalamud.optOutOfMbCollection);
|
settings.setValue("dalamudOptOut", profile.dalamud.optOutOfMbCollection);
|
||||||
|
|
|
@ -221,6 +221,15 @@ SettingsWindow::SettingsWindow(int defaultTab, LauncherWindow& window, LauncherC
|
||||||
|
|
||||||
loginBoxLayout->addRow("Game License", gameLicenseBox);
|
loginBoxLayout->addRow("Game License", gameLicenseBox);
|
||||||
|
|
||||||
|
freeTrialBox = new QCheckBox();
|
||||||
|
connect(freeTrialBox, &QCheckBox::stateChanged, [=](int) {
|
||||||
|
getCurrentProfile().isFreeTrial =
|
||||||
|
freeTrialBox->isChecked();
|
||||||
|
|
||||||
|
this->core.saveSettings();
|
||||||
|
});
|
||||||
|
loginBoxLayout->addRow("Is Free Trial", freeTrialBox);
|
||||||
|
|
||||||
rememberUsernameBox = new QCheckBox();
|
rememberUsernameBox = new QCheckBox();
|
||||||
connect(rememberUsernameBox, &QCheckBox::stateChanged, [=](int) {
|
connect(rememberUsernameBox, &QCheckBox::stateChanged, [=](int) {
|
||||||
getCurrentProfile().rememberUsername =
|
getCurrentProfile().rememberUsername =
|
||||||
|
@ -555,6 +564,8 @@ void SettingsWindow::reloadControls() {
|
||||||
gameLicenseBox->setToolTip("");
|
gameLicenseBox->setToolTip("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
freeTrialBox->setChecked(profile.isFreeTrial);
|
||||||
|
|
||||||
// dalamud
|
// dalamud
|
||||||
enableDalamudBox->setChecked(profile.dalamud.enabled);
|
enableDalamudBox->setChecked(profile.dalamud.enabled);
|
||||||
if(core.dalamudVersion.isEmpty()) {
|
if(core.dalamudVersion.isEmpty()) {
|
||||||
|
|
|
@ -37,7 +37,7 @@ void SquareLauncher::getStored(const LoginInformation& info) {
|
||||||
query.addQueryItem("lng", "en");
|
query.addQueryItem("lng", "en");
|
||||||
// for some reason, we always use region 3. the actual region is acquired later
|
// for some reason, we always use region 3. the actual region is acquired later
|
||||||
query.addQueryItem("rgn", "3");
|
query.addQueryItem("rgn", "3");
|
||||||
query.addQueryItem("isft", info.settings->license == GameLicense::FreeTrial ? "1" : "0");
|
query.addQueryItem("isft", info.settings->isFreeTrial ? "1" : "0");
|
||||||
query.addQueryItem("cssmode", "1");
|
query.addQueryItem("cssmode", "1");
|
||||||
query.addQueryItem("isnew", "1");
|
query.addQueryItem("isnew", "1");
|
||||||
query.addQueryItem("launchver", "3");
|
query.addQueryItem("launchver", "3");
|
||||||
|
|
Loading…
Add table
Reference in a new issue