diff options
Diffstat (limited to 'collectionwidget.cpp')
-rw-r--r-- | collectionwidget.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
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); + } +} |