summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-07-24 16:43:23 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-07-24 17:17:30 +0200
commit50f9d48f642e86bdc51246f1f27536ca533838da (patch)
tree893cf4e26484f3b5397ae0f795c4e9df3a74cf0b
parent7474cf4c7aca19b05a4a8cd8619b0de714517f7f (diff)
downloadqbs-50f9d48f642e86bdc51246f1f27536ca533838da.tar.gz
Fix progress bar for project resolving.
Assumed one single Project item. Now operates on the number of products. Change-Id: Ie74f93209163efee5793a88b39aef645980ac996 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--src/lib/language/projectresolver.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/lib/language/projectresolver.cpp b/src/lib/language/projectresolver.cpp
index 321877142..1193627ab 100644
--- a/src/lib/language/projectresolver.cpp
+++ b/src/lib/language/projectresolver.cpp
@@ -156,6 +156,8 @@ static void makeSubProjectNamesUniqe(const ResolvedProjectPtr &parentProject)
void ProjectResolver::resolveTopLevelProject(Item *item, ProjectContext *projectContext)
{
+ if (m_progressObserver)
+ m_progressObserver->setMaximum(projectContext->loadResult->productInfos.count());
const TopLevelProjectPtr project = TopLevelProject::create();
project->setBuildConfiguration(m_buildConfiguration);
project->buildDirectory = TopLevelProject::deriveBuildDirectory(m_buildRoot, project->id());
@@ -204,13 +206,8 @@ void ProjectResolver::resolveProject(Item *item, ProjectContext *projectContext)
mapping["FileTagger"] = &ProjectResolver::resolveFileTagger;
mapping["Rule"] = &ProjectResolver::resolveRule;
- if (m_progressObserver)
- m_progressObserver->setMaximum(item->children().count());
- foreach (Item *child, item->children()) {
+ foreach (Item *child, item->children())
callItemFunction(mapping, child, projectContext);
- if (m_progressObserver)
- m_progressObserver->incrementProgressValue();
- }
foreach (const ResolvedProductPtr &product, projectContext->project->products)
postProcess(product, projectContext);
@@ -304,6 +301,8 @@ void ProjectResolver::resolveProduct(Item *item, ProjectContext *projectContext)
resolveModule(module.name, module.item, projectContext);
m_productContext = 0;
+ if (m_progressObserver)
+ m_progressObserver->incrementProgressValue();
}
void ProjectResolver::resolveModule(const QStringList &moduleName, Item *item,