1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-23 12:57:45 +00:00

Add an option to hide and show the dev tools

This commit is contained in:
Joshua Goins 2023-08-19 11:20:47 -04:00
parent f14058afe9
commit 46a74830fd
5 changed files with 37 additions and 0 deletions

View file

@ -17,6 +17,9 @@ SPDX-License-Identifier: CC0-1.0
</entry> </entry>
<entry name="AutoLogin" type="string"> <entry name="AutoLogin" type="string">
</entry> </entry>
<entry name="ShowDevTools" type="bool">
<default>false</default>
</entry>
<entry name="KeepPatches" type="bool"> <entry name="KeepPatches" type="bool">
<default>false</default> <default>false</default>
</entry> </entry>

View file

@ -64,6 +64,7 @@ class LauncherCore : public QObject
Q_PROPERTY(AccountManager *accountManager READ accountManager CONSTANT) Q_PROPERTY(AccountManager *accountManager READ accountManager CONSTANT)
Q_PROPERTY(bool closeWhenLaunched READ closeWhenLaunched WRITE setCloseWhenLaunched NOTIFY closeWhenLaunchedChanged) Q_PROPERTY(bool closeWhenLaunched READ closeWhenLaunched WRITE setCloseWhenLaunched NOTIFY closeWhenLaunchedChanged)
Q_PROPERTY(bool showNews READ showNews WRITE setShowNews NOTIFY showNewsChanged) Q_PROPERTY(bool showNews READ showNews WRITE setShowNews NOTIFY showNewsChanged)
Q_PROPERTY(bool showDevTools READ showDevTools WRITE setShowDevTools NOTIFY showDevToolsChanged)
Q_PROPERTY(bool keepPatches READ keepPatches WRITE setKeepPatches NOTIFY keepPatchesChanged) Q_PROPERTY(bool keepPatches READ keepPatches WRITE setKeepPatches NOTIFY keepPatchesChanged)
Q_PROPERTY(QString dalamudDistribServer READ dalamudDistribServer WRITE setDalamudDistribServer NOTIFY dalamudDistribServerChanged) Q_PROPERTY(QString dalamudDistribServer READ dalamudDistribServer WRITE setDalamudDistribServer NOTIFY dalamudDistribServerChanged)
Q_PROPERTY(QString squareEnixServer READ squareEnixServer WRITE setSquareEnixServer NOTIFY squareEnixServerChanged) Q_PROPERTY(QString squareEnixServer READ squareEnixServer WRITE setSquareEnixServer NOTIFY squareEnixServerChanged)
@ -125,6 +126,9 @@ public:
bool showNews() const; bool showNews() const;
void setShowNews(bool value); void setShowNews(bool value);
bool showDevTools() const;
void setShowDevTools(bool value);
bool keepPatches() const; bool keepPatches() const;
void setKeepPatches(bool value); void setKeepPatches(bool value);
@ -165,6 +169,7 @@ signals:
void gameClosed(); void gameClosed();
void closeWhenLaunchedChanged(); void closeWhenLaunchedChanged();
void showNewsChanged(); void showNewsChanged();
void showDevToolsChanged();
void keepPatchesChanged(); void keepPatchesChanged();
void dalamudDistribServerChanged(); void dalamudDistribServerChanged();
void squareEnixServerChanged(); void squareEnixServerChanged();

View file

@ -504,6 +504,20 @@ void LauncherCore::setShowNews(const bool value)
} }
} }
bool LauncherCore::showDevTools() const
{
return Config::showDevTools();
}
void LauncherCore::setShowDevTools(const bool value)
{
if (value != Config::showDevTools()) {
Config::setShowDevTools(value);
Config::self()->save();
Q_EMIT showDevToolsChanged();
}
}
bool LauncherCore::keepPatches() const bool LauncherCore::keepPatches() const
{ {
return Config::keepPatches(); return Config::keepPatches();

View file

@ -37,5 +37,18 @@ FormCard.FormCardPage {
checked: LauncherCore.showNews checked: LauncherCore.showNews
onCheckedChanged: LauncherCore.showNews = checked onCheckedChanged: LauncherCore.showNews = checked
} }
FormCard.FormDelegateSeparator {
above: showNewsDelegate
below: showDevToolsDelegate
}
FormCard.FormCheckDelegate {
id: showDevToolsDelegate
text: i18n("Show Developer Settings")
checked: LauncherCore.showDevTools
onCheckedChanged: LauncherCore.showDevTools = checked
}
} }
} }

View file

@ -5,6 +5,7 @@ import QtQuick 2.15
import org.kde.kirigami 2.18 as Kirigami import org.kde.kirigami 2.18 as Kirigami
import org.kde.kirigamiaddons.settings 1.0 as KirigamiSettings import org.kde.kirigamiaddons.settings 1.0 as KirigamiSettings
import QtQuick.Layouts 1.15 import QtQuick.Layouts 1.15
import zone.xiv.astra 1.0
KirigamiSettings.CategorizedSettings { KirigamiSettings.CategorizedSettings {
id: settingsPage id: settingsPage
@ -39,6 +40,7 @@ KirigamiSettings.CategorizedSettings {
text: i18n("Developer Settings") text: i18n("Developer Settings")
icon.name: "preferences-others" icon.name: "preferences-others"
page: Qt.resolvedUrl("DeveloperSettings.qml") page: Qt.resolvedUrl("DeveloperSettings.qml")
visible: LauncherCore.showDevTools
}, },
KirigamiSettings.SettingAction { KirigamiSettings.SettingAction {
actionName: "about" actionName: "about"