From 3f506a2a36af1c62d370f8d2ba9c4e492be15432 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 30 Mar 2015 15:32:13 +0200 Subject: Allow filtering of test results always This almost reverts 8bb03409353be640a18b58dd80e1bb67f96f13fe. Change-Id: I57ac2e1dd052ce434f7381f4d6df52ecdc68fed6 Reviewed-by: David Schulz --- plugins/autotest/testresultmodel.cpp | 14 ++++++-------- plugins/autotest/testresultmodel.h | 2 -- plugins/autotest/testresultspane.cpp | 10 ---------- plugins/autotest/testresultspane.h | 1 - 4 files changed, 6 insertions(+), 21 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 diff --git a/plugins/autotest/testresultmodel.h b/plugins/autotest/testresultmodel.h index c10bc44013..97f3a3a53c 100644 --- a/plugins/autotest/testresultmodel.h +++ b/plugins/autotest/testresultmodel.h @@ -52,7 +52,6 @@ public: int maxWidthOfFileName(const QFont &font); int maxWidthOfLineNumber(const QFont &font); - bool hasResultType(Result::Type type) { return m_availableResultTypes.contains(type); } int resultTypeCount(Result::Type type); signals: @@ -66,7 +65,6 @@ private: int m_maxWidthOfFileName; int m_lastMaxWidthIndex; QFont m_measurementFont; - QSet m_availableResultTypes; }; class TestResultFilterModel : public QSortFilterProxyModel diff --git a/plugins/autotest/testresultspane.cpp b/plugins/autotest/testresultspane.cpp index feace48f7c..45fe7fa067 100644 --- a/plugins/autotest/testresultspane.cpp +++ b/plugins/autotest/testresultspane.cpp @@ -120,7 +120,6 @@ void TestResultsPane::createToolButtons() m_filterButton->setPopupMode(QToolButton::InstantPopup); m_filterMenu = new QMenu(m_filterButton); initializeFilterMenu(); - connect(m_filterMenu, &QMenu::aboutToShow, this, &TestResultsPane::updateFilterMenu); connect(m_filterMenu, &QMenu::triggered, this, &TestResultsPane::filterMenuTriggered); m_filterButton->setMenu(m_filterMenu); } @@ -349,15 +348,6 @@ void TestResultsPane::updateSummaryLabel() m_summaryLabel->setText(labelText); } -void TestResultsPane::updateFilterMenu() -{ - foreach (QAction *action, m_filterMenu->actions()) { - if (action->isCheckable()) - action->setEnabled(m_model->hasResultType( - TestResult::toResultType(action->data().value()))); - } -} - void TestResultsPane::enableAllFilter() { foreach (QAction *action, m_filterMenu->actions()) { diff --git a/plugins/autotest/testresultspane.h b/plugins/autotest/testresultspane.h index e2d7c6746f..ac097dde94 100644 --- a/plugins/autotest/testresultspane.h +++ b/plugins/autotest/testresultspane.h @@ -78,7 +78,6 @@ private slots: void onItemActivated(const QModelIndex &index); void onRunAllTriggered(); void onRunSelectedTriggered(); - void updateFilterMenu(); void enableAllFilter(); void filterMenuTriggered(QAction *action); -- cgit v1.2.1