diff options
| author | Christian Kandeler <christian.kandeler@digia.com> | 2013-07-24 16:43:23 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-07-24 17:17:30 +0200 |
| commit | 50f9d48f642e86bdc51246f1f27536ca533838da (patch) | |
| tree | 893cf4e26484f3b5397ae0f795c4e9df3a74cf0b | |
| parent | 7474cf4c7aca19b05a4a8cd8619b0de714517f7f (diff) | |
| download | qbs-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.cpp | 11 |
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, |
