From d8749da92d94981efb77820d61d2547a168679d6 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 11 May 2018 20:43:46 +0200 Subject: Expand the level when filtering E.g., expand the artist to albums. --- collectionwidget.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'collectionwidget.cpp') diff --git a/collectionwidget.cpp b/collectionwidget.cpp index 96c46fc..127c6a6 100644 --- a/collectionwidget.cpp +++ b/collectionwidget.cpp @@ -28,7 +28,10 @@ CollectionWidget::CollectionWidget(QWidget *parent) : QWidget(parent){ connect(clearFilter, &QAction::triggered, [this, proxy] { mFilter->clear(); proxy->setFilterRegExp("");} ); filterTB->addAction(clearFilter); QAction *activateFilter = new QAction(QIcon(":/stomp.png"), tr("Filter!"), this); - connect(activateFilter, &QAction::triggered, [this, proxy] { proxy->setFilterRegExp(mFilter->text());} ); + connect(activateFilter, &QAction::triggered, [this, proxy] { + proxy->setFilterRegExp(mFilter->text()); + expandFirst(proxy); + } ); connect(mFilter, &QLineEdit::returnPressed, activateFilter, &QAction::trigger); filterTB->addAction(activateFilter); filterGBL->addWidget(filterTB); @@ -43,3 +46,12 @@ void CollectionWidget::enableSorting(int column, Qt::SortOrder sortOrder){ view()->setSortingEnabled(true); view()->sortByColumn(column, sortOrder); } + +void CollectionWidget::expandFirst(QSortFilterProxyModel *proxy){ + int row = 0; + QModelIndex idx = proxy->index(0, 0); + while(idx.isValid()){ + mView->expand(idx); + idx = proxy->index(++row, 0); + } +} -- cgit v1.2.3-70-g09d2