[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 {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.