From 39cddf5d03eb6e7ca9afa1f68a5f61134629a2b4 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Mon, 17 Feb 2020 14:25:30 +0100 Subject: [PATCH] DebuggerAspect: Simplify handling of Qml debugging There should not be a need to have the linkQmlDebuggingLibrary Q_PROPERTY anymore. The property is added for the benefit of the DebuggerAspect, which can just check relevant BuildConfigurationAspect directly. Change-Id: Ic47ca9e26911e096564fe77bd14bebe959b4f116 Reviewed-by: Christian Stenger Reviewed-by: hjk Reviewed-by: Christian Kandeler --- .../cmakebuildconfiguration.cpp | 12 ------------ .../cmakebuildconfiguration.h | 7 ------- .../debugger/debuggerrunconfigurationaspect.cpp | 16 +++++++--------- .../qbsprojectmanager/qbsbuildconfiguration.cpp | 5 ----- .../qbsprojectmanager/qbsbuildconfiguration.h | 6 ------ .../qmakebuildconfiguration.cpp | 5 ----- .../qmakebuildconfiguration.h | 4 ---- 7 files changed, 7 insertions(+), 48 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index df0892eb26c..26eadbcbd08 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -195,12 +195,6 @@ bool CMakeBuildConfiguration::fromMap(const QVariantMap &map) return true; } - - - - - - FilePath CMakeBuildConfiguration::shadowBuildDirectory(const FilePath &projectFilePath, const Kit *k, const QString &bcName, @@ -382,12 +376,6 @@ void CMakeBuildConfiguration::setWarning(const QString &message) emit warningOccured(m_warning); } -bool CMakeBuildConfiguration::isQmlDebuggingEnabled() const -{ - return aspect()->setting() == TriState::Enabled; -} - - QString CMakeBuildConfiguration::error() const { return m_error; diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h index 9592fa41694..d267cc098d6 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h @@ -46,11 +46,6 @@ class CMakeBuildConfiguration final : public ProjectExplorer::BuildConfiguration { Q_OBJECT - // used in DebuggerRunConfigurationAspect - Q_PROPERTY(bool linkQmlDebuggingLibrary - READ isQmlDebuggingEnabled - NOTIFY configurationForCMakeChanged) - friend class ProjectExplorer::BuildConfigurationFactory; CMakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id); ~CMakeBuildConfiguration() final; @@ -96,8 +91,6 @@ private: void setError(const QString &message); void setWarning(const QString &message); - bool isQmlDebuggingEnabled() const; - CMakeConfig m_configurationForCMake; CMakeConfig m_initialConfiguration; QString m_error; diff --git a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp index 06cec3a92df..9317594fd9d 100644 --- a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp +++ b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp @@ -27,17 +27,18 @@ #include "debuggerconstants.h" +#include #include #include -#include +#include +#include +#include #include #include #include #include #include -#include -#include -#include +#include #include #include @@ -242,12 +243,9 @@ bool DebuggerRunConfigurationAspect::useQmlDebugger() const // // Try to find a build configuration to check whether qml debugging is enabled there - // (Using the Qt metatype system to avoid a hard build system dependency) - // if (BuildConfiguration *bc = m_target->activeBuildConfiguration()) { - const QVariant linkProperty = bc->property("linkQmlDebuggingLibrary"); - if (linkProperty.isValid() && linkProperty.canConvert(QVariant::Bool)) - return linkProperty.toBool(); + const auto aspect = bc->aspect(); + return aspect && aspect->setting() == TriState::Enabled; } return !languages.contains(ProjectExplorer::Constants::CXX_LANGUAGE_ID); diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index f2aac00591b..eb6be29f104 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -311,11 +311,6 @@ QString QbsBuildConfiguration::equivalentCommandLine(const QbsBuildStepData &ste return commandLine.arguments(); } -bool QbsBuildConfiguration::isQmlDebuggingEnabled() const -{ - return qmlDebuggingSetting() == TriState::Enabled; -} - TriState QbsBuildConfiguration::qmlDebuggingSetting() const { return aspect()->setting(); diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h index 96b66e2f47a..4f9454ea1c3 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h @@ -61,11 +61,6 @@ class QbsBuildConfiguration final : public ProjectExplorer::BuildConfiguration { Q_OBJECT - // used in DebuggerRunConfigurationAspect - Q_PROPERTY(bool linkQmlDebuggingLibrary - READ isQmlDebuggingEnabled - NOTIFY qbsConfigurationChanged) - friend class ProjectExplorer::BuildConfigurationFactory; QbsBuildConfiguration(ProjectExplorer::Target *target, Core::Id id); ~QbsBuildConfiguration() final; @@ -90,7 +85,6 @@ public: QString configurationName() const; QString equivalentCommandLine(const QbsBuildStepData &stepData) const; - bool isQmlDebuggingEnabled() const; ProjectExplorer::TriState qmlDebuggingSetting() const; ProjectExplorer::TriState qtQuickCompilerSetting() const; ProjectExplorer::TriState separateDebugInfoSetting() const; diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index f0eff15cc3f..32b7b3c9c30 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -427,11 +427,6 @@ TriState QmakeBuildConfiguration::qmlDebugging() const return aspect()->setting(); } -bool QmakeBuildConfiguration::linkQmlDebuggingLibrary() const -{ - return qmlDebugging() == TriState::Enabled; -} - void QmakeBuildConfiguration::forceQmlDebugging(bool enable) { aspect()->setSetting(enable ? TriState::Enabled : TriState::Disabled); diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h index 53d92c3c59c..058af3e7965 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h @@ -44,9 +44,6 @@ class QMAKEPROJECTMANAGER_EXPORT QmakeBuildConfiguration : public ProjectExplore { Q_OBJECT - // used in DebuggerRunConfigurationAspect - Q_PROPERTY(bool linkQmlDebuggingLibrary READ linkQmlDebuggingLibrary NOTIFY qmlDebuggingChanged) - public: QmakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id); ~QmakeBuildConfiguration() override; @@ -103,7 +100,6 @@ public: void forceSeparateDebugInfo(bool sepDebugInfo); ProjectExplorer::TriState qmlDebugging() const; - bool linkQmlDebuggingLibrary() const; void forceQmlDebugging(bool enable); ProjectExplorer::TriState useQtQuickCompiler() const;