Rabbit Remote Control 0.1.0-alpha
Loading...
Searching...
No Matches
OperateTerminal.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#include "Operate.h"
6#include "Backend.h"
7#include "ParameterTerminalBase.h"
8
25class PLUGIN_EXPORT COperateTerminal : public COperate
26{
27 Q_OBJECT
28public:
29 explicit COperateTerminal(CPlugin *parent);
30 virtual ~COperateTerminal() override;
31
41 [[nodiscard]] Q_INVOKABLE virtual CBackend* InstanceBackend() = 0;
43 [[nodiscard]] virtual CParameterTerminalBase* GetParameter();
51 virtual int SetParameter(CParameterTerminalBase *pPara);
52
53 [[nodiscard]] QWidget* GetViewer() override;
54 [[nodiscard]] virtual const QString Description() override;
55 [[nodiscard]] virtual const qint16 Version() const override;
56 [[nodiscard]] static const QString Details();
57
58public Q_SLOTS:
59 virtual int Start() override;
60 virtual int Stop() override;
61
62protected:
63 virtual int Initial() override;
64 virtual int Clean() override;
65 virtual int SetGlobalParameters(CParameterPlugin *pPara) override;
66 int WriteTerminal(const char* buf, int len);
67
68private Q_SLOTS:
69 void slotZoomReset();
70 void slotCustomContextMenu(const QPoint & pos);
71 void slotActivateUrl(const QUrl& url, bool fromContextMenu);
72 void slotTermKeyPressed(QKeyEvent* e);
73 void slotFocusIn();
74 void slotFocusOut();
75protected Q_SLOTS:
76 void slotUpdateParameter(COperate *pOperate);
77
78protected:
79 virtual int Load(QSettings &set) override;
80 virtual int Save(QSettings &set) override;
81 virtual void SetShotcuts(bool bEnable = true);
82
83 QTermWidget* m_pTerminal;
84 CBackendThread* m_pThread;
85 QAction* m_pActionOpenWithSystem;
86 QAction* m_pActionFind;
87
88private:
89 CParameterTerminalBase* m_pParameters;
90
91 QAction* m_pEditCopy;
92 QAction* m_pEditPaste;
93 QAction* m_pZoomIn;
94 QAction* m_pZoomOut;
95 QAction* m_pZoomOriginal;
96 QAction* m_pClear;
97
98 // COperate interface
99public:
100 [[nodiscard]] virtual const QString Id() override;
101 [[nodiscard]] virtual const QString Name() override;
102};
The backend thread.
Backend interface.
Definition Backend.h:42
Terminal operate interface.
virtual Q_INVOKABLE CBackend * InstanceBackend()=0
New CBackend.
Operate interface.
Definition Operate.h:51
virtual const qint16 Version() const =0
Version.
virtual int Load(QSettings &set)
Load parameters.
Definition Operate.cpp:216
virtual int Save(QSettings &set)
Save parameters.
Definition Operate.cpp:223
virtual int Start()=0
Start.
virtual Q_INVOKABLE int Initial()
Initial parameters and resource.
Definition Operate.cpp:230
virtual QWidget * GetViewer()=0
Get Viewer.
virtual Q_INVOKABLE int SetGlobalParameters(CParameterPlugin *pPara)=0
Apply the global parameters of the plug-in.
Definition Operate.cpp:264
virtual Q_INVOKABLE int Clean()
Clean parameters and resource.
Definition Operate.cpp:247
virtual const QString Name()
Name.
Definition Operate.cpp:41
virtual int Stop()=0
Stop.
virtual const QString Description()
Description.
Definition Operate.cpp:46
virtual const QString Id()
Identity.
Definition Operate.cpp:33
Global parameters of plugins.
Terminal base parameter.
Plugin interface.
Definition Plugin.h:15