diff options
author | Arno <arno@disconnect.de> | 2016-09-03 05:05:31 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-09-03 05:05:31 +0200 |
commit | ea8d506033f5694ad3053aa691640aff3a675fb9 (patch) | |
tree | 6432f5886564456fea22e0471a6afdf3c49a7523 | |
parent | f80c6c80da7530b43f15acd3b60b27ab6c629f3d (diff) | |
download | ShemovCleaner-ea8d506033f5694ad3053aa691640aff3a675fb9.tar.gz ShemovCleaner-ea8d506033f5694ad3053aa691640aff3a675fb9.tar.bz2 ShemovCleaner-ea8d506033f5694ad3053aa691640aff3a675fb9.zip |
Make FileWidget searchable
-rw-r--r-- | filewidget.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/filewidget.cpp b/filewidget.cpp index df97b3a..6d67007 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -182,5 +182,23 @@ void FileWidget::writeSettings(){ } void FileWidget::searchFile(){ - + mFileView->selectionModel()->clear(); + int count = mProxy->rowCount(); + if(mSearchFile->text().isEmpty()){ + return; + } + QRegularExpression regex(mSearchFile->text(), QRegularExpression::CaseInsensitiveOption); + int success = 0; + for(int i = 0; i < count; ++i){ + QModelIndex cur = mProxy->index(i, 1); + QString fn = cur.data().toString(); + QRegularExpressionMatch m = regex.match(fn); + if(m.hasMatch()){ + ++success; + mFileView->selectionModel()->select(cur, QItemSelectionModel::Select | QItemSelectionModel::Rows); + if(success == 1){ + mFileView->scrollTo(cur); + } + } + } } |