From 1c1521c3c44b7f65dbfe28a5c5d786e712b977a5 Mon Sep 17 00:00:00 2001 From: dt_ Date: Wed, 22 Jun 2011 12:53:49 +0200 Subject: [PATCH] Fix proFileUpdated signal, set correct parse in progress state Change-Id: I1f7ca269115491323373fe5c4230bd38860c08ce Reviewed-on: http://codereview.qt.nokia.com/596 Reviewed-by: Qt Sanity Bot Reviewed-by: Christian Kandeler --- src/plugins/qt4projectmanager/qt4nodes.cpp | 12 +++++++++++- src/plugins/qt4projectmanager/qt4nodes.h | 1 + src/plugins/qt4projectmanager/qt4project.cpp | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index 2d51465872..3a1b895efb 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -1462,6 +1462,16 @@ bool Qt4ProFileNode::validParse() const return m_validParse; } +void Qt4ProFileNode::setParseInProgressRecursive() +{ + m_parseInProgress = true; + foreach (ProjectNode *subNode, subProjectNodes()) { + if (Qt4ProFileNode *node = qobject_cast(subNode)) { + node->setParseInProgressRecursive(); + } + } +} + bool Qt4ProFileNode::parseInProgress() const { return m_parseInProgress; @@ -1469,7 +1479,7 @@ bool Qt4ProFileNode::parseInProgress() const void Qt4ProFileNode::scheduleUpdate() { - m_parseInProgress = true; + setParseInProgressRecursive(); emitProFileUpdated(); m_project->scheduleAsyncUpdate(this); } diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h index ccd659abe1..d674a75899 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.h +++ b/src/plugins/qt4projectmanager/qt4nodes.h @@ -353,6 +353,7 @@ public: bool hasBuildTargets(Qt4ProjectType projectType) const; + void setParseInProgressRecursive(); public slots: void asyncUpdate(); diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 2ac44e0fd6..66bd9a6838 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -673,6 +673,7 @@ void Qt4Project::scheduleAsyncUpdate() m_cancelEvaluate = true; m_asyncUpdateState = AsyncFullUpdatePending; activeTarget()->activeBuildConfiguration()->setEnabled(false); + m_rootProjectNode->setParseInProgressRecursive(); m_rootProjectNode->emitProFileUpdated(); return; } @@ -681,6 +682,7 @@ void Qt4Project::scheduleAsyncUpdate() qDebug()<<" starting timer for full update, setting state to full update pending"; m_partialEvaluate.clear(); activeTarget()->activeBuildConfiguration()->setEnabled(false); + m_rootProjectNode->setParseInProgressRecursive(); m_rootProjectNode->emitProFileUpdated(); m_asyncUpdateState = AsyncFullUpdatePending; m_asyncUpdateTimer.start(); -- 2.11.0