mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-20 11:47:46 +00:00
Move encrypted arguments option to developer settings
This is a fairly developer-oriented option, there's no reason to set this per-profile.
This commit is contained in:
parent
bdcbcd9fc1
commit
ea16fb8f1a
7 changed files with 40 additions and 23 deletions
|
@ -37,5 +37,8 @@ SPDX-License-Identifier: CC0-1.0
|
||||||
</entry>
|
</entry>
|
||||||
<entry name="AutoLoginProfile" type="String">
|
<entry name="AutoLoginProfile" type="String">
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry key="EncryptArguments" type="bool">
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
</group>
|
</group>
|
||||||
</kcfg>
|
</kcfg>
|
||||||
|
|
|
@ -72,6 +72,7 @@ class LauncherCore : public QObject
|
||||||
Q_PROPERTY(QString squareEnixServer READ squareEnixServer WRITE setSquareEnixServer NOTIFY squareEnixServerChanged)
|
Q_PROPERTY(QString squareEnixServer READ squareEnixServer WRITE setSquareEnixServer NOTIFY squareEnixServerChanged)
|
||||||
Q_PROPERTY(QString squareEnixLoginServer READ squareEnixLoginServer WRITE setSquareEnixLoginServer NOTIFY squareEnixLoginServerChanged)
|
Q_PROPERTY(QString squareEnixLoginServer READ squareEnixLoginServer WRITE setSquareEnixLoginServer NOTIFY squareEnixLoginServerChanged)
|
||||||
Q_PROPERTY(QString preferredProtocol READ preferredProtocol WRITE setPreferredProtocol NOTIFY preferredProtocolChanged)
|
Q_PROPERTY(QString preferredProtocol READ preferredProtocol WRITE setPreferredProtocol NOTIFY preferredProtocolChanged)
|
||||||
|
Q_PROPERTY(bool argumentsEncrypted READ argumentsEncrypted WRITE setArgumentsEncrypted NOTIFY encryptedArgumentsChanged)
|
||||||
Q_PROPERTY(Headline *headline READ headline NOTIFY newsChanged)
|
Q_PROPERTY(Headline *headline READ headline NOTIFY newsChanged)
|
||||||
Q_PROPERTY(Profile *currentProfile READ currentProfile WRITE setCurrentProfile NOTIFY currentProfileChanged)
|
Q_PROPERTY(Profile *currentProfile READ currentProfile WRITE setCurrentProfile NOTIFY currentProfileChanged)
|
||||||
Q_PROPERTY(Profile *autoLoginProfile READ autoLoginProfile WRITE setAutoLoginProfile NOTIFY autoLoginProfileChanged)
|
Q_PROPERTY(Profile *autoLoginProfile READ autoLoginProfile WRITE setAutoLoginProfile NOTIFY autoLoginProfileChanged)
|
||||||
|
@ -145,6 +146,9 @@ public:
|
||||||
[[nodiscard]] QString preferredProtocol() const;
|
[[nodiscard]] QString preferredProtocol() const;
|
||||||
void setPreferredProtocol(const QString &value);
|
void setPreferredProtocol(const QString &value);
|
||||||
|
|
||||||
|
[[nodiscard]] bool argumentsEncrypted() const;
|
||||||
|
void setArgumentsEncrypted(bool value);
|
||||||
|
|
||||||
[[nodiscard]] QString autoLoginProfileName() const;
|
[[nodiscard]] QString autoLoginProfileName() const;
|
||||||
[[nodiscard]] Profile *autoLoginProfile() const;
|
[[nodiscard]] Profile *autoLoginProfile() const;
|
||||||
void setAutoLoginProfile(Profile *value);
|
void setAutoLoginProfile(Profile *value);
|
||||||
|
@ -182,6 +186,7 @@ signals:
|
||||||
void squareEnixServerChanged();
|
void squareEnixServerChanged();
|
||||||
void squareEnixLoginServerChanged();
|
void squareEnixLoginServerChanged();
|
||||||
void preferredProtocolChanged();
|
void preferredProtocolChanged();
|
||||||
|
void encryptedArgumentsChanged();
|
||||||
void loginError(QString message);
|
void loginError(QString message);
|
||||||
void stageChanged(QString message);
|
void stageChanged(QString message);
|
||||||
void stageIndeterminate();
|
void stageIndeterminate();
|
||||||
|
|
|
@ -35,7 +35,6 @@ class Profile : public QObject
|
||||||
Q_PROPERTY(DalamudInjectMethod dalamudInjectMethod READ dalamudInjectMethod WRITE setDalamudInjectMethod NOTIFY dalamudInjectMethodChanged)
|
Q_PROPERTY(DalamudInjectMethod dalamudInjectMethod READ dalamudInjectMethod WRITE setDalamudInjectMethod NOTIFY dalamudInjectMethodChanged)
|
||||||
Q_PROPERTY(int dalamudInjectDelay READ dalamudInjectDelay WRITE setDalamudInjectDelay NOTIFY dalamudInjectDelayChanged)
|
Q_PROPERTY(int dalamudInjectDelay READ dalamudInjectDelay WRITE setDalamudInjectDelay NOTIFY dalamudInjectDelayChanged)
|
||||||
Q_PROPERTY(DalamudChannel dalamudChannel READ dalamudChannel WRITE setDalamudChannel NOTIFY dalamudChannelChanged)
|
Q_PROPERTY(DalamudChannel dalamudChannel READ dalamudChannel WRITE setDalamudChannel NOTIFY dalamudChannelChanged)
|
||||||
Q_PROPERTY(bool argumentsEncrypted READ argumentsEncrypted WRITE setArgumentsEncrypted NOTIFY encryptedArgumentsChanged)
|
|
||||||
Q_PROPERTY(bool isGameInstalled READ isGameInstalled NOTIFY gameInstallChanged)
|
Q_PROPERTY(bool isGameInstalled READ isGameInstalled NOTIFY gameInstallChanged)
|
||||||
Q_PROPERTY(Account *account READ account WRITE setAccount NOTIFY accountChanged)
|
Q_PROPERTY(Account *account READ account WRITE setAccount NOTIFY accountChanged)
|
||||||
Q_PROPERTY(QString expansionVersionText READ expansionVersionText NOTIFY gameInstallChanged)
|
Q_PROPERTY(QString expansionVersionText READ expansionVersionText NOTIFY gameInstallChanged)
|
||||||
|
@ -116,9 +115,6 @@ public:
|
||||||
[[nodiscard]] int dalamudInjectDelay() const;
|
[[nodiscard]] int dalamudInjectDelay() const;
|
||||||
void setDalamudInjectDelay(int value);
|
void setDalamudInjectDelay(int value);
|
||||||
|
|
||||||
[[nodiscard]] bool argumentsEncrypted() const;
|
|
||||||
void setArgumentsEncrypted(bool value);
|
|
||||||
|
|
||||||
[[nodiscard]] Account *account() const;
|
[[nodiscard]] Account *account() const;
|
||||||
[[nodiscard]] QString accountUuid() const;
|
[[nodiscard]] QString accountUuid() const;
|
||||||
void setAccount(Account *account);
|
void setAccount(Account *account);
|
||||||
|
@ -175,7 +171,6 @@ Q_SIGNALS:
|
||||||
void dalamudChannelChanged();
|
void dalamudChannelChanged();
|
||||||
void dalamudInjectMethodChanged();
|
void dalamudInjectMethodChanged();
|
||||||
void dalamudInjectDelayChanged();
|
void dalamudInjectDelayChanged();
|
||||||
void encryptedArgumentsChanged();
|
|
||||||
void accountChanged();
|
void accountChanged();
|
||||||
void wineChanged();
|
void wineChanged();
|
||||||
void loggedInChanged();
|
void loggedInChanged();
|
||||||
|
|
|
@ -89,8 +89,5 @@ SPDX-License-Identifier: CC0-1.0
|
||||||
<entry key="DalamudInjectDelay" type="int">
|
<entry key="DalamudInjectDelay" type="int">
|
||||||
<default>0</default>
|
<default>0</default>
|
||||||
</entry>
|
</entry>
|
||||||
<entry key="EncryptArguments" type="bool">
|
|
||||||
<default>true</default>
|
|
||||||
</entry>
|
|
||||||
</group>
|
</group>
|
||||||
</kcfg>
|
</kcfg>
|
||||||
|
|
|
@ -222,14 +222,14 @@ QString LauncherCore::getGameArgs(const Profile &profile, const LoginAuth &auth)
|
||||||
gameArgs.push_back({QStringLiteral("IsSteam"), QStringLiteral("1")});
|
gameArgs.push_back({QStringLiteral("IsSteam"), QStringLiteral("1")});
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString argFormat = profile.argumentsEncrypted() ? QStringLiteral(" /%1 =%2") : QStringLiteral(" %1=%2");
|
const QString argFormat = argumentsEncrypted() ? QStringLiteral(" /%1 =%2") : QStringLiteral(" %1=%2");
|
||||||
|
|
||||||
QString argJoined;
|
QString argJoined;
|
||||||
for (const auto &arg : gameArgs) {
|
for (const auto &arg : gameArgs) {
|
||||||
argJoined += argFormat.arg(arg.key, arg.value);
|
argJoined += argFormat.arg(arg.key, arg.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return profile.argumentsEncrypted() ? encryptGameArg(argJoined) : argJoined;
|
return argumentsEncrypted() ? encryptGameArg(argJoined) : argJoined;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LauncherCore::launchExecutable(const Profile &profile, QProcess *process, const QStringList &args, bool isGame, bool needsRegistrySetup)
|
void LauncherCore::launchExecutable(const Profile &profile, QProcess *process, const QStringList &args, bool isGame, bool needsRegistrySetup)
|
||||||
|
@ -610,6 +610,20 @@ void LauncherCore::setPreferredProtocol(const QString &value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool LauncherCore::argumentsEncrypted() const
|
||||||
|
{
|
||||||
|
return Config::encryptArguments();
|
||||||
|
}
|
||||||
|
|
||||||
|
void LauncherCore::setArgumentsEncrypted(const bool value)
|
||||||
|
{
|
||||||
|
if (Config::encryptArguments() != value) {
|
||||||
|
Config::setEncryptArguments(value);
|
||||||
|
Config::self()->save();
|
||||||
|
Q_EMIT encryptedArgumentsChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[[nodiscard]] QString LauncherCore::autoLoginProfileName() const
|
[[nodiscard]] QString LauncherCore::autoLoginProfileName() const
|
||||||
{
|
{
|
||||||
return Config::autoLoginProfile();
|
return Config::autoLoginProfile();
|
||||||
|
|
|
@ -33,6 +33,22 @@ FormCard.FormCardPage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FormCard.FormHeader {
|
||||||
|
title: i18n("Launching")
|
||||||
|
}
|
||||||
|
|
||||||
|
FormCard.FormCard {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
FormCard.FormCheckDelegate {
|
||||||
|
id: encryptArgDelegate
|
||||||
|
|
||||||
|
text: i18n("Encrypt Game Arguments")
|
||||||
|
checked: LauncherCore.argumentsEncrypted
|
||||||
|
onCheckedChanged: LauncherCore.argumentsEncrypted = checked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
FormCard.FormHeader {
|
FormCard.FormHeader {
|
||||||
title: i18n("Servers")
|
title: i18n("Servers")
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,19 +65,6 @@ FormCard.FormCardPage {
|
||||||
|
|
||||||
FormCard.FormDelegateSeparator {
|
FormCard.FormDelegateSeparator {
|
||||||
above: directXDelegate
|
above: directXDelegate
|
||||||
below: encryptArgDelegate
|
|
||||||
}
|
|
||||||
|
|
||||||
FormCard.FormCheckDelegate {
|
|
||||||
id: encryptArgDelegate
|
|
||||||
|
|
||||||
text: i18n("Encrypt Game Arguments")
|
|
||||||
checked: page.profile.argumentsEncrypted
|
|
||||||
onCheckedChanged: page.profile.argumentsEncrypted = checked
|
|
||||||
}
|
|
||||||
|
|
||||||
FormCard.FormDelegateSeparator {
|
|
||||||
above: encryptArgDelegate
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FormCard.FormTextDelegate {
|
FormCard.FormTextDelegate {
|
||||||
|
|
Loading…
Add table
Reference in a new issue