Qbs: Move updating of files from a project to own method

Change-Id: I88b41ff450dac4e0c2e5a34e3332e559c1919e6e
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Tobias Hunger
2014-06-24 12:06:13 +02:00
parent 53bfe6e0d8
commit 21cccaa1c9
4 changed files with 41 additions and 22 deletions

View File

@@ -291,22 +291,11 @@ void QbsProject::handleQbsParsingDone(bool success)
m_qbsUpdateFutureInterface = 0;
}
if (project.isValid()) {
// Do not throw away data when parsing errors were introduced. That frightens users:-)
m_rootProjectNode->update(project);
if (project.isValid())
m_rootProjectNode->setProject(project);
updateDocuments(project.isValid() ? project.buildSystemFiles() : QSet<QString>() << m_fileName);
readQbsData();
updateCppCodeModel(m_rootProjectNode->qbsProjectData());
updateQmlJsCodeModel(m_rootProjectNode->qbsProjectData());
updateApplicationTargets(m_rootProjectNode->qbsProjectData());
updateDeploymentInfo(m_rootProjectNode->qbsProject());
foreach (Target *t, targets())
t->updateDefaultRunConfigurations();
emit fileListChanged();
}
emit projectParsingDone(success);
}
@@ -361,6 +350,28 @@ void QbsProject::delayForcedParsing()
delayParsing();
}
// Qbs may change its data
void QbsProject::readQbsData()
{
QTC_ASSERT(m_rootProjectNode, return);
m_rootProjectNode->update();
qbs::Project project = m_rootProjectNode->qbsProject();
updateDocuments(project.isValid() ? project.buildSystemFiles() : QSet<QString>() << m_fileName);
qbs::ProjectData data = m_rootProjectNode->qbsProjectData();
updateCppCodeModel(data);
updateQmlJsCodeModel(data);
updateApplicationTargets(data);
updateDeploymentInfo(project);
foreach (Target *t, targets())
t->updateDefaultRunConfigurations();
emit fileListChanged();
}
void QbsProject::parseCurrentBuildConfiguration(bool force)
{
if (!m_forceParsing)