summaryrefslogtreecommitdiff
path: root/plugins/autotest/testresultspane.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/autotest/testresultspane.cpp')
-rw-r--r--plugins/autotest/testresultspane.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/autotest/testresultspane.cpp b/plugins/autotest/testresultspane.cpp
index bb641d264a..eee9fc9340 100644
--- a/plugins/autotest/testresultspane.cpp
+++ b/plugins/autotest/testresultspane.cpp
@@ -86,6 +86,7 @@ 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);
}
@@ -241,7 +242,6 @@ void TestResultsPane::onRunSelectedTriggered()
void TestResultsPane::initializeFilterMenu()
{
QMap<ResultType, QString> textAndType;
- textAndType.clear();
textAndType.insert(ResultType::PASS, QLatin1String("Pass"));
textAndType.insert(ResultType::FAIL, QLatin1String("Fail"));
textAndType.insert(ResultType::EXPECTED_FAIL, QLatin1String("Expected Fail"));
@@ -260,6 +260,14 @@ void TestResultsPane::initializeFilterMenu()
}
}
+void TestResultsPane::updateFilterMenu()
+{
+ foreach (QAction *action, m_filterMenu->actions()) {
+ action->setEnabled(m_model->hasResultType(
+ static_cast<ResultType>(action->data().value<int>())));
+ }
+}
+
void TestResultsPane::filterMenuTriggered(QAction *action)
{
m_filterModel->toggleTestResultType(static_cast<ResultType>(action->data().value<int>()));