diff options
author | Marco Bubke <marco.bubke@qt.io> | 2022-06-09 11:44:41 +0200 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2022-06-09 16:34:17 +0000 |
commit | 0bbeb9df7e79032cdac9b1819705ff3b4222bcaa (patch) | |
tree | 94929481e83c51b0eae488daa8e9b6739bbd0f91 | |
parent | b606483006fbeb325421a252ff5a8a7d8e764ac6 (diff) | |
download | qt-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.cpp | 33 |
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; |