summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-09-03 05:05:31 +0200
committerArno <arno@disconnect.de>2016-09-03 05:05:31 +0200
commitea8d506033f5694ad3053aa691640aff3a675fb9 (patch)
tree6432f5886564456fea22e0471a6afdf3c49a7523
parentf80c6c80da7530b43f15acd3b60b27ab6c629f3d (diff)
downloadShemovCleaner-ea8d506033f5694ad3053aa691640aff3a675fb9.tar.gz
ShemovCleaner-ea8d506033f5694ad3053aa691640aff3a675fb9.tar.bz2
ShemovCleaner-ea8d506033f5694ad3053aa691640aff3a675fb9.zip
Make FileWidget searchable
-rw-r--r--filewidget.cpp20
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);
+ }
+ }
+ }
}