aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/autotest/testresultmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/autotest/testresultmodel.cpp')
-rw-r--r--plugins/autotest/testresultmodel.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/plugins/autotest/testresultmodel.cpp b/plugins/autotest/testresultmodel.cpp
index 0704001488..ee10470032 100644
--- a/plugins/autotest/testresultmodel.cpp
+++ b/plugins/autotest/testresultmodel.cpp
@@ -114,12 +114,13 @@ QVariant TestResultModel::data(const QModelIndex &index, int role) const
void TestResultModel::addTestResult(const TestResult &testResult)
{
const bool isCurrentTestMssg = testResult.result() == Result::MESSAGE_CURRENT_TEST;
- const bool hasCurrentTestMssg = m_availableResultTypes.contains(Result::MESSAGE_CURRENT_TEST);
+ TestResult lastMssg = m_testResults.empty() ? TestResult() : m_testResults.last();
int position = m_testResults.size();
- if (hasCurrentTestMssg && isCurrentTestMssg) {
- m_testResults.last().setDescription(testResult.description());
+ if (isCurrentTestMssg && lastMssg.result() == Result::MESSAGE_CURRENT_TEST) {
+ lastMssg.setDescription(testResult.description());
+ m_testResults.replace(m_testResults.size() - 1, lastMssg);
const QModelIndex changed = index(m_testResults.size() - 1, 0, QModelIndex());
emit dataChanged(changed, changed);
} else {
@@ -134,17 +135,15 @@ void TestResultModel::addTestResult(const TestResult &testResult)
int count = m_testResultCount.value(testResult.result(), 0);
m_testResultCount.insert(testResult.result(), ++count);
}
-
- m_availableResultTypes.insert(testResult.result());
}
void TestResultModel::removeCurrentTestMessage()
{
- if (m_availableResultTypes.contains(Result::MESSAGE_CURRENT_TEST)) {
+ TestResult lastMssg = m_testResults.empty() ? TestResult() : m_testResults.last();
+ if (lastMssg.result() == Result::MESSAGE_CURRENT_TEST) {
beginRemoveRows(QModelIndex(), m_testResults.size() - 1, m_testResults.size() - 1);
m_testResults.removeLast();
endRemoveRows();
- m_availableResultTypes.remove(Result::MESSAGE_CURRENT_TEST);
}
}
@@ -159,7 +158,6 @@ void TestResultModel::clearTestResults()
m_maxWidthOfFileName = 0;
m_widthOfLineNumber = 0;
endRemoveRows();
- m_availableResultTypes.clear();
}
TestResult TestResultModel::testResult(const QModelIndex &index) const