forked from qt-creator/qt-creator
TextEditor: Reuse searchInContents()
Change-Id: I08403d05830232becf7e5329339aaecf288894b7 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -194,8 +194,8 @@ static SearchResultItems searchInContents(const QFuture<void> &future, const QSt
|
|||||||
return searchWithoutRegExp(future, searchTerm, flags, filePath, contents);
|
return searchWithoutRegExp(future, searchTerm, flags, filePath, contents);
|
||||||
}
|
}
|
||||||
|
|
||||||
void searchInContents(QPromise<SearchResultItems> &promise, const QString &searchTerm,
|
void Utils::searchInContents(QPromise<SearchResultItems> &promise, const QString &searchTerm,
|
||||||
FindFlags flags, const FilePath &filePath, const QString &contents)
|
FindFlags flags, const FilePath &filePath, const QString &contents)
|
||||||
{
|
{
|
||||||
const QFuture<void> future(promise.future());
|
const QFuture<void> future(promise.future());
|
||||||
const SearchResultItems results = searchInContents(future, searchTerm, flags, filePath,
|
const SearchResultItems results = searchInContents(future, searchTerm, flags, filePath,
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
#include <coreplugin/manhattanstyle.h>
|
#include <coreplugin/manhattanstyle.h>
|
||||||
|
|
||||||
#include <utils/algorithm.h>
|
#include <utils/algorithm.h>
|
||||||
|
#include <utils/async.h>
|
||||||
#include <utils/camelcasecursor.h>
|
#include <utils/camelcasecursor.h>
|
||||||
#include <utils/dropsupport.h>
|
#include <utils/dropsupport.h>
|
||||||
#include <utils/executeondestruction.h>
|
#include <utils/executeondestruction.h>
|
||||||
@@ -895,19 +896,9 @@ void TextEditorWidgetFind::selectAll(const QString &txt, FindFlags findFlags)
|
|||||||
m_editor->setFocus();
|
m_editor->setFocus();
|
||||||
});
|
});
|
||||||
|
|
||||||
const FilePath &fileName = m_editor->textDocument()->filePath();
|
m_selectWatcher->setFuture(Utils::asyncRun(Utils::searchInContents, txt, findFlags,
|
||||||
QMap<FilePath, QString> fileToContentsMap;
|
m_editor->textDocument()->filePath(),
|
||||||
fileToContentsMap[fileName] = m_editor->textDocument()->plainText();
|
m_editor->textDocument()->plainText()));
|
||||||
|
|
||||||
FileListIterator *it = new FileListIterator({fileName},
|
|
||||||
{const_cast<QTextCodec *>(
|
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextEditorWidgetFind::cancelCurrentSelectAll()
|
void TextEditorWidgetFind::cancelCurrentSelectAll()
|
||||||
@@ -6743,19 +6734,8 @@ void TextEditorWidgetPrivate::highlightSearchResultsInScrollBar()
|
|||||||
connect(m_searchWatcher, &QFutureWatcher<SearchResultItems>::finished,
|
connect(m_searchWatcher, &QFutureWatcher<SearchResultItems>::finished,
|
||||||
this, &TextEditorWidgetPrivate::searchFinished);
|
this, &TextEditorWidgetPrivate::searchFinished);
|
||||||
m_searchWatcher->setPendingResultsLimit(10);
|
m_searchWatcher->setPendingResultsLimit(10);
|
||||||
|
m_searchWatcher->setFuture(Utils::asyncRun(Utils::searchInContents, txt, m_findFlags,
|
||||||
const QTextDocument::FindFlags findFlags = Utils::textDocumentFlagsForFindFlags(m_findFlags);
|
m_document->filePath(), m_document->plainText()));
|
||||||
|
|
||||||
const FilePath &fileName = m_document->filePath();
|
|
||||||
FileListIterator *it =
|
|
||||||
new FileListIterator({fileName} , {const_cast<QTextCodec *>(m_document->codec())});
|
|
||||||
QMap<FilePath, QString> 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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextEditorWidgetPrivate::scheduleUpdateHighlightScrollBar()
|
void TextEditorWidgetPrivate::scheduleUpdateHighlightScrollBar()
|
||||||
|
|||||||
Reference in New Issue
Block a user