diff options
| author | Ahmad Samir <[email protected]> | 2019-12-24 17:15:44 +0200 |
|---|---|---|
| committer | Ahmad Samir <[email protected]> | 2020-05-06 11:37:38 +0200 |
| commit | e3c03e466ea53e575752154cde4e24caea118471 (patch) | |
| tree | c939719355c672406ad1e0df7fcff15bd947afa6 /src/views | |
| parent | 37deaaef2c39a4c4b410cd0313a55a4072d2b2ff (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/views')
| -rw-r--r-- | src/views/dolphinview.cpp | 4 | ||||
| -rw-r--r-- | src/views/dolphinview.h | 14 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index f0dc17837..b433ca343 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -364,7 +364,7 @@ void DolphinView::markUrlAsCurrent(const QUrl &url) m_scrollToCurrentItem = true; } -void DolphinView::selectItems(const QRegExp& pattern, bool enabled) +void DolphinView::selectItems(const QRegularExpression ®exp, bool enabled) { const KItemListSelectionManager::SelectionMode mode = enabled ? KItemListSelectionManager::Select @@ -373,7 +373,7 @@ void DolphinView::selectItems(const QRegExp& pattern, bool enabled) for (int index = 0; index < m_model->count(); index++) { const KFileItem item = m_model->fileItem(index); - if (pattern.exactMatch(item.text())) { + if (regexp.match(item.text()).hasMatch()) { // An alternative approach would be to store the matching items in a KItemSet and // select them in one go after the loop, but we'd need a new function // KItemListSelectionManager::setSelected(KItemSet, SelectionMode mode) diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index 83c5f92a4..ca0f62b23 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -46,7 +46,7 @@ class ToolTipManager; class VersionControlObserver; class ViewProperties; class QGraphicsSceneDragDropEvent; -class QRegExp; +class QRegularExpression; /** * @short Represents a view for the directory content. @@ -183,10 +183,16 @@ public: void markUrlAsCurrent(const QUrl& url); /** - * All items that match to the pattern \a pattern will get selected - * if \a enabled is true and deselected if \a enabled is false. + * All items that match the regular expression \a regexp will get selected + * if \a enabled is true and deselected if \a enabled is false. + * + * Note that to match the whole string the pattern should be anchored: + * - you can anchor the pattern with QRegularExpression::anchoredPattern() + * - if you use QRegularExpresssion::wildcardToRegularExpression(), don't use + * QRegularExpression::anchoredPattern() as the former already returns an + * anchored pattern */ - void selectItems(const QRegExp& pattern, bool enabled); + void selectItems(const QRegularExpression ®exp, bool enabled); /** * Sets the zoom level to \a level. It is assured that the used |
