diff options
author | hjk <[email protected]> | 2023-12-13 18:13:59 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2023-12-14 07:38:59 +0000 |
commit | 32193684ef625d1b0c1547cda7776b43142f5a3d (patch) | |
tree | 9be9330b9cd6497d1f13f540d70b72388565c819 /src/plugins/silversearcher | |
parent | 0af4518724993c87dac5326b6639a682ded96df1 (diff) |
SilverSearcher: Modernize plugin item setup
Change-Id: I787c28853b1e2993db008f47fe1cc71244471338
Reviewed-by: Christian Stenger <[email protected]>
Diffstat (limited to 'src/plugins/silversearcher')
-rw-r--r-- | src/plugins/silversearcher/findinfilessilversearcher.cpp | 101 | ||||
-rw-r--r-- | src/plugins/silversearcher/findinfilessilversearcher.h | 37 | ||||
-rw-r--r-- | src/plugins/silversearcher/silversearcherplugin.cpp | 2 |
3 files changed, 50 insertions, 90 deletions
diff --git a/src/plugins/silversearcher/findinfilessilversearcher.cpp b/src/plugins/silversearcher/findinfilessilversearcher.cpp index 50ceeccdba9..9225fb7e664 100644 --- a/src/plugins/silversearcher/findinfilessilversearcher.cpp +++ b/src/plugins/silversearcher/findinfilessilversearcher.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #include "findinfilessilversearcher.h" + #include "silversearcherparser.h" #include "silversearchertr.h" @@ -16,12 +17,10 @@ #include <QLabel> #include <QLineEdit> -using namespace Core; -using namespace SilverSearcher; using namespace TextEditor; using namespace Utils; -namespace { +namespace SilverSearcher { const char s_searchOptionsString[] = "SearchOptionsString"; @@ -99,65 +98,61 @@ static void runSilverSeacher(QPromise<SearchResultItems> &promise, TextEditor::searchInProcessOutput(promise, parameters, setupProcess, outputParser); } -} // namespace - -namespace SilverSearcher { - -FindInFilesSilverSearcher::FindInFilesSilverSearcher(QObject *parent) - : SearchEngine(parent) - , m_path("ag") - , m_toolName("SilverSearcher") +class FindInFilesSilverSearcher final : public SearchEngine { - m_widget = new QWidget; - auto layout = new QHBoxLayout(m_widget); - layout->setContentsMargins(0, 0, 0, 0); - m_searchOptionsLineEdit = new QLineEdit; - m_searchOptionsLineEdit->setPlaceholderText(Tr::tr("Search Options (optional)")); - layout->addWidget(m_searchOptionsLineEdit); - - FindInFiles *findInFiles = FindInFiles::instance(); - QTC_ASSERT(findInFiles, return); - findInFiles->addSearchEngine(this); - - // TODO: Make disabled by default and run isSilverSearcherAvailable asynchronously - setEnabled(isSilverSearcherAvailable()); - if (!isEnabled()) { - QLabel *label = new QLabel(Tr::tr("Silver Searcher is not available on the system.")); - label->setStyleSheet("QLabel { color : red; }"); - layout->addWidget(label); +public: + FindInFilesSilverSearcher() + { + m_widget = new QWidget; + auto layout = new QHBoxLayout(m_widget); + layout->setContentsMargins(0, 0, 0, 0); + m_searchOptionsLineEdit = new QLineEdit; + m_searchOptionsLineEdit->setPlaceholderText(Tr::tr("Search Options (optional)")); + layout->addWidget(m_searchOptionsLineEdit); + + FindInFiles *findInFiles = FindInFiles::instance(); + QTC_ASSERT(findInFiles, return); + findInFiles->addSearchEngine(this); + + // TODO: Make disabled by default and run isSilverSearcherAvailable asynchronously + setEnabled(isSilverSearcherAvailable()); + if (!isEnabled()) { + QLabel *label = new QLabel(Tr::tr("Silver Searcher is not available on the system.")); + label->setStyleSheet("QLabel { color : red; }"); + layout->addWidget(label); + } } -} -QString FindInFilesSilverSearcher::title() const -{ - return "Silver Searcher"; -} + QString title() const final { return "Silver Searcher"; } + QString toolTip() const final { return {}; } + QWidget *widget() const final { return m_widget; } -QString FindInFilesSilverSearcher::toolTip() const -{ - return {}; -} + void readSettings(QtcSettings *settings) final + { + m_searchOptionsLineEdit->setText(settings->value(s_searchOptionsString).toString()); + } -QWidget *FindInFilesSilverSearcher::widget() const -{ - return m_widget; -} + void writeSettings(QtcSettings *settings) const final + { + settings->setValue(s_searchOptionsString, m_searchOptionsLineEdit->text()); + } -void FindInFilesSilverSearcher::writeSettings(QtcSettings *settings) const -{ - settings->setValue(s_searchOptionsString, m_searchOptionsLineEdit->text()); -} + SearchExecutor searchExecutor() const final + { + return [searchOptions = m_searchOptionsLineEdit->text()](const FileFindParameters ¶meters) { + return Utils::asyncRun(runSilverSeacher, parameters, searchOptions); + }; + } -SearchExecutor FindInFilesSilverSearcher::searchExecutor() const -{ - return [searchOptions = m_searchOptionsLineEdit->text()](const FileFindParameters ¶meters) { - return Utils::asyncRun(runSilverSeacher, parameters, searchOptions); - }; -} +private: + FilePath m_directorySetting; + QPointer<QWidget> m_widget; + QPointer<QLineEdit> m_searchOptionsLineEdit; +}; -void FindInFilesSilverSearcher::readSettings(QtcSettings *settings) +void setupFindInFilesSilverSearcher() { - m_searchOptionsLineEdit->setText(settings->value(s_searchOptionsString).toString()); + static FindInFilesSilverSearcher theFindInFilesSilverSearcher; } } // namespace SilverSearcher diff --git a/src/plugins/silversearcher/findinfilessilversearcher.h b/src/plugins/silversearcher/findinfilessilversearcher.h index 1819260a0ec..5da58e4bf45 100644 --- a/src/plugins/silversearcher/findinfilessilversearcher.h +++ b/src/plugins/silversearcher/findinfilessilversearcher.h @@ -3,43 +3,8 @@ #pragma once -#include <texteditor/basefilefind.h> - -#include <utils/filepath.h> - -#include <QPointer> - -QT_BEGIN_NAMESPACE -class QLineEdit; -QT_END_NAMESPACE - -namespace Core { class IFindSupport; } - namespace SilverSearcher { -class FindInFilesSilverSearcher : public TextEditor::SearchEngine -{ - Q_OBJECT - -public: - explicit FindInFilesSilverSearcher(QObject *parent); - - // TextEditor::FileFindExtension - QString title() const override; - QString toolTip() const override; - QWidget *widget() const override; - void readSettings(Utils::QtcSettings *settings) override; - void writeSettings(Utils::QtcSettings *settings) const override; - TextEditor::SearchExecutor searchExecutor() const override; - -private: - QPointer<Core::IFindSupport> m_currentFindSupport; - - Utils::FilePath m_directorySetting; - QPointer<QWidget> m_widget; - QPointer<QLineEdit> m_searchOptionsLineEdit; - QString m_path; - QString m_toolName; -}; +void setupFindInFilesSilverSearcher(); } // namespace SilverSearcher diff --git a/src/plugins/silversearcher/silversearcherplugin.cpp b/src/plugins/silversearcher/silversearcherplugin.cpp index fd3b3ae877d..be9d756451f 100644 --- a/src/plugins/silversearcher/silversearcherplugin.cpp +++ b/src/plugins/silversearcher/silversearcherplugin.cpp @@ -15,7 +15,7 @@ class SilverSearcherPlugin final : public ExtensionSystem::IPlugin void initialize() final { - new FindInFilesSilverSearcher(this); + setupFindInFilesSilverSearcher(); #ifdef WITH_TESTS addTest<OutputParserTest>(); |