forked from qt-creator/qt-creator
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:
@@ -307,6 +307,7 @@ QStringList qmlTypes(::ProjectExplorer::Target *target)
|
||||
|
||||
void QmlDesignerProjectManager::projectAdded(::ProjectExplorer::Project *project)
|
||||
{
|
||||
if (qEnvironmentVariableIsSet("QDS_ACTIVATE_PROJECT_STORAGE")) {
|
||||
m_projectData = std::make_unique<QmlDesignerProjectManagerProjectData>(m_imageCacheData->storage,
|
||||
project);
|
||||
m_projectData->activeTarget = project->activeTarget();
|
||||
@@ -315,17 +316,18 @@ void QmlDesignerProjectManager::projectAdded(::ProjectExplorer::Project *project
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
|
Reference in New Issue
Block a user