diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,7 @@ include(ECMMarkAsTest) include(ECMPoQmTools) +set(REQUIRED_QT_VERSION 5.12.0) find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Core Gui Widgets Test) find_package(Boost REQUIRED) find_package(Threads REQUIRED) diff --git a/src/presentation/taskfilterproxymodel.cpp b/src/presentation/taskfilterproxymodel.cpp --- a/src/presentation/taskfilterproxymodel.cpp +++ b/src/presentation/taskfilterproxymodel.cpp @@ -21,6 +21,7 @@ USA. */ +#include #include "taskfilterproxymodel.h" @@ -89,8 +90,8 @@ const QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent); const auto task = index.data(QueryTreeModelBase::ObjectRole).value(); if (task) { - QRegExp regexp = filterRegExp(); - regexp.setCaseSensitivity(Qt::CaseInsensitive); + QRegularExpression regexp = filterRegularExpression(); + regexp.setPatternOptions(QRegularExpression::CaseInsensitiveOption); if (task->title().contains(regexp) || task->text().contains(regexp)) { diff --git a/src/widgets/filterwidget.cpp b/src/widgets/filterwidget.cpp --- a/src/widgets/filterwidget.cpp +++ b/src/widgets/filterwidget.cpp @@ -76,7 +76,7 @@ void FilterWidget::onTextChanged(const QString &text) { - m_model->setFilterFixedString(text); + m_model->setFilterRegularExpression(QRegularExpression::escape(text)); } void FilterWidget::onSortTypeChanged(int index) diff --git a/src/widgets/quickselectdialog.cpp b/src/widgets/quickselectdialog.cpp --- a/src/widgets/quickselectdialog.cpp +++ b/src/widgets/quickselectdialog.cpp @@ -89,15 +89,15 @@ else m_label->setText(i18n("Path: %1", textFilter)); - m_filterProxyModel->setFilterFixedString(textFilter); + m_filterProxyModel->setFilterRegularExpression(QRegularExpression::escape(textFilter)); m_tree->expandAll(); } bool QuickSelectDialog::eventFilter(QObject *, QEvent *ev) { if (ev->type() == QEvent::KeyPress) { auto event = static_cast(ev); - auto filter = m_filterProxyModel->filterRegExp().pattern(); + auto filter = m_filterProxyModel->filterRegularExpression().pattern(); switch (event->key()) { case Qt::Key_Backspace: @@ -107,7 +107,7 @@ filter = QString(); break; default: - if (event->text().contains(QRegExp("^(\\w| )+$"))) { + if (event->text().contains(QRegularExpression(QStringLiteral("^(\\w| )+$")))) { filter += event->text(); } break; diff --git a/tests/units/presentation/taskfilterproxymodeltest.cpp b/tests/units/presentation/taskfilterproxymodeltest.cpp --- a/tests/units/presentation/taskfilterproxymodeltest.cpp +++ b/tests/units/presentation/taskfilterproxymodeltest.cpp @@ -83,7 +83,7 @@ output.setSourceModel(&input); // WHEN - output.setFilterFixedString(QStringLiteral("find me")); + output.setFilterRegularExpression(QStringLiteral("find me")); // THEN QCOMPARE(output.rowCount(), 2); @@ -139,7 +139,7 @@ output.setSourceModel(&input); // WHEN - output.setFilterFixedString(QStringLiteral("find me")); + output.setFilterRegularExpression(QStringLiteral("find me")); // THEN QCOMPARE(output.rowCount(), 2); diff --git a/tests/units/widgets/filterwidgettest.cpp b/tests/units/widgets/filterwidgettest.cpp --- a/tests/units/widgets/filterwidgettest.cpp +++ b/tests/units/widgets/filterwidgettest.cpp @@ -44,7 +44,7 @@ QVERIFY(filter.proxyModel()); QVERIFY(!filter.proxyModel()->sourceModel()); - QCOMPARE(filter.proxyModel()->filterRegExp(), QRegExp()); + QCOMPARE(filter.proxyModel()->filterRegularExpression(), QRegularExpression()); QCOMPARE(filter.proxyModel()->sortOrder(), Qt::AscendingOrder); QCOMPARE(filter.proxyModel()->sortType(), Presentation::TaskFilterProxyModel::TitleSort); @@ -90,7 +90,7 @@ QTest::keyClicks(filterEdit, QStringLiteral("find me")); // THEN - QCOMPARE(filter.proxyModel()->filterRegExp().pattern(), QStringLiteral("find me")); + QCOMPARE(filter.proxyModel()->filterRegularExpression().pattern(), QStringLiteral("find\\ me")); } void shouldClearFilter() @@ -107,7 +107,7 @@ // THEN QVERIFY(filterEdit->text().isEmpty()); - QVERIFY(filter.proxyModel()->filterRegExp().pattern().isEmpty()); + QVERIFY(filter.proxyModel()->filterRegularExpression().pattern().isEmpty()); } void shouldShowExtension() diff --git a/tests/units/widgets/pageviewtest.cpp b/tests/units/widgets/pageviewtest.cpp --- a/tests/units/widgets/pageviewtest.cpp +++ b/tests/units/widgets/pageviewtest.cpp @@ -637,7 +637,7 @@ QSortFilterProxyModel proxyModel; stubPageModel.setProxyModel(&proxyModel); - proxyModel.setFilterFixedString("B"); + proxyModel.setFilterRegularExpression(QStringLiteral("B")); QPersistentModelIndex index = stubPageModel.centralListModel()->index(0, 0); QCOMPARE(index.data().toString(), QLatin1String("B"));