diff --git a/src/libs/utils/filesearch.cpp b/src/libs/utils/filesearch.cpp index 259e38af043..0fbb2ad9f3c 100644 --- a/src/libs/utils/filesearch.cpp +++ b/src/libs/utils/filesearch.cpp @@ -194,8 +194,8 @@ static SearchResultItems searchInContents(const QFuture &future, const QSt return searchWithoutRegExp(future, searchTerm, flags, filePath, contents); } -void searchInContents(QPromise &promise, const QString &searchTerm, - FindFlags flags, const FilePath &filePath, const QString &contents) +void Utils::searchInContents(QPromise &promise, const QString &searchTerm, + FindFlags flags, const FilePath &filePath, const QString &contents) { const QFuture future(promise.future()); const SearchResultItems results = searchInContents(future, searchTerm, flags, filePath, diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index aad9553e748..7388a3ae393 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -48,6 +48,7 @@ #include #include +#include #include #include #include @@ -895,19 +896,9 @@ void TextEditorWidgetFind::selectAll(const QString &txt, FindFlags findFlags) m_editor->setFocus(); }); - const FilePath &fileName = m_editor->textDocument()->filePath(); - QMap fileToContentsMap; - fileToContentsMap[fileName] = m_editor->textDocument()->plainText(); - - FileListIterator *it = new FileListIterator({fileName}, - {const_cast( - m_editor->textDocument()->codec())}); - const QTextDocument::FindFlags findFlags2 = Utils::textDocumentFlagsForFindFlags(findFlags); - - if (findFlags & FindRegularExpression) - m_selectWatcher->setFuture(findInFilesRegExp(txt, it, findFlags2, fileToContentsMap)); - else - m_selectWatcher->setFuture(findInFiles(txt, it, findFlags2, fileToContentsMap)); + m_selectWatcher->setFuture(Utils::asyncRun(Utils::searchInContents, txt, findFlags, + m_editor->textDocument()->filePath(), + m_editor->textDocument()->plainText())); } void TextEditorWidgetFind::cancelCurrentSelectAll() @@ -6743,19 +6734,8 @@ void TextEditorWidgetPrivate::highlightSearchResultsInScrollBar() connect(m_searchWatcher, &QFutureWatcher::finished, this, &TextEditorWidgetPrivate::searchFinished); m_searchWatcher->setPendingResultsLimit(10); - - const QTextDocument::FindFlags findFlags = Utils::textDocumentFlagsForFindFlags(m_findFlags); - - const FilePath &fileName = m_document->filePath(); - FileListIterator *it = - new FileListIterator({fileName} , {const_cast(m_document->codec())}); - QMap fileToContentsMap; - fileToContentsMap[fileName] = m_document->plainText(); - - if (m_findFlags & FindRegularExpression) - m_searchWatcher->setFuture(findInFilesRegExp(txt, it, findFlags, fileToContentsMap)); - else - m_searchWatcher->setFuture(findInFiles(txt, it, findFlags, fileToContentsMap)); + m_searchWatcher->setFuture(Utils::asyncRun(Utils::searchInContents, txt, m_findFlags, + m_document->filePath(), m_document->plainText())); } void TextEditorWidgetPrivate::scheduleUpdateHighlightScrollBar()