Add a disabled reason to the display of runconfigurations

Also distinguish between qt runconfigurations that are disabled
due to parsing and due to not being parseable

Change-Id: Ia8ce4eaa7b6bfcc2c5290b254bb288c6d4892170
Task-Nr: QTCREATORBUG-5103
Reviewed-on: http://codereview.qt.nokia.com/451
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
This commit is contained in:
dt_
2011-06-10 15:37:10 +02:00
committed by Daniel Teske
parent 9196921429
commit 2b31dbadcf
20 changed files with 238 additions and 175 deletions

View File

@@ -1374,6 +1374,7 @@ Qt4ProFileNode::Qt4ProFileNode(Qt4Project *project,
: Qt4PriFileNode(project, this, filePath),
m_projectType(InvalidProject),
m_validParse(false),
m_parseInProgress(false),
m_readerExact(0),
m_readerCumulative(0)
{
@@ -1447,7 +1448,7 @@ void Qt4ProFileNode::emitProFileUpdated()
{
foreach (ProjectExplorer::NodesWatcher *watcher, watchers())
if (Internal::Qt4NodesWatcher *qt4Watcher = qobject_cast<Internal::Qt4NodesWatcher*>(watcher))
emit qt4Watcher->proFileUpdated(this, m_validParse);
emit qt4Watcher->proFileUpdated(this, m_validParse, m_parseInProgress);
foreach (ProjectNode *subNode, subProjectNodes()) {
if (Qt4ProFileNode *node = qobject_cast<Qt4ProFileNode *>(subNode)) {
@@ -1456,30 +1457,20 @@ void Qt4ProFileNode::emitProFileUpdated()
}
}
void Qt4ProFileNode::emitProFileInvalidated()
{
foreach (ProjectExplorer::NodesWatcher *watcher, watchers())
if (Internal::Qt4NodesWatcher *qt4Watcher = qobject_cast<Internal::Qt4NodesWatcher*>(watcher))
emit qt4Watcher->proFileInvalidated(this);
foreach (ProjectNode *subNode, subProjectNodes()) {
if (Qt4ProFileNode *node = qobject_cast<Qt4ProFileNode *>(subNode)) {
node->emitProFileInvalidated();
}
}
}
bool Qt4ProFileNode::validParse() const
{
return m_validParse;
}
bool Qt4ProFileNode::parseInProgress() const
{
return m_parseInProgress;
}
void Qt4ProFileNode::scheduleUpdate()
{
if (m_validParse) {
m_validParse = false;
emitProFileInvalidated();
}
m_parseInProgress = true;
emitProFileUpdated();
m_project->scheduleAsyncUpdate(this);
}
@@ -1494,12 +1485,10 @@ void Qt4ProFileNode::asyncUpdate()
void Qt4ProFileNode::update()
{
if (m_validParse) {
m_validParse = false;
foreach (ProjectExplorer::NodesWatcher *watcher, watchers())
if (Internal::Qt4NodesWatcher *qt4Watcher = qobject_cast<Internal::Qt4NodesWatcher*>(watcher))
emit qt4Watcher->proFileInvalidated(this);
}
m_parseInProgress = true;
foreach (ProjectExplorer::NodesWatcher *watcher, watchers())
if (Internal::Qt4NodesWatcher *qt4Watcher = qobject_cast<Internal::Qt4NodesWatcher*>(watcher))
emit qt4Watcher->proFileUpdated(this, m_validParse, m_parseInProgress);
setupReader();
EvalResult evalResult = evaluate();
@@ -1558,7 +1547,7 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async)
}
foreach (ProjectExplorer::NodesWatcher *watcher, watchers())
if (Internal::Qt4NodesWatcher *qt4Watcher = qobject_cast<Internal::Qt4NodesWatcher*>(watcher))
emit qt4Watcher->proFileUpdated(this, false);
emit qt4Watcher->proFileUpdated(this, false, false);
return;
}
@@ -1751,7 +1740,8 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async)
Qt4PriFileNode::update(fileForCurrentProjectExact, m_readerExact, fileForCurrentProjectCumlative, m_readerCumulative);
if (evalResult == EvalOk) {
m_validParse = (evalResult == EvalOk);
if (m_validParse) {
// update TargetInformation
m_qt4targetInformation = targetInformation(m_readerExact);
@@ -1799,17 +1789,16 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async)
if (Internal::Qt4NodesWatcher *qt4Watcher = qobject_cast<Internal::Qt4NodesWatcher*>(watcher))
emit qt4Watcher->variablesChanged(this, oldValues, m_varValues);
}
} // evalResult == EvalOk
m_parseInProgress = false;
createUiCodeModelSupport();
updateUiFiles();
m_validParse = true;
foreach (ProjectExplorer::NodesWatcher *watcher, watchers())
if (Internal::Qt4NodesWatcher *qt4Watcher = qobject_cast<Internal::Qt4NodesWatcher*>(watcher))
emit qt4Watcher->proFileUpdated(this, true);
emit qt4Watcher->proFileUpdated(this, true, false);
m_project->destroyProFileReader(m_readerExact);
m_project->destroyProFileReader(m_readerCumulative);