From ea8d506033f5694ad3053aa691640aff3a675fb9 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 3 Sep 2016 05:05:31 +0200 Subject: Make FileWidget searchable --- filewidget.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'filewidget.cpp') 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); + } + } + } } -- cgit v1.2.3-70-g09d2