From e3b5a16bc3c149b1ae0085f2780bfcd0499f6b78 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Mon, 12 May 2025 15:41:12 +0200 Subject: [PATCH] QmlDesigner: introduce QTC_SHOW_QTQUICKDESIGNER_DEVELOPER_UI Having these settings only in debug builds was annoying for developer. Because debug builds of Qt Design Studio are unusable slow. Change-Id: I3b959e1ff1655115c53ddbf8ba748df7cdfb6204 Reviewed-by: Thomas Hartmann --- .../coreplugin/dialogs/settingsdialog.cpp | 16 +++++++--------- src/plugins/qmldesigner/settingspage.cpp | 10 +++++----- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp index 6ca8b7d8f06..192210d0286 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp @@ -9,6 +9,7 @@ #include "../iwizardfactory.h" #include +#include #include #include #include @@ -253,16 +254,13 @@ protected: static bool categoryVisible([[maybe_unused]] const Id &id) { -#ifdef QT_NO_DEBUG + if (!Utils::qtcEnvironmentVariableIsSet("QTC_SHOW_QTQUICKDESIGNER_DEVELOPER_UI")) { + static QStringList list + = Core::ICore::settings()->value("HideOptionCategories").toStringList(); - static QStringList list - = Core::ICore::settings()->value("HideOptionCategories").toStringList(); - - if (anyOf(list, [id](const QString &str) { return id.toString().contains(str); })) - return false; -#else - Q_UNUSED(id); -#endif + if (anyOf(list, [id](const QString &str) { return id.toString().contains(str); })) + return false; + } return true; } diff --git a/src/plugins/qmldesigner/settingspage.cpp b/src/plugins/qmldesigner/settingspage.cpp index 2f81aa30d60..5d4b598e126 100644 --- a/src/plugins/qmldesigner/settingspage.cpp +++ b/src/plugins/qmldesigner/settingspage.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -463,11 +464,10 @@ void SettingsPageWidget::setSettings(const DesignerSettings &settings) m_askBeforeDeletingAssetCheckBox->setChecked( settings.value(DesignerSettingsKey::ASK_BEFORE_DELETING_ASSET).toBool()); -#ifdef QT_DEBUG - const auto showDebugSettings = true; -#else - const auto showDebugSettings = settings.value(DesignerSettingsKey::SHOW_DEBUG_SETTINGS).toBool(); -#endif + const auto showDebugSettings = settings.value(DesignerSettingsKey::SHOW_DEBUG_SETTINGS, + Utils::qtcEnvironmentVariableIsSet("QTC_SHOW_QTQUICKDESIGNER_DEVELOPER_UI") + ).toBool(); + const bool showAdvancedFeatures = !Core::ICore::isQtDesignStudio() || showDebugSettings; m_qmlPuppetGroupBox->setVisible(showAdvancedFeatures); m_debugGroupBox->setVisible(showAdvancedFeatures);