aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-12-13 18:13:59 +0100
committerhjk <hjk@qt.io>2023-12-14 07:38:59 +0000
commit32193684ef625d1b0c1547cda7776b43142f5a3d (patch)
tree9be9330b9cd6497d1f13f540d70b72388565c819
parent0af4518724993c87dac5326b6639a682ded96df1 (diff)
SilverSearcher: Modernize plugin item setup
Change-Id: I787c28853b1e2993db008f47fe1cc71244471338 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--src/plugins/silversearcher/findinfilessilversearcher.cpp101
-rw-r--r--src/plugins/silversearcher/findinfilessilversearcher.h37
-rw-r--r--src/plugins/silversearcher/silversearcherplugin.cpp2
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 &parameters) {
+ return Utils::asyncRun(runSilverSeacher, parameters, searchOptions);
+ };
+ }
-SearchExecutor FindInFilesSilverSearcher::searchExecutor() const
-{
- return [searchOptions = m_searchOptionsLineEdit->text()](const FileFindParameters &parameters) {
- 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>();