forked from qt-creator/qt-creator
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:
@@ -265,9 +265,11 @@ void GitGrep::writeSettings(QSettings *settings) const
|
||||
settings->setValue(GitGrepRef, m_treeLineEdit->text());
|
||||
}
|
||||
|
||||
QFuture<SearchResultItems> GitGrep::executeSearch(const FileFindParameters ¶meters)
|
||||
SearchExecutor GitGrep::searchExecutor() const
|
||||
{
|
||||
return Utils::asyncRun(runGitGrep, parameters);
|
||||
return [](const FileFindParameters ¶meters) {
|
||||
return Utils::asyncRun(runGitGrep, parameters);
|
||||
};
|
||||
}
|
||||
|
||||
EditorOpener GitGrep::editorOpener() const
|
||||
|
||||
@@ -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 ¶meters) override;
|
||||
TextEditor::SearchExecutor searchExecutor() const override;
|
||||
TextEditor::EditorOpener editorOpener() const override;
|
||||
|
||||
private:
|
||||
|
||||
@@ -164,10 +164,11 @@ void FindInFilesSilverSearcher::writeSettings(QSettings *settings) const
|
||||
settings->setValue(s_searchOptionsString, m_searchOptionsLineEdit->text());
|
||||
}
|
||||
|
||||
QFuture<SearchResultItems> FindInFilesSilverSearcher::executeSearch(
|
||||
const FileFindParameters ¶meters)
|
||||
SearchExecutor FindInFilesSilverSearcher::searchExecutor() const
|
||||
{
|
||||
return Utils::asyncRun(runSilverSeacher, parameters);
|
||||
return [](const FileFindParameters ¶meters) {
|
||||
return Utils::asyncRun(runSilverSeacher, parameters);
|
||||
};
|
||||
}
|
||||
|
||||
void FindInFilesSilverSearcher::readSettings(QSettings *settings)
|
||||
|
||||
@@ -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 ¶meters) override;
|
||||
TextEditor::SearchExecutor searchExecutor() const override;
|
||||
|
||||
private:
|
||||
QPointer<Core::IFindSupport> m_currentFindSupport;
|
||||
|
||||
@@ -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 ¶meters) override
|
||||
SearchExecutor searchExecutor() const override
|
||||
{
|
||||
return Utils::findInFiles(parameters.text, parameters.fileContainerProvider(),
|
||||
parameters.flags, TextDocument::openedTextDocumentContents());
|
||||
|
||||
return [](const FileFindParameters ¶meters) {
|
||||
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 ¶meters)
|
||||
{
|
||||
return d->m_searchEngines[parameters.searchEngineIndex]->executeSearch(parameters);
|
||||
return parameters.searchExecutor(parameters);
|
||||
}
|
||||
|
||||
namespace Internal {
|
||||
|
||||
@@ -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 ¶meters) = 0;
|
||||
virtual SearchExecutor searchExecutor() const = 0;
|
||||
virtual EditorOpener editorOpener() const { return {}; }
|
||||
bool isEnabled() const;
|
||||
void setEnabled(bool enabled);
|
||||
|
||||
Reference in New Issue
Block a user