玉兔远程控制 0.1.0-bate16
载入中...
搜索中...
未找到
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 "ParameterDesktop.h"
9#include "FrmScroll.h"
10
11class CBackendThread;
12
21
68class PLUGIN_EXPORT COperateDesktop : public COperate
69{
70 Q_OBJECT
71
72public:
95 explicit COperateDesktop(CPlugin *plugin);
96 virtual ~COperateDesktop();
97
101 [[nodiscard]] virtual CParameterDesktop* GetParameter() const;
109 virtual int SetParameter(CParameterDesktop* p);
110
111 [[nodiscard]] virtual const QString Id() override;
112 [[nodiscard]] virtual const QString Name() override;
113 [[nodiscard]] virtual const QString Description() override;
114 [[nodiscard]] virtual const qint16 Version() const override;
115 [[nodiscard]] virtual QWidget *GetViewer() override;
116
117public Q_SLOTS:
118 virtual int Start() override;
119 virtual int Stop() override;
120 virtual void slotScreenShot();
121
122protected:
132 Q_INVOKABLE virtual CBackend* InstanceBackend() = 0;
138 virtual int SetPluginParameters(CParameterPlugin *pPara) override;
139
140 QAction* GetActionSettings();
141
142private Q_SLOTS:
144 void slotValueChanged(int v);
145 void slotShortcutCtlAltDel();
146 void slotShortcutLock();
147
148protected:
149 virtual int Initial() override;
150 virtual int Clean() override;
155 Q_INVOKABLE virtual int Load(QSettings &set) override;
160 Q_INVOKABLE virtual int Save(QSettings &set) override;
161
162 virtual int InitialMenu();
163
164private:
165 CParameterDesktop* m_pPara;
166 CBackendThread* m_pThread;
167 CFrmViewer *m_pFrmViewer;
168 CFrmScroll* m_pScroll;
169
170protected:
184 [[nodiscard]] virtual QString ServerName();
185private:
186 QString m_szServerName;
187private Q_SLOTS:
190 virtual void slotSetServerName(const QString &szName);
191
192private:
193 int LoadAdaptWindows();
194
195protected:
196 QAction* m_pMenuZoom;
197 QAction* m_pZoomToWindow;
198 QAction* m_pZoomAspectRatio;
199 QAction* m_pZoomOriginal;
200 QAction* m_pZoomIn;
201 QAction* m_pZoomOut;
202 QSpinBox* m_psbZoomFactor;
203 QAction* m_pScreenShot;
204
205#if HAVE_QT6_RECORD
206protected:
207 QAction* m_pRecord;
208 QAction* m_pRecordPause;
209public Q_SLOTS:
210 void slotRecorderStateChanged(QMediaRecorder::RecorderState state);
211Q_SIGNALS:
215 void sigRecord(bool bRecord);
216 void sigRecordPause(bool bPause);
217private Q_SLOTS:
222 virtual void slotRecord(bool checked);
223#endif
224};
225
The backend thread
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
The scroll form class
用于显示从 CConnectDesktop 输出的图像,和向 CConnectDesktop 发送键盘、鼠标事件。
virtual int SetPluginParameters(CParameterPlugin *pPara) override
Set Global Parameters
virtual QString ServerName()
当前连接服务名(远程桌面的名称,如果没有,则是 IP:端口)。例如:服务名或 IP:端口
virtual void slotSetServerName(const QString &szName)
[Get server name]
COperateDesktop(CPlugin *plugin)
virtual Q_INVOKABLE int Save(QSettings &set) override
保存参数
virtual const QString Name() override
[The name of the desktop operate]
virtual CParameterDesktop * GetParameter() const
Get parameter
virtual int SetParameter(CParameterDesktop *p)
设置参数指针
virtual const qint16 Version() const override
[The description of the desktop operate]
virtual Q_INVOKABLE int Load(QSettings &set) override
加载参数
virtual const QString Id() override
标识
virtual int Initial() override
Initial parameters and resource
virtual QWidget * GetViewer() override
得到显示视图
virtual Q_INVOKABLE CBackend * InstanceBackend()=0
新建后端实例。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
void slotValueChanged(int v)
emit by zoom menu in the class
virtual const QString Description() override
[The name of the desktop operate]
virtual int Clean() override
Clean parameters and resource
远程桌面的基础参数接口。包括基本参数(网络参数等)。 所有远程桌面插件的参数都应从此类派生。
插件的全局参数。
插件接口