forked from qt-creator/qt-creator
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:
committed by
David Schulz
parent
ae7b3e8404
commit
3f506a2a36
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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()) {
|
||||
|
@@ -78,7 +78,6 @@ private slots:
|
||||
void onItemActivated(const QModelIndex &index);
|
||||
void onRunAllTriggered();
|
||||
void onRunSelectedTriggered();
|
||||
void updateFilterMenu();
|
||||
void enableAllFilter();
|
||||
void filterMenuTriggered(QAction *action);
|
||||
|
||||
|
Reference in New Issue
Block a user