玉兔远程控制 0.1.0-alpha.2
载入中...
搜索中...
未找到
OperateDesktop.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#include <QSpinBox>
6#include "Operate.h"
7#include "Backend.h"
8#include "ParameterBase.h"
9#include "FrmScroll.h"
10
11class CBackendThread;
12
68class PLUGIN_EXPORT COperateDesktop : public COperate
69{
70 Q_OBJECT
71
72public:
95 explicit COperateDesktop(CPlugin *plugin);
96 virtual ~COperateDesktop();
97
107 [[nodiscard]] Q_INVOKABLE virtual CBackend* InstanceBackend() = 0;
111 [[nodiscard]] virtual CParameterBase* GetParameter();
119 virtual int SetParameter(CParameterBase* p);
120
121 [[nodiscard]] virtual const QString Id() override;
122 [[nodiscard]] virtual const QString Name() override;
123 [[nodiscard]] virtual const QString Description() override;
124 [[nodiscard]] virtual const qint16 Version() const override;
125 [[nodiscard]] virtual QWidget *GetViewer() override;
126
127public Q_SLOTS:
128 virtual int Start() override;
129 virtual int Stop() override;
130 virtual void slotScreenShot();
131
132protected:
133 virtual int SetGlobalParameters(CParameterPlugin *pPara) override;
134
135private Q_SLOTS:
137 void slotValueChanged(int v);
138 void slotShortcutCtlAltDel();
139 void slotShortcutLock();
140
141protected:
142 virtual int Initial() override;
143 virtual int Clean() override;
148 virtual int Load(QSettings &set) override;
153 virtual int Save(QSettings &set) override;
154
155 virtual int InitialMenu();
156
157private:
158 CParameterBase* m_pPara;
159 CBackendThread* m_pThread;
160 CFrmViewer *m_pFrmViewer;
161 CFrmScroll* m_pScroll;
162
163protected:
175 [[nodiscard]] virtual QString ServerName();
176private:
177 QString m_szServerName;
178private Q_SLOTS:
181 virtual void slotSetServerName(const QString &szName);
182
183private:
184 int LoadAdaptWindows();
185
186protected:
187 QAction* m_pMenuZoom;
188 QAction* m_pZoomToWindow;
189 QAction* m_pZoomAspectRatio;
190 QAction* m_pZoomOriginal;
191 QAction* m_pZoomIn;
192 QAction* m_pZoomOut;
193 QSpinBox* m_psbZoomFactor;
194 QAction* m_pScreenShot;
195
196#if HAVE_QT6_RECORD
197protected:
198 QAction* m_pRecord;
199 QAction* m_pRecordPause;
200public Q_SLOTS:
201 void slotRecorderStateChanged(QMediaRecorder::RecorderState state);
202Q_SIGNALS:
206 void sigRecord(bool bRecord);
207 void sigRecordPause(bool bPause);
208private Q_SLOTS:
213 virtual void slotRecord(bool checked);
214#endif
215};
216
The backend thread
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
Definition Backend.h:42
The scroll form class
Definition FrmScroll.h:17
用于显示从 CConnectDesktop 输出的图像,和向 CConnectDesktop 发送键盘、鼠标事件。
Definition FrmViewer.h:48
远程桌面操作接口
COperateDesktop(CPlugin *plugin)
virtual Q_INVOKABLE CBackend * InstanceBackend()=0
新建后端实例。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
操作接口。
Definition Operate.h:51
virtual const qint16 Version() const =0
Version
virtual int Load(QSettings &set)
加载参数
Definition Operate.cpp:216
virtual int Save(QSettings &set)
保存参数
Definition Operate.cpp:223
virtual int Start()=0
开始
virtual Q_INVOKABLE int Initial()
Initial parameters and resource
Definition Operate.cpp:230
virtual QWidget * GetViewer()=0
得到显示视图
virtual Q_INVOKABLE int SetGlobalParameters(CParameterPlugin *pPara)=0
应用插件全局参数
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
关闭
virtual const QString Description()
Description
Definition Operate.cpp:46
virtual const QString Id()
Identity
Definition Operate.cpp:33
连接基础参数接口。包括基本参数(网络参数等)。 所有插件的连接参数都应从此类派生。
插件的全局参数。
插件接口
Definition Plugin.h:15