summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2022-06-09 11:44:41 +0200
committerMarco Bubke <marco.bubke@qt.io>2022-06-09 16:34:17 +0000
commit0bbeb9df7e79032cdac9b1819705ff3b4222bcaa (patch)
tree94929481e83c51b0eae488daa8e9b6739bbd0f91
parentb606483006fbeb325421a252ff5a8a7d8e764ac6 (diff)
downloadqt-creator-0bbeb9df7e79032cdac9b1819705ff3b4222bcaa.tar.gz
QmlDesigner: Add environment variable to activate project storage
QDS_ACTIVATE_PROJECT_STORAGE has to enable project storage updates. Change-Id: Ifc108b60ee248bb44b84247b3acf79fdfa0dd0ea Reviewed-by: Marco Bubke <marco.bubke@qt.io>
-rw-r--r--src/plugins/qmldesigner/qmldesignerprojectmanager.cpp33
1 files changed, 19 insertions, 14 deletions
diff --git a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
index 7777b79eef..ecbea3f528 100644
--- a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
+++ b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
@@ -307,24 +307,26 @@ QStringList qmlTypes(::ProjectExplorer::Target *target)
void QmlDesignerProjectManager::projectAdded(::ProjectExplorer::Project *project)
{
- m_projectData = std::make_unique<QmlDesignerProjectManagerProjectData>(m_imageCacheData->storage,
- project);
- m_projectData->activeTarget = project->activeTarget();
+ if (qEnvironmentVariableIsSet("QDS_ACTIVATE_PROJECT_STORAGE")) {
+ m_projectData = std::make_unique<QmlDesignerProjectManagerProjectData>(m_imageCacheData->storage,
+ project);
+ m_projectData->activeTarget = project->activeTarget();
- QObject::connect(project, &::ProjectExplorer::Project::fileListChanged, [&]() {
- fileListChanged();
- });
+ QObject::connect(project, &::ProjectExplorer::Project::fileListChanged, [&]() {
+ fileListChanged();
+ });
- QObject::connect(project, &::ProjectExplorer::Project::activeTargetChanged, [&](auto *target) {
- activeTargetChanged(target);
- });
+ QObject::connect(project,
+ &::ProjectExplorer::Project::activeTargetChanged,
+ [&](auto *target) { activeTargetChanged(target); });
- QObject::connect(project, &::ProjectExplorer::Project::aboutToRemoveTarget, [&](auto *target) {
- aboutToRemoveTarget(target);
- });
+ QObject::connect(project,
+ &::ProjectExplorer::Project::aboutToRemoveTarget,
+ [&](auto *target) { aboutToRemoveTarget(target); });
- if (auto target = project->activeTarget(); target)
- activeTargetChanged(target);
+ if (auto target = project->activeTarget(); target)
+ activeTargetChanged(target);
+ }
}
void QmlDesignerProjectManager::aboutToRemoveProject(::ProjectExplorer::Project *)
@@ -344,6 +346,9 @@ void QmlDesignerProjectManager::fileListChanged()
void QmlDesignerProjectManager::activeTargetChanged(ProjectExplorer::Target *target)
{
+ if (m_projectData)
+ return;
+
QObject::disconnect(m_projectData->activeTarget, nullptr, nullptr, nullptr);
m_projectData->activeTarget = target;