summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@digia.com>2014-11-06 12:12:39 +0100
committerChristian Stenger <christian.stenger@theqtcompany.com>2014-12-04 13:52:16 +0100
commit85efa2c3c969392afbe869ed0fc4a4af91c739f4 (patch)
tree0a88aa8f20d8f7e2dc229a6eab772fa8bfab1efd
parent1258c58a7f74f8113edc4781baacaa68f7fe9d44 (diff)
downloadqt-creator-85efa2c3c969392afbe869ed0fc4a4af91c739f4.tar.gz
Update internal cache / test tree only if necessary
-rw-r--r--plugins/autotest/testcodeparser.cpp31
-rw-r--r--plugins/autotest/testresultspane.cpp4
-rw-r--r--plugins/autotest/testtreeview.cpp8
3 files changed, 24 insertions, 19 deletions
diff --git a/plugins/autotest/testcodeparser.cpp b/plugins/autotest/testcodeparser.cpp
index 61c0e03933..23006677fe 100644
--- a/plugins/autotest/testcodeparser.cpp
+++ b/plugins/autotest/testcodeparser.cpp
@@ -213,16 +213,19 @@ void TestCodeParser::checkDocumentForTestCode(CPlusPlus::Document::Ptr doc)
break;
}
}
- info = m_cppDocMap.value(declFileName);
- count = autoTestRootItem->childCount();
- for (int i = 0; i < count; ++i) {
- TestTreeItem *currentItem = autoTestRootItem->child(i);
- if (currentItem->filePath() == declFileName) {
- m_model->modifyAutoTestSubtree(i, ttItem);
- TestInfo ti(tc, privSlots.keys(), doc->revision(), doc->editorRevision());
- ti.setReferencingFile(file);
- m_cppDocMap.insert(declFileName, ti);
- break;
+ if (declFileName != file) {
+ info = m_cppDocMap.value(declFileName);
+ count = autoTestRootItem->childCount();
+ for (int i = 0; i < count; ++i) {
+ TestTreeItem *currentItem = autoTestRootItem->child(i);
+ if (currentItem->filePath() == declFileName) {
+ m_model->modifyAutoTestSubtree(i, ttItem);
+ TestInfo ti(tc, privSlots.keys(), doc->revision(),
+ doc->editorRevision());
+ ti.setReferencingFile(file);
+ m_cppDocMap.insert(declFileName, ti);
+ break;
+ }
}
}
delete ttItem;
@@ -230,9 +233,11 @@ void TestCodeParser::checkDocumentForTestCode(CPlusPlus::Document::Ptr doc)
m_model->addAutoTest(ttItem);
m_cppDocMap.insert(file, TestInfo(tc, privSlots.keys(), doc->revision(),
doc->editorRevision()));
- TestInfo ti(tc, privSlots.keys(), doc->revision(), doc->editorRevision());
- ti.setReferencingFile(file);
- m_cppDocMap.insert(declFileName, ti);
+ if (declFileName != file) {
+ TestInfo ti(tc, privSlots.keys(), doc->revision(), doc->editorRevision());
+ ti.setReferencingFile(file);
+ m_cppDocMap.insert(declFileName, ti);
+ }
}
}
} else {
diff --git a/plugins/autotest/testresultspane.cpp b/plugins/autotest/testresultspane.cpp
index d14b7567ca..06a3257b0a 100644
--- a/plugins/autotest/testresultspane.cpp
+++ b/plugins/autotest/testresultspane.cpp
@@ -250,7 +250,7 @@ void TestResultsPane::onItemActivated(const QModelIndex &index)
if (!index.isValid())
return;
- TestResult tr = m_filterModel->testResult(index);
+ const TestResult tr = m_filterModel->testResult(index);
if (!tr.fileName().isEmpty())
Core::EditorManager::openEditorAt(tr.fileName(), tr.line(), 0);
}
@@ -360,7 +360,7 @@ void TestResultsPane::onTestRunFinished()
void TestResultsPane::onTestTreeModelChanged()
{
- bool enable = TestTreeModel::instance()->hasTests();
+ const bool enable = TestTreeModel::instance()->hasTests();
m_runAll->setEnabled(enable);
m_runSelected->setEnabled(enable);
}
diff --git a/plugins/autotest/testtreeview.cpp b/plugins/autotest/testtreeview.cpp
index d16e43c603..73d0fbbbd9 100644
--- a/plugins/autotest/testtreeview.cpp
+++ b/plugins/autotest/testtreeview.cpp
@@ -71,8 +71,8 @@ TestTreeViewWidget::TestTreeViewWidget(QWidget *parent) :
void TestTreeViewWidget::contextMenuEvent(QContextMenuEvent *event)
{
- bool enabled = !TestRunner::instance()->isTestRunning();
- bool hasTests = m_model->hasTests();
+ const bool enabled = !TestRunner::instance()->isTestRunning();
+ const bool hasTests = m_model->hasTests();
QMenu menu;
QAction *runAll = new QAction(tr("Run All Tests"), &menu);
QAction *runSelected = new QAction(tr("Run Selected Tests"), &menu);
@@ -207,14 +207,14 @@ void TestTreeView::deselectAll()
// this avoids the re-evaluation of parent nodes when modifying the child nodes (setData())
void TestTreeView::selectOrDeselectAll(const Qt::CheckState checkState)
{
- TestTreeModel *model = TestTreeModel::instance();
+ const TestTreeModel *model = TestTreeModel::instance();
QModelIndex autoTestsIndex = model->index(0, 0, rootIndex());
if (!autoTestsIndex.isValid())
return;
int count = model->rowCount(autoTestsIndex);
QModelIndex last;
for (int i = 0; i < count; ++i) {
- QModelIndex classesIndex = model->index(i, 0, autoTestsIndex);
+ const QModelIndex classesIndex = model->index(i, 0, autoTestsIndex);
int funcCount = model->rowCount(classesIndex);
TestTreeItem *item = static_cast<TestTreeItem *>(classesIndex.internalPointer());
if (item) {