diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index c1b34bf2adb..645f22e17db 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -1361,21 +1361,26 @@ TriStateAspect::TriStateAspect(const QString onString, const QString &offString, const QString &defaultString) { setDisplayStyle(DisplayStyle::ComboBox); - setSetting(TriState::Default); - setDefaultValue(2); + setValue(TriState::Default); + setDefaultValue(TriState::Default); addOption(onString); addOption(offString); addOption(defaultString); } -TriState TriStateAspect::setting() const +TriState TriStateAspect::value() const { - return TriState::fromVariant(value()); + return TriState::fromVariant(BaseAspect::value()); } -void TriStateAspect::setSetting(TriState setting) +void TriStateAspect::setValue(TriState value) { - setValue(setting.toVariant().toInt()); + BaseAspect::setValue(value.toVariant()); +} + +void TriStateAspect::setDefaultValue(TriState value) +{ + BaseAspect::setDefaultValue(value.toVariant()); } const TriState TriState::Enabled{TriState::EnabledValue}; diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h index 0bdecdbd605..7a21b29e4bd 100644 --- a/src/libs/utils/aspects.h +++ b/src/libs/utils/aspects.h @@ -365,8 +365,9 @@ public: const QString &offString = tr("Disable"), const QString &defaultString = tr("Leave at Default")); - TriState setting() const; - void setSetting(TriState setting); + TriState value() const; + void setValue(TriState setting); + void setDefaultValue(TriState setting); }; class QTCREATOR_UTILS_EXPORT StringListAspect : public BaseAspect diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 779d7d53b35..c6e9dd0a759 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -503,10 +503,10 @@ void CMakeBuildSettingsWidget::updateFromKit() CMakeConfig CMakeBuildSettingsWidget::getQmlDebugCxxFlags() { const auto aspect = m_buildConfiguration->aspect(); - const TriState qmlDebuggingState = aspect->setting(); + const TriState qmlDebuggingState = aspect->value(); if (qmlDebuggingState == TriState::Default) // don't touch anything return {}; - const bool enable = aspect->setting() == TriState::Enabled; + const bool enable = aspect->value() == TriState::Enabled; const CMakeConfig configList = m_buildConfiguration->configurationFromCMake(); const QByteArrayList cxxFlags{"CMAKE_CXX_FLAGS", "CMAKE_CXX_FLAGS_DEBUG", diff --git a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp index 2111dd5d6ab..9c998c0093f 100644 --- a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp +++ b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp @@ -249,7 +249,7 @@ bool DebuggerRunConfigurationAspect::useQmlDebugger() const // Try to find a build configuration to check whether qml debugging is enabled there if (BuildConfiguration *bc = m_target->activeBuildConfiguration()) { const auto aspect = bc->aspect(); - return aspect && aspect->setting() == TriState::Enabled; + return aspect && aspect->value() == TriState::Enabled; } return !languages.contains(ProjectExplorer::Constants::CXX_LANGUAGE_ID); diff --git a/src/plugins/projectexplorer/buildaspects.cpp b/src/plugins/projectexplorer/buildaspects.cpp index f3a84246124..c8f51a4dffa 100644 --- a/src/plugins/projectexplorer/buildaspects.cpp +++ b/src/plugins/projectexplorer/buildaspects.cpp @@ -136,7 +136,7 @@ SeparateDebugInfoAspect::SeparateDebugInfoAspect() { setDisplayName(tr("Separate debug info:")); setSettingsKey("SeparateDebugInfo"); - setSetting(ProjectExplorerPlugin::buildPropertiesSettings().separateDebugInfo); + setValue(ProjectExplorerPlugin::buildPropertiesSettings().separateDebugInfo); } } // namespace ProjectExplorer diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index 5dff4d1b414..4475cda94ff 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -317,17 +317,17 @@ QString QbsBuildConfiguration::equivalentCommandLine(const QbsBuildStepData &ste TriState QbsBuildConfiguration::qmlDebuggingSetting() const { - return aspect()->setting(); + return aspect()->value(); } TriState QbsBuildConfiguration::qtQuickCompilerSetting() const { - return aspect()->setting(); + return aspect()->value(); } TriState QbsBuildConfiguration::separateDebugInfoSetting() const { - return aspect()->setting(); + return aspect()->value(); } // --------------------------------------------------------------------------- diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index a24602ad8c7..3e0db04afd6 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -143,9 +143,9 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Utils::Id id) if (!additionalArguments.isEmpty()) qmakeStep->setUserArguments(additionalArguments); - aspect()->setSetting(qmakeExtra.config.separateDebugInfo); - aspect()->setSetting(qmakeExtra.config.linkQmlDebuggingQQ2); - aspect()->setSetting(qmakeExtra.config.useQtQuickCompiler); + aspect()->setValue(qmakeExtra.config.separateDebugInfo); + aspect()->setValue(qmakeExtra.config.linkQmlDebuggingQQ2); + aspect()->setValue(qmakeExtra.config.useQtQuickCompiler); setQMakeBuildConfiguration(config); @@ -422,44 +422,43 @@ bool QmakeBuildConfiguration::isBuildDirAtSafeLocation() const TriState QmakeBuildConfiguration::separateDebugInfo() const { - return aspect()->setting(); + return aspect()->value(); } void QmakeBuildConfiguration::forceSeparateDebugInfo(bool sepDebugInfo) { - aspect()->setSetting(sepDebugInfo - ? TriState::Enabled - : TriState::Disabled); + aspect()->setValue(sepDebugInfo + ? TriState::Enabled + : TriState::Disabled); } TriState QmakeBuildConfiguration::qmlDebugging() const { - return aspect()->setting(); + return aspect()->value(); } void QmakeBuildConfiguration::forceQmlDebugging(bool enable) { - aspect()->setSetting(enable ? TriState::Enabled : TriState::Disabled); + aspect()->setValue(enable ? TriState::Enabled : TriState::Disabled); } TriState QmakeBuildConfiguration::useQtQuickCompiler() const { - return aspect()->setting(); + return aspect()->value(); } void QmakeBuildConfiguration::forceQtQuickCompiler(bool enable) { - aspect()->setSetting(enable ? TriState::Enabled : TriState::Disabled); + aspect()->setValue(enable ? TriState::Enabled : TriState::Disabled); } bool QmakeBuildConfiguration::runSystemFunction() const { - switch (aspect()->value()) { - case 0: + const TriState runSystem = aspect()->value(); + if (runSystem == TriState::Enabled) return true; - case 1: + if (runSystem == TriState::Disabled) return false; - } return QmakeSettings::runSystemFunction(); } diff --git a/src/plugins/qtsupport/qtbuildaspects.cpp b/src/plugins/qtsupport/qtbuildaspects.cpp index a31c981721b..d1dab4c943c 100644 --- a/src/plugins/qtsupport/qtbuildaspects.cpp +++ b/src/plugins/qtsupport/qtbuildaspects.cpp @@ -46,7 +46,7 @@ QmlDebuggingAspect::QmlDebuggingAspect() { setSettingsKey("EnableQmlDebugging"); setDisplayName(tr("QML debugging and profiling:")); - setSetting(ProjectExplorerPlugin::buildPropertiesSettings().qmlDebugging); + setValue(ProjectExplorerPlugin::buildPropertiesSettings().qmlDebugging); } void QmlDebuggingAspect::addToLayout(LayoutBuilder &builder) @@ -59,8 +59,8 @@ void QmlDebuggingAspect::addToLayout(LayoutBuilder &builder) QString warningText; const bool supported = m_kit && BaseQtVersion::isQmlDebuggingSupported(m_kit, &warningText); if (!supported) { - setSetting(TriState::Default); - } else if (setting() == TriState::Enabled) { + setValue(TriState::Default); + } else if (value() == TriState::Enabled) { warningText = tr("Might make your application vulnerable.
" "Only use in a safe environment."); } @@ -78,7 +78,7 @@ QtQuickCompilerAspect::QtQuickCompilerAspect() { setSettingsKey("QtQuickCompiler"); setDisplayName(tr("Qt Quick Compiler:")); - setSetting(ProjectExplorerPlugin::buildPropertiesSettings().qtQuickCompiler); + setValue(ProjectExplorerPlugin::buildPropertiesSettings().qtQuickCompiler); } void QtQuickCompilerAspect::addToLayout(LayoutBuilder &builder) @@ -92,9 +92,9 @@ void QtQuickCompilerAspect::addToLayout(LayoutBuilder &builder) const bool supported = m_kit && BaseQtVersion::isQtQuickCompilerSupported(m_kit, &warningText); if (!supported) - setSetting(TriState::Default); - if (setting() == TriState::Enabled - && m_qmlDebuggingAspect && m_qmlDebuggingAspect->setting() == TriState::Enabled) { + setValue(TriState::Default); + if (value() == TriState::Enabled + && m_qmlDebuggingAspect && m_qmlDebuggingAspect->value() == TriState::Enabled) { warningText = tr("Disables QML debugging. QML profiling will still work."); } warningLabel->setText(warningText);