diff options
author | Daniel Teske <daniel.teske@digia.com> | 2013-06-18 19:12:48 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2013-07-08 17:13:05 +0200 |
commit | 77ddc869e02e77631264e69cb67b51ced7500d15 (patch) | |
tree | f38f60843943a7b74f8d89ac550ca4c2719952fa /src/plugins/qt4projectmanager/qt4project.cpp | |
parent | f8034a353ffccd51410e24e5d959ef563bcd5efa (diff) |
Qt4Project: Use exact parse to decide which runconfigurations to create
Task-number: QTCREATORBUG-9549
Change-Id: Ib504073a3dfbdf8a66429b3fb6a8930d2284f76a
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/qt4projectmanager/qt4project.cpp')
-rw-r--r-- | src/plugins/qt4projectmanager/qt4project.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 53cb9e6e47..8922ad874a 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -466,7 +466,7 @@ bool Qt4Project::fromMap(const QVariantMap &map) QtQuickApp qtQuickApp; const Html5App html5App; - foreach (Qt4ProFileNode *node, applicationProFiles()) { + foreach (Qt4ProFileNode *node, applicationProFiles(Qt4Project::ExactAndCumulativeParse)) { const QString path = node->path(); qtQuickApp.setComponentSet(QtQuickApp::QtQuick10Components); @@ -1074,44 +1074,46 @@ bool Qt4Project::parseInProgress(const QString &proFilePath) const return node && node->parseInProgress(); } -void Qt4Project::collectAllfProFiles(QList<Qt4ProFileNode *> &list, Qt4ProFileNode *node) +void Qt4Project::collectAllfProFiles(QList<Qt4ProFileNode *> &list, Qt4ProFileNode *node, Parsing parse) { - list.append(node); + if (parse == ExactAndCumulativeParse || node->includedInExactParse()) + list.append(node); foreach (ProjectNode *n, node->subProjectNodes()) { Qt4ProFileNode *qt4ProFileNode = qobject_cast<Qt4ProFileNode *>(n); if (qt4ProFileNode) - collectAllfProFiles(list, qt4ProFileNode); + collectAllfProFiles(list, qt4ProFileNode, parse); } } -void Qt4Project::collectApplicationProFiles(QList<Qt4ProFileNode *> &list, Qt4ProFileNode *node) +void Qt4Project::collectApplicationProFiles(QList<Qt4ProFileNode *> &list, Qt4ProFileNode *node, Parsing parse) { if (node->projectType() == ApplicationTemplate || node->projectType() == ScriptTemplate) { - list.append(node); + if (parse == ExactAndCumulativeParse || node->includedInExactParse()) + list.append(node); } foreach (ProjectNode *n, node->subProjectNodes()) { Qt4ProFileNode *qt4ProFileNode = qobject_cast<Qt4ProFileNode *>(n); if (qt4ProFileNode) - collectApplicationProFiles(list, qt4ProFileNode); + collectApplicationProFiles(list, qt4ProFileNode, parse); } } -QList<Qt4ProFileNode *> Qt4Project::allProFiles() const +QList<Qt4ProFileNode *> Qt4Project::allProFiles(Parsing parse) const { QList<Qt4ProFileNode *> list; if (!rootProjectNode()) return list; - collectAllfProFiles(list, rootQt4ProjectNode()); + collectAllfProFiles(list, rootQt4ProjectNode(), parse); return list; } -QList<Qt4ProFileNode *> Qt4Project::applicationProFiles() const +QList<Qt4ProFileNode *> Qt4Project::applicationProFiles(Parsing parse) const { QList<Qt4ProFileNode *> list; if (!rootProjectNode()) return list; - collectApplicationProFiles(list, rootQt4ProjectNode()); + collectApplicationProFiles(list, rootQt4ProjectNode(), parse); return list; } @@ -1127,10 +1129,10 @@ bool Qt4Project::hasApplicationProFile(const QString &path) const return false; } -QStringList Qt4Project::applicationProFilePathes(const QString &prepend) const +QStringList Qt4Project::applicationProFilePathes(const QString &prepend, Parsing parse) const { QStringList proFiles; - foreach (Qt4ProFileNode *node, applicationProFiles()) + foreach (Qt4ProFileNode *node, applicationProFiles(parse)) proFiles.append(prepend + node->path()); return proFiles; } |