diff --git a/src/plugins/autotest/testresultspane.cpp b/src/plugins/autotest/testresultspane.cpp index c67cd15ae56..0e333853814 100644 --- a/src/plugins/autotest/testresultspane.cpp +++ b/src/plugins/autotest/testresultspane.cpp @@ -444,11 +444,12 @@ void TestResultsPane::initializeFilterMenu() m_filterMenu->addAction(action); } m_filterMenu->addSeparator(); - QAction *action = new QAction(m_filterMenu); - action->setText(tr("Check All Filters")); - action->setCheckable(false); + QAction *action = new QAction(tr("Check All Filters"), m_filterMenu); m_filterMenu->addAction(action); - connect(action, &QAction::triggered, this, &TestResultsPane::enableAllFilter); + connect(action, &QAction::triggered, this, [this]() { TestResultsPane::checkAllFilter(true); }); + action = new QAction(tr("Uncheck All Filters"), m_filterMenu); + m_filterMenu->addAction(action); + connect(action, &QAction::triggered, this, [this]() { TestResultsPane::checkAllFilter(false); }); } void TestResultsPane::updateSummaryLabel() @@ -478,11 +479,11 @@ void TestResultsPane::updateSummaryLabel() m_summaryLabel->setText(labelText); } -void TestResultsPane::enableAllFilter() +void TestResultsPane::checkAllFilter(bool checked) { for (QAction *action : m_filterMenu->actions()) { if (action->isCheckable()) - action->setChecked(true); + action->setChecked(checked); } m_filterModel->enableAllResultTypes(); } diff --git a/src/plugins/autotest/testresultspane.h b/src/plugins/autotest/testresultspane.h index 862270534c3..3f3a5b31f5d 100644 --- a/src/plugins/autotest/testresultspane.h +++ b/src/plugins/autotest/testresultspane.h @@ -101,7 +101,7 @@ private: void onItemActivated(const QModelIndex &index); void onRunAllTriggered(); void onRunSelectedTriggered(); - void enableAllFilter(); + void checkAllFilter(bool checked); void filterMenuTriggered(QAction *action); void initializeFilterMenu();