┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/private
diff options
context:
space:
mode:
authorAhmad Samir <[email protected]>2019-12-24 17:15:44 +0200
committerAhmad Samir <[email protected]>2020-05-06 11:37:38 +0200
commite3c03e466ea53e575752154cde4e24caea118471 (patch)
treec939719355c672406ad1e0df7fcff15bd947afa6 /src/kitemviews/private
parent37deaaef2c39a4c4b410cd0313a55a4072d2b2ff (diff)
Port QRegExp to QRegularExpression
Summary: Port QRegExp::exactMatch() with QRegularExpression::anchoredPattern(). Port QRegExp::Wildcard with QRegularExpression::wildcardToRegularExpression(). Note that QRegularExpression::wildcardToRegularExpression() returns an anchored pattern. Test Plan: Using the filter bar in dolphin works as before. All unit tests pass, except: - kfileitemmodeltest (which is unrelated AFAICS); it fails on master too - placesitemmodeltest, which fails on master too Reviewers: #dolphin, elvisangelaccio, meven Reviewed By: #dolphin, elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D26215
Diffstat (limited to 'src/kitemviews/private')
-rw-r--r--src/kitemviews/private/kfileitemmodelfilter.cpp13
-rw-r--r--src/kitemviews/private/kfileitemmodelfilter.h4
2 files changed, 8 insertions, 9 deletions
diff --git a/src/kitemviews/private/kfileitemmodelfilter.cpp b/src/kitemviews/private/kfileitemmodelfilter.cpp
index fc56cc71d..bcd875132 100644
--- a/src/kitemviews/private/kfileitemmodelfilter.cpp
+++ b/src/kitemviews/private/kfileitemmodelfilter.cpp
@@ -20,8 +20,9 @@
#include "kfileitemmodelfilter.h"
-#include <KFileItem>
+#include <QRegularExpression>
+#include <KFileItem>
KFileItemModelFilter::KFileItemModelFilter() :
m_useRegExp(false),
@@ -44,12 +45,10 @@ void KFileItemModelFilter::setPattern(const QString& filter)
if (filter.contains('*') || filter.contains('?') || filter.contains('[')) {
if (!m_regExp) {
- m_regExp = new QRegExp();
- m_regExp->setCaseSensitivity(Qt::CaseInsensitive);
- m_regExp->setMinimal(false);
- m_regExp->setPatternSyntax(QRegExp::WildcardUnix);
+ m_regExp = new QRegularExpression();
+ m_regExp->setPatternOptions(QRegularExpression::CaseInsensitiveOption);
}
- m_regExp->setPattern(filter);
+ m_regExp->setPattern(QRegularExpression::wildcardToRegularExpression(filter));
m_useRegExp = m_regExp->isValid();
} else {
m_useRegExp = false;
@@ -103,7 +102,7 @@ bool KFileItemModelFilter::matches(const KFileItem& item) const
bool KFileItemModelFilter::matchesPattern(const KFileItem& item) const
{
if (m_useRegExp) {
- return m_regExp->exactMatch(item.text());
+ return m_regExp->match(item.text()).hasMatch();
} else {
return item.text().toLower().contains(m_lowerCasePattern);
}
diff --git a/src/kitemviews/private/kfileitemmodelfilter.h b/src/kitemviews/private/kfileitemmodelfilter.h
index f9f588aba..b56e0ad5b 100644
--- a/src/kitemviews/private/kfileitemmodelfilter.h
+++ b/src/kitemviews/private/kfileitemmodelfilter.h
@@ -26,7 +26,7 @@
#include <QStringList>
class KFileItem;
-class QRegExp;
+class QRegularExpression;
/**
* @brief Allows to check whether an item of the KFileItemModel
@@ -83,7 +83,7 @@ private:
bool m_useRegExp; // If true, m_regExp is used for filtering,
// otherwise m_lowerCaseFilter is used.
- QRegExp* m_regExp;
+ QRegularExpression *m_regExp;
QString m_lowerCasePattern; // Lowercase version of m_filter for
// faster comparison in matches().
QString m_pattern; // Property set by setPattern().