Allow filtering of test results always

This almost reverts 8bb0340935.

Change-Id: I57ac2e1dd052ce434f7381f4d6df52ecdc68fed6
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
Christian Stenger
2015-03-30 15:32:13 +02:00
committed by David Schulz
parent ae7b3e8404
commit 3f506a2a36
4 changed files with 6 additions and 21 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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()) {

View File

@@ -78,7 +78,6 @@ private slots:
void onItemActivated(const QModelIndex &index);
void onRunAllTriggered();
void onRunSelectedTriggered();
void updateFilterMenu();
void enableAllFilter();
void filterMenuTriggered(QAction *action);