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>
This commit is contained in:
Marco Bubke
2022-06-09 11:44:41 +02:00
parent b606483006
commit 0bbeb9df7e

View File

@@ -307,24 +307,26 @@ QStringList qmlTypes(::ProjectExplorer::Target *target)
void QmlDesignerProjectManager::projectAdded(::ProjectExplorer::Project *project) void QmlDesignerProjectManager::projectAdded(::ProjectExplorer::Project *project)
{ {
m_projectData = std::make_unique<QmlDesignerProjectManagerProjectData>(m_imageCacheData->storage, if (qEnvironmentVariableIsSet("QDS_ACTIVATE_PROJECT_STORAGE")) {
project); m_projectData = std::make_unique<QmlDesignerProjectManagerProjectData>(m_imageCacheData->storage,
m_projectData->activeTarget = project->activeTarget(); project);
m_projectData->activeTarget = project->activeTarget();
QObject::connect(project, &::ProjectExplorer::Project::fileListChanged, [&]() { QObject::connect(project, &::ProjectExplorer::Project::fileListChanged, [&]() {
fileListChanged(); fileListChanged();
}); });
QObject::connect(project, &::ProjectExplorer::Project::activeTargetChanged, [&](auto *target) { QObject::connect(project,
activeTargetChanged(target); &::ProjectExplorer::Project::activeTargetChanged,
}); [&](auto *target) { activeTargetChanged(target); });
QObject::connect(project, &::ProjectExplorer::Project::aboutToRemoveTarget, [&](auto *target) { QObject::connect(project,
aboutToRemoveTarget(target); &::ProjectExplorer::Project::aboutToRemoveTarget,
}); [&](auto *target) { aboutToRemoveTarget(target); });
if (auto target = project->activeTarget(); target) if (auto target = project->activeTarget(); target)
activeTargetChanged(target); activeTargetChanged(target);
}
} }
void QmlDesignerProjectManager::aboutToRemoveProject(::ProjectExplorer::Project *) void QmlDesignerProjectManager::aboutToRemoveProject(::ProjectExplorer::Project *)
@@ -344,6 +346,9 @@ void QmlDesignerProjectManager::fileListChanged()
void QmlDesignerProjectManager::activeTargetChanged(ProjectExplorer::Target *target) void QmlDesignerProjectManager::activeTargetChanged(ProjectExplorer::Target *target)
{ {
if (m_projectData)
return;
QObject::disconnect(m_projectData->activeTarget, nullptr, nullptr, nullptr); QObject::disconnect(m_projectData->activeTarget, nullptr, nullptr, nullptr);
m_projectData->activeTarget = target; m_projectData->activeTarget = target;