summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@theqtcompany.com>2015-03-30 15:32:13 +0200
committerDavid Schulz <david.schulz@theqtcompany.com>2015-04-02 09:22:03 +0300
commit3f506a2a36af1c62d370f8d2ba9c4e492be15432 (patch)
tree373ec0103b619e296eaacfc61d8af8659772afe3
parentae7b3e84047e25f86f7d9cfefb55e39fd421ee5f (diff)
downloadqt-creator-3f506a2a36af1c62d370f8d2ba9c4e492be15432.tar.gz
Allow filtering of test results always
This almost reverts 8bb03409353be640a18b58dd80e1bb67f96f13fe. Change-Id: I57ac2e1dd052ce434f7381f4d6df52ecdc68fed6 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
-rw-r--r--plugins/autotest/testresultmodel.cpp14
-rw-r--r--plugins/autotest/testresultmodel.h2
-rw-r--r--plugins/autotest/testresultspane.cpp10
-rw-r--r--plugins/autotest/testresultspane.h1
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<Result::Type> 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<int>())));
- }
-}
-
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);