SearchEngine: Replace executeSearch() with searchExecutor()

Change-Id: Icce615d0cedef35ff4278f9ecfffa415b1aa0386
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2023-06-28 19:14:50 +02:00
parent e02e122991
commit 731f61c30d
6 changed files with 23 additions and 18 deletions

View File

@@ -265,9 +265,11 @@ void GitGrep::writeSettings(QSettings *settings) const
settings->setValue(GitGrepRef, m_treeLineEdit->text());
}
QFuture<SearchResultItems> GitGrep::executeSearch(const FileFindParameters &parameters)
SearchExecutor GitGrep::searchExecutor() const
{
return Utils::asyncRun(runGitGrep, parameters);
return [](const FileFindParameters &parameters) {
return Utils::asyncRun(runGitGrep, parameters);
};
}
EditorOpener GitGrep::editorOpener() const

View File

@@ -28,8 +28,7 @@ public:
QVariant parameters() const override;
void readSettings(QSettings *settings) override;
void writeSettings(QSettings *settings) const override;
QFuture<Utils::SearchResultItems> executeSearch(
const TextEditor::FileFindParameters &parameters) override;
TextEditor::SearchExecutor searchExecutor() const override;
TextEditor::EditorOpener editorOpener() const override;
private:

View File

@@ -164,10 +164,11 @@ void FindInFilesSilverSearcher::writeSettings(QSettings *settings) const
settings->setValue(s_searchOptionsString, m_searchOptionsLineEdit->text());
}
QFuture<SearchResultItems> FindInFilesSilverSearcher::executeSearch(
const FileFindParameters &parameters)
SearchExecutor FindInFilesSilverSearcher::searchExecutor() const
{
return Utils::asyncRun(runSilverSeacher, parameters);
return [](const FileFindParameters &parameters) {
return Utils::asyncRun(runSilverSeacher, parameters);
};
}
void FindInFilesSilverSearcher::readSettings(QSettings *settings)

View File

@@ -31,8 +31,7 @@ public:
QVariant parameters() const override;
void readSettings(QSettings *settings) override;
void writeSettings(QSettings *settings) const override;
QFuture<Utils::SearchResultItems> executeSearch(
const TextEditor::FileFindParameters &parameters) override;
TextEditor::SearchExecutor searchExecutor() const override;
private:
QPointer<Core::IFindSupport> m_currentFindSupport;

View File

@@ -145,11 +145,12 @@ public:
QVariant parameters() const override { return {}; }
void readSettings(QSettings * /*settings*/) override {}
void writeSettings(QSettings * /*settings*/) const override {}
QFuture<SearchResultItems> executeSearch(const FileFindParameters &parameters) override
SearchExecutor searchExecutor() const override
{
return Utils::findInFiles(parameters.text, parameters.fileContainerProvider(),
parameters.flags, TextDocument::openedTextDocumentContents());
return [](const FileFindParameters &parameters) {
return Utils::findInFiles(parameters.text, parameters.fileContainerProvider(),
parameters.flags, TextDocument::openedTextDocumentContents());
};
}
private:
@@ -307,16 +308,18 @@ void BaseFileFind::runNewSearch(const QString &txt, FindFlags findFlags,
setupSearch(search);
search->setTextToReplace(txt);
search->setSearchAgainSupported(true);
SearchEngine *searchEngine = currentSearchEngine();
FileFindParameters parameters;
parameters.text = txt;
parameters.flags = findFlags;
parameters.nameFilters = fileNameFilters();
parameters.exclusionFilters = fileExclusionFilters();
parameters.additionalParameters = additionalParameters();
parameters.searchEngineParameters = currentSearchEngine()->parameters();
parameters.searchEngineParameters = searchEngine->parameters();
parameters.searchEngineIndex = d->m_currentSearchEngineIndex;
parameters.fileContainerProvider = fileContainerProvider();
parameters.editorOpener = currentSearchEngine()->editorOpener();
parameters.editorOpener = searchEngine->editorOpener();
parameters.searchExecutor = searchEngine->searchExecutor();
search->setUserData(QVariant::fromValue(parameters));
connect(search, &SearchResult::activated, this, [this, search](const SearchResultItem &item) {
@@ -594,7 +597,7 @@ FilePaths BaseFileFind::replaceAll(const QString &text, const SearchResultItems
QFuture<SearchResultItems> BaseFileFind::executeSearch(const FileFindParameters &parameters)
{
return d->m_searchEngines[parameters.searchEngineIndex]->executeSearch(parameters);
return parameters.searchExecutor(parameters);
}
namespace Internal {

View File

@@ -32,6 +32,7 @@ class FileFindParameters;
using FileContainerProvider = std::function<Utils::FileContainer()>;
using EditorOpener = std::function<Core::IEditor *(const Utils::SearchResultItem &,
const FileFindParameters &)>;
using SearchExecutor = std::function<QFuture<Utils::SearchResultItems>(const FileFindParameters &)>;
class TEXTEDITOR_EXPORT FileFindParameters
{
@@ -45,6 +46,7 @@ public:
Utils::FindFlags flags;
FileContainerProvider fileContainerProvider = {};
EditorOpener editorOpener = {};
SearchExecutor searchExecutor = {};
};
using ProcessSetupHandler = std::function<void(Utils::Process &)>;
@@ -72,8 +74,7 @@ public:
virtual QVariant parameters() const = 0;
virtual void readSettings(QSettings *settings) = 0;
virtual void writeSettings(QSettings *settings) const = 0;
virtual QFuture<Utils::SearchResultItems> executeSearch(
const FileFindParameters &parameters) = 0;
virtual SearchExecutor searchExecutor() const = 0;
virtual EditorOpener editorOpener() const { return {}; }
bool isEnabled() const;
void setEnabled(bool enabled);