Core: Add searchable terminal

Change-Id: Id058fb1a97c967fc253b08edf3910f019e708b50
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Marcus Tillmanns
2023-07-20 08:34:09 +02:00
parent 68c3103f76
commit 80b23292b1
6 changed files with 96 additions and 59 deletions

View File

@@ -5,14 +5,12 @@
#include "shellintegration.h"
#include "shortcutmap.h"
#include "terminalsearch.h"
#include <solutions/terminal/terminalview.h>
#include <aggregation/aggregate.h>
#include <coreplugin/actionmanager/command.h>
#include <coreplugin/icontext.h>
#include <coreplugin/terminal/searchableterminal.h>
#include <utils/link.h>
#include <utils/process.h>
@@ -22,7 +20,7 @@ namespace Terminal {
using RegisteredAction = std::unique_ptr<QAction, std::function<void(QAction *)>>;
class TerminalWidget : public TerminalSolution::TerminalView
class TerminalWidget : public Core::SearchableTerminal
{
Q_OBJECT
public:
@@ -31,8 +29,6 @@ public:
void closeTerminal();
TerminalSearch *search() { return m_search.get(); }
void setShellName(const QString &shellName);
QString shellName() const;
QString title() const;
@@ -80,8 +76,6 @@ protected:
void setClipboard(const QString &text) override;
std::optional<TerminalView::Link> toLink(const QString &text) override;
const QList<TerminalSolution::SearchHit> &searchHits() const override;
RegisteredAction registerAction(Utils::Id commandId, const Core::Context &context);
void registerShortcut(Core::Command *command);
@@ -95,8 +89,6 @@ private:
QString m_shellName;
QString m_title;
TerminalSolution::SearchHit m_lastSelectedHit{};
Utils::Id m_identifier;
Utils::Terminal::OpenTerminalParameters m_openParameters;
@@ -104,11 +96,6 @@ private:
Utils::FilePath m_cwd;
Utils::CommandLine m_currentCommand;
using TerminalSearchPtr = std::unique_ptr<TerminalSearch, std::function<void(TerminalSearch *)>>;
TerminalSearchPtr m_search;
Aggregation::Aggregate *m_aggregate{nullptr};
RegisteredAction m_copy;
RegisteredAction m_paste;
RegisteredAction m_clearSelection;