[games/chessament] src: Hide experimental features when they were disabled at compile time
Manuel Alcaraz Zambrano <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 39d51fcca257fe947ad5bfcdd1c6490e50f48d17 by Manuel Alcaraz Zambrano.
Committed on 15/08/2026 at 15:51.
Pushed by manuelal into branch 'master'.
Hide experimental features when they were disabled at compile time
M +9 -0 src/controller.cpp
M +4 -0 src/controller.h
M +2 -1 src/qml/PlayersPage.qml
M +1 -1 src/qml/TournamentSettings.qml
M +1 -1 src/settings/ChessamentConfigurationView.qml
https://invent.kde.org/games/chessament/-/commit/39d51fcca257fe947ad5bfcdd1c6490e50f48d17
diff --git a/src/controller.cpp b/src/controller.cpp
index d340d4d..d57f104 100644
--- a/src/controller.cpp
+++ b/src/controller.cpp
@@ -46,6 +46,15 @@ Controller::Controller(QObject *parent)
#endif
}
+constexpr bool Controller::experimental()
+{
+#ifdef BUILD_EXPERIMENTAL
+ return true;
+#else
+ return false;
+#endif
+}
+
Event *Controller::getEvent() const
{
return m_event.get();
diff --git a/src/controller.h b/src/controller.h
index 6e9894e..afd8225 100644
--- a/src/controller.h
+++ b/src/controller.h
@@ -36,6 +36,8 @@ class Controller : public QObject
Q_PROPERTY(PairingModel *pairingModel READ pairingModel CONSTANT)
Q_PROPERTY(StandingsModel *standingsModel READ standingsModel CONSTANT)
+ Q_PROPERTY(bool experimental READ experimental CONSTANT)
+
#ifdef BUILD_EXPERIMENTAL
Q_PROPERTY(AccountManager *accounts READ accountManager CONSTANT)
#endif
@@ -90,6 +92,8 @@ public:
[[nodiscard]] PairingModel *pairingModel() const;
[[nodiscard]] StandingsModel *standingsModel() const;
+ [[nodiscard]] constexpr static bool experimental();
+
#ifdef BUILD_EXPERIMENTAL
[[nodiscard]] AccountManager *accountManager() const;
Q_INVOKABLE void uploadTournament();
diff --git a/src/qml/PlayersPage.qml b/src/qml/PlayersPage.qml
index 1cf6289..5fe8ed4 100644
--- a/src/qml/PlayersPage.qml
+++ b/src/qml/PlayersPage.qml
@@ -123,7 +123,8 @@ TablePage {
Kirigami.Action {
icon.name: "view-refresh-symbolic"
text: KI18n.i18nc("@action Update players ratings", "Update ratings…")
- enabled: Config.developer && root.tableView.rows > 0
+ visible: Config.developer
+ enabled: root.tableView.rows > 0
onTriggered: {
const dialog = Qt.createComponent("org.kde.chessament", "UpdateRatingsDialog").createObject(root.Controls.ApplicationWindow.window, {}) as UpdateRatingsDialog;
dialog.open();
diff --git a/src/qml/TournamentSettings.qml b/src/qml/TournamentSettings.qml
index 243d9d0..4f847da 100644
--- a/src/qml/TournamentSettings.qml
+++ b/src/qml/TournamentSettings.qml
@@ -34,7 +34,7 @@ KirigamiSettings.ConfigurationView {
moduleId: "cloud"
text: "Cloud"
icon.name: "cloudstatus-symbolic"
- visible: Config.developer
+ visible: Controller.experimental
page: () => Qt.createComponent("org.kde.chessament", "TournamentSettingsCloud")
}
]
diff --git a/src/settings/ChessamentConfigurationView.qml b/src/settings/ChessamentConfigurationView.qml
index aee2e40..0547ee6 100644
--- a/src/settings/ChessamentConfigurationView.qml
+++ b/src/settings/ChessamentConfigurationView.qml
@@ -31,7 +31,7 @@ KirigamiSettings.ConfigurationView {
moduleId: "accounts"
text: KI18n.i18nc("@action:button", "Accounts")
icon.name: "system-users-symbolic"
- visible: Config.developer
+ visible: Controller.experimental
page: () => Qt.createComponent("org.kde.chessament.settings", "AccountsPage")
initialProperties: () => {
return {