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,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;
|
||||||
|
Reference in New Issue
Block a user