diff --git a/src/admc/console.cpp b/src/admc/console.cpp index cf56a744..4a794057 100644 --- a/src/admc/console.cpp +++ b/src/admc/console.cpp @@ -46,6 +46,7 @@ #include #include #include +#include enum ScopeRole { ScopeRole_Id = Role_ObjectClass + 1, @@ -89,6 +90,9 @@ Console::Console(MenuBar *menubar_arg) results_view->setSelectionMode(QAbstractItemView::ExtendedSelection); results_view->setDragDropOverwriteMode(true); + results_proxy_model = new QSortFilterProxyModel(this); + results_view->setModel(results_proxy_model); + SETTINGS()->setup_header_state(results_view->header(), VariantSetting_ResultsHeader); auto results_wrapper = new QWidget(); @@ -300,7 +304,7 @@ void Console::on_current_scope_changed(const QModelIndex ¤t, const QModelI const int id = current.data(ScopeRole_Id).toInt(); QStandardItemModel *results_model = scope_id_to_results[id]; - results_view->setModel(results_model); + results_proxy_model->setSourceModel(results_model); // Update header with new object counts when rows are added/removed connect( diff --git a/src/admc/console.h b/src/admc/console.h index 254c9187..67121715 100644 --- a/src/admc/console.h +++ b/src/admc/console.h @@ -42,6 +42,7 @@ class QStandardItem; class AdObject; class MenuBar; class QLabel; +class QSortFilterProxyModel; template class QList; class Console final : public QWidget { @@ -76,6 +77,7 @@ private: MenuBar *menubar; QWidget *results_header; QLabel *results_header_label; + QSortFilterProxyModel *results_proxy_model; // NOTE: store target history as scope node id's // Last is closest to current