Add 'Check All Filter' action to filter menu

This commit is contained in:
Christian Stenger
2014-11-05 15:40:37 +01:00
committed by Christian Stenger
parent 9394a43128
commit 1145febc05
3 changed files with 19 additions and 4 deletions

View File

@@ -50,8 +50,6 @@ public:
int maxWidthOfFileName(const QFont &font); int maxWidthOfFileName(const QFont &font);
int maxWidthOfLineNumber(const QFont &font); int maxWidthOfLineNumber(const QFont &font);
void enableAllResultTypes();
void toggleTestResultType(ResultType type);
bool hasResultType(ResultType type) { return m_availableResultTypes.contains(type); } bool hasResultType(ResultType type) { return m_availableResultTypes.contains(type); }
int resultTypeCount(ResultType type); int resultTypeCount(ResultType type);

View File

@@ -288,6 +288,12 @@ void TestResultsPane::initializeFilterMenu()
action->setData(result); action->setData(result);
m_filterMenu->addAction(action); m_filterMenu->addAction(action);
} }
m_filterMenu->addSeparator();
QAction *action = new QAction(m_filterMenu);
action->setText(tr("Check All Filters"));
action->setCheckable(false);
m_filterMenu->addAction(action);
connect(action, &QAction::triggered, this, &TestResultsPane::enableAllFilter);
} }
void TestResultsPane::updateSummaryLabel() void TestResultsPane::updateSummaryLabel()
@@ -310,11 +316,21 @@ void TestResultsPane::updateSummaryLabel()
void TestResultsPane::updateFilterMenu() void TestResultsPane::updateFilterMenu()
{ {
foreach (QAction *action, m_filterMenu->actions()) { foreach (QAction *action, m_filterMenu->actions()) {
action->setEnabled(m_model->hasResultType( if (action->isCheckable())
static_cast<ResultType>(action->data().value<int>()))); action->setEnabled(m_model->hasResultType(
static_cast<ResultType>(action->data().value<int>())));
} }
} }
void TestResultsPane::enableAllFilter()
{
foreach (QAction *action, m_filterMenu->actions()) {
if (action->isCheckable())
action->setChecked(true);
}
m_filterModel->enableAllResultTypes();
}
void TestResultsPane::filterMenuTriggered(QAction *action) void TestResultsPane::filterMenuTriggered(QAction *action)
{ {
m_filterModel->toggleTestResultType(static_cast<ResultType>(action->data().value<int>())); m_filterModel->toggleTestResultType(static_cast<ResultType>(action->data().value<int>()));

View File

@@ -79,6 +79,7 @@ private slots:
void onRunAllTriggered(); void onRunAllTriggered();
void onRunSelectedTriggered(); void onRunSelectedTriggered();
void updateFilterMenu(); void updateFilterMenu();
void enableAllFilter();
void filterMenuTriggered(QAction *action); void filterMenuTriggered(QAction *action);
private: private: