From 2ed5d7998aa03358674de56ad407f57579d0fdb9 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 22 Nov 2016 13:59:54 +0100 Subject: [PATCH] Find Symbols: Use QRegularExpression instead of QRegExp This makes it more consistent with the other find filters. Change-Id: I39ad144d66091c3ccc5e4452009cc236165915ea Reviewed-by: Nikolai Kosjar --- src/plugins/cpptools/builtinindexingsupport.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/plugins/cpptools/builtinindexingsupport.cpp b/src/plugins/cpptools/builtinindexingsupport.cpp index 3ce769afa8d..99277ddb13d 100644 --- a/src/plugins/cpptools/builtinindexingsupport.cpp +++ b/src/plugins/cpptools/builtinindexingsupport.cpp @@ -46,6 +46,7 @@ #include #include #include +#include using namespace CppTools; using namespace CppTools::Internal; @@ -281,11 +282,13 @@ public: CPlusPlus::Snapshot::const_iterator it = m_snapshot.begin(); QString findString = (m_parameters.flags & Core::FindRegularExpression - ? m_parameters.text : QRegExp::escape(m_parameters.text)); + ? m_parameters.text : QRegularExpression::escape(m_parameters.text)); if (m_parameters.flags & Core::FindWholeWords) findString = QString::fromLatin1("\\b%1\\b").arg(findString); - QRegExp matcher(findString, (m_parameters.flags & Core::FindCaseSensitively - ? Qt::CaseSensitive : Qt::CaseInsensitive)); + QRegularExpression matcher(findString, (m_parameters.flags & Core::FindCaseSensitively + ? QRegularExpression::NoPatternOption + : QRegularExpression::CaseInsensitiveOption)); + matcher.optimize(); while (it != m_snapshot.end()) { if (future.isPaused()) future.waitForResume(); @@ -294,7 +297,7 @@ public: if (m_fileNames.isEmpty() || m_fileNames.contains(it.value()->fileName())) { QVector resultItems; auto filter = [&](const IndexItem::Ptr &info) -> IndexItem::VisitorResult { - if (matcher.indexIn(info->symbolName()) != -1) { + if (matcher.match(info->symbolName()).hasMatch()) { QString text = info->symbolName(); QString scope = info->symbolScope(); if (info->type() == IndexItem::Function) {