aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-07-06 15:21:38 +0200
committerhjk <hjk@qt.io>2023-07-07 07:55:32 +0000
commite75b81b0a898062e61c2231508cca06568d57665 (patch)
tree5df5ed7e1498c9f11d470a36ee94d418aa27b6cc
parent382e003debfb8b2430ce09285e931ae66768c7d5 (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>
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp4
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp6
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp6
-rw-r--r--src/plugins/qtsupport/qtbuildaspects.cpp18
-rw-r--r--src/plugins/qtsupport/qtbuildaspects.h10
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;