aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qt4projectmanager/qt4project.cpp
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@digia.com>2013-06-18 19:12:48 +0200
committerDaniel Teske <daniel.teske@digia.com>2013-07-08 17:13:05 +0200
commit77ddc869e02e77631264e69cb67b51ced7500d15 (patch)
treef38f60843943a7b74f8d89ac550ca4c2719952fa /src/plugins/qt4projectmanager/qt4project.cpp
parentf8034a353ffccd51410e24e5d959ef563bcd5efa (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.cpp28
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;
}