Qbs: Make "Reparse Qbs" force a reparsing

... even if Qt Creator thinks all is well.

Change-Id: I40fa61d51c8e18a389bedf7d8afb927bbb88acd5
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
This commit is contained in:
Tobias Hunger
2013-11-26 16:19:43 +01:00
parent 7af5674c15
commit b9813b7c91
3 changed files with 13 additions and 4 deletions

View File

@@ -112,7 +112,7 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
this, SLOT(targetWasAdded(ProjectExplorer::Target*)));
connect(this, SIGNAL(environmentChanged()), this, SLOT(delayParsing()));
connect(&m_parsingDelay, SIGNAL(timeout()), this, SLOT(parseCurrentBuildConfiguration()));
connect(&m_parsingDelay, SIGNAL(timeout()), this, SLOT(startParsing()));
updateDocuments(QSet<QString>() << fileName);
@@ -357,6 +357,11 @@ void QbsProject::buildConfigurationChanged(BuildConfiguration *bc)
}
}
void QbsProject::startParsing()
{
parseCurrentBuildConfiguration(false);
}
void QbsProject::delayParsing()
{
m_parsingDelay.start();
@@ -368,10 +373,13 @@ void QbsProject::delayForcedParsing()
delayParsing();
}
void QbsProject::parseCurrentBuildConfiguration()
void QbsProject::parseCurrentBuildConfiguration(bool force)
{
m_parsingDelay.stop();
if (!m_forceParsing)
m_forceParsing = force;
if (!activeTarget())
return;
QbsBuildConfiguration *bc = qobject_cast<QbsBuildConfiguration *>(activeTarget()->activeBuildConfiguration());