From 6a016ff014709257e477e7635362bd7357e8541c Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 26 May 2023 17:00:35 +0200 Subject: [PATCH] Issues pane: Fix filtering If the parent is visible, we always want to show the child as well. The previous implementation would always assume the row number to be a top-level entry, leading to seemingly random behavior if any sort of filtering was active. Amends 778d7a981995898a3afd782bfc199d032d4a80f0. Change-Id: I354c1b07929c45034a7d24b4c31f986ddd01c877 Reviewed-by: Reviewed-by: Christian Stenger --- src/plugins/projectexplorer/taskmodel.cpp | 3 ++- src/plugins/projectexplorer/taskwindow.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/taskmodel.cpp b/src/plugins/projectexplorer/taskmodel.cpp index c05614a445f..80280a5595e 100644 --- a/src/plugins/projectexplorer/taskmodel.cpp +++ b/src/plugins/projectexplorer/taskmodel.cpp @@ -409,7 +409,8 @@ void TaskFilterModel::updateFilterProperties( bool TaskFilterModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const { - Q_UNUSED(source_parent) + if (source_parent.isValid()) + return true; return filterAcceptsTask(taskModel()->tasks().at(source_row)); } diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index eb4b9de8ca5..8bb8fa98e2f 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -169,6 +169,7 @@ TaskWindow::TaskWindow() : d(std::make_unique()) { d->m_model = new Internal::TaskModel(this); d->m_filter = new Internal::TaskFilterModel(d->m_model); + d->m_filter->setAutoAcceptChildRows(true); auto agg = new Aggregation::Aggregate; agg->add(&d->m_treeView);