diff options
author | hjk <hjk@qt.io> | 2023-07-06 15:21:38 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-07-07 07:55:32 +0000 |
commit | e75b81b0a898062e61c2231508cca06568d57665 (patch) | |
tree | 5df5ed7e1498c9f11d470a36ee94d418aa27b6cc | |
parent | 382e003debfb8b2430ce09285e931ae66768c7d5 (diff) |
QtSupport: Use current aspect ctor pattern for Qml related aspect
Task-number: QTCREATORBUG-29168
Change-Id: I3779ed4075dc98ccafc2490009d1217e908ad83c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
5 files changed, 32 insertions, 12 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 4b11176e73..93cb3f88cd 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -1439,7 +1439,9 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id) addAspect<SourceDirectoryAspect>(); addAspect<BuildTypeAspect>(); - addAspect<QtSupport::QmlDebuggingAspect>(this); + + auto qmlDebuggingAspect = addAspect<QtSupport::QmlDebuggingAspect>(); + qmlDebuggingAspect->setBuildConfiguration(this); addAspect<ConfigureEnvironmentAspect>(this); diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index 41ae75d8b9..52dd6fb993 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -118,11 +118,13 @@ QbsBuildConfiguration::QbsBuildConfiguration(Target *target, Utils::Id id) connect(separateDebugInfoAspect, &SeparateDebugInfoAspect::changed, this, &QbsBuildConfiguration::qbsConfigurationChanged); - const auto qmlDebuggingAspect = addAspect<QtSupport::QmlDebuggingAspect>(this); + const auto qmlDebuggingAspect = addAspect<QtSupport::QmlDebuggingAspect>(); + qmlDebuggingAspect->setBuildConfiguration(this); connect(qmlDebuggingAspect, &QtSupport::QmlDebuggingAspect::changed, this, &QbsBuildConfiguration::qbsConfigurationChanged); - const auto qtQuickCompilerAspect = addAspect<QtSupport::QtQuickCompilerAspect>(this); + const auto qtQuickCompilerAspect = addAspect<QtSupport::QtQuickCompilerAspect>(); + qtQuickCompilerAspect->setBuildConfiguration(this); connect(qtQuickCompilerAspect, &QtSupport::QtQuickCompilerAspect::changed, this, &QbsBuildConfiguration::qbsConfigurationChanged); diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index c494f5544a..f4a56b6b17 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -173,14 +173,16 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Id id) qmakeBuildSystem()->scheduleUpdateAllNowOrLater(); }); - const auto qmlDebuggingAspect = addAspect<QmlDebuggingAspect>(this); + const auto qmlDebuggingAspect = addAspect<QmlDebuggingAspect>(); + qmlDebuggingAspect->setBuildConfiguration(this); connect(qmlDebuggingAspect, &QmlDebuggingAspect::changed, this, [this] { emit qmlDebuggingChanged(); emit qmakeBuildConfigurationChanged(); qmakeBuildSystem()->scheduleUpdateAllNowOrLater(); }); - const auto qtQuickCompilerAspect = addAspect<QtQuickCompilerAspect>(this); + const auto qtQuickCompilerAspect = addAspect<QtQuickCompilerAspect>(); + qtQuickCompilerAspect->setBuildConfiguration(this); connect(qtQuickCompilerAspect, &QtQuickCompilerAspect::changed, this, [this] { emit useQtQuickCompilerChanged(); emit qmakeBuildConfigurationChanged(); diff --git a/src/plugins/qtsupport/qtbuildaspects.cpp b/src/plugins/qtsupport/qtbuildaspects.cpp index 210ea58ee5..55f47d8ac5 100644 --- a/src/plugins/qtsupport/qtbuildaspects.cpp +++ b/src/plugins/qtsupport/qtbuildaspects.cpp @@ -22,8 +22,8 @@ using namespace Utils; namespace QtSupport { -QmlDebuggingAspect::QmlDebuggingAspect(BuildConfiguration *buildConfig) - : m_buildConfig(buildConfig) +QmlDebuggingAspect::QmlDebuggingAspect(AspectContainer *container) + : TriStateAspect(container) { setSettingsKey("EnableQmlDebugging"); setDisplayName(Tr::tr("QML debugging and profiling:")); @@ -59,14 +59,24 @@ void QmlDebuggingAspect::addToLayout(Layouting::LayoutItem &parent) changeHandler(); } -QtQuickCompilerAspect::QtQuickCompilerAspect(BuildConfiguration *buildConfig) - : m_buildConfig(buildConfig) +void QmlDebuggingAspect::setBuildConfiguration(const BuildConfiguration *buildConfig) +{ + m_buildConfig = buildConfig; +} + +QtQuickCompilerAspect::QtQuickCompilerAspect(AspectContainer *container) + : TriStateAspect(container) { setSettingsKey("QtQuickCompiler"); setDisplayName(Tr::tr("Qt Quick Compiler:")); setValue(ProjectExplorerPlugin::buildPropertiesSettings().qtQuickCompiler.value()); } +void QtQuickCompilerAspect::setBuildConfiguration(const BuildConfiguration *buildConfig) +{ + m_buildConfig = buildConfig; +} + void QtQuickCompilerAspect::addToLayout(Layouting::LayoutItem &parent) { SelectionAspect::addToLayout(parent); diff --git a/src/plugins/qtsupport/qtbuildaspects.h b/src/plugins/qtsupport/qtbuildaspects.h index e5e0b3332e..873daf000d 100644 --- a/src/plugins/qtsupport/qtbuildaspects.h +++ b/src/plugins/qtsupport/qtbuildaspects.h @@ -16,11 +16,13 @@ class QTSUPPORT_EXPORT QmlDebuggingAspect : public Utils::TriStateAspect Q_OBJECT public: - explicit QmlDebuggingAspect(ProjectExplorer::BuildConfiguration *buildConfig); + explicit QmlDebuggingAspect(Utils::AspectContainer *container = nullptr); - void addToLayout(Layouting::LayoutItem &parent) override; + void setBuildConfiguration(const ProjectExplorer::BuildConfiguration *newBuildConfig); private: + void addToLayout(Layouting::LayoutItem &parent) override; + const ProjectExplorer::BuildConfiguration *m_buildConfig = nullptr; }; @@ -29,7 +31,9 @@ class QTSUPPORT_EXPORT QtQuickCompilerAspect : public Utils::TriStateAspect Q_OBJECT public: - QtQuickCompilerAspect(ProjectExplorer::BuildConfiguration *buildConfig); + QtQuickCompilerAspect(Utils::AspectContainer *container = nullptr); + + void setBuildConfiguration(const ProjectExplorer::BuildConfiguration *newBuildConfig); private: void addToLayout(Layouting::LayoutItem &parent) override; |