diff options
author | Marcel Krems <m.krems@software-vision.eu> | 2020-04-05 16:47:31 +0200 |
---|---|---|
committer | Marcel Krems <m.krems@software-vision.eu> | 2020-08-24 18:56:58 +0000 |
commit | aae2512c85ff014eeca3c2ae82826dba31f4c259 (patch) | |
tree | baa519f3cee75088101ee730dcde74c5a6ef8f86 /src | |
parent | 401d8848764681b28dd1945813137ed990efeeb3 (diff) |
Fix CaseSensitivity handling for QRegularExpression in QSortFilterProxyModel
setFilterRegExp retains the caseSensitivity() while setFilterRegularExpression did not.
Change setFilterRegularExpression to also retain the case sensitivity.
Also fix the inverted logic in setFilterCaseSensitivity.
Fixes: QTBUG-83313
Change-Id: I46f494d320aee99d50612f01f63558c693276989
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: David Faure <david.faure@kdab.com>
(cherry picked from commit 9a921d78e87452962043721669f3027f7566eef4)
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/itemmodels/qsortfilterproxymodel.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp index 4f5593e0a0..bd4c7e93c5 100644 --- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp +++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp @@ -236,7 +236,7 @@ public: case ExpressionType::RegularExpression: { QRegularExpression::PatternOptions options = m_regularExpression.patternOptions(); - options.setFlag(QRegularExpression::CaseInsensitiveOption, cs == Qt::CaseSensitive); + options.setFlag(QRegularExpression::CaseInsensitiveOption, cs == Qt::CaseInsensitive); m_regularExpression.setPatternOptions(options); } break; @@ -2793,7 +2793,10 @@ void QSortFilterProxyModel::setFilterRegularExpression(const QString &pattern) { Q_D(QSortFilterProxyModel); d->filter_about_to_be_changed(); - QRegularExpression rx(pattern); + QRegularExpression rx(pattern, + d->filter_data.caseSensitivity() + ? QRegularExpression::NoPatternOption + : QRegularExpression::CaseInsensitiveOption); d->filter_data.setRegularExpression(rx); d->filter_changed(); } |