玉兔远程控制 0.1.0-bate11
载入中...
搜索中...
未找到
ParameterDesktop.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include "ParameterDesktop.h"
4#include "ParameterPlugin.h"
5#include <QLoggingCategory>
6
7static Q_LOGGING_CATEGORY(log, "Client.Parameter.Base")
8
10 : CParameterOperate(parent)
11 , m_Net(this)
12 , m_Proxy(this)
13 , m_Record(this)
14#if defined(Q_OS_ANDROID)
15 , m_bEnableLocalInputMethod(true)
16#else
17 , m_bEnableLocalInputMethod(false)
18#endif
19{
20 Init();
21}
22
23CParameterDesktop::CParameterDesktop(CParameterOperate* parent,
24 const QString& szPrefix)
25 : CParameterOperate(parent, szPrefix)
26 , m_Net(this)
27 , m_Proxy(this)
28 , m_Record(this)
29{
30 Init();
31}
32
33int CParameterDesktop::Init()
34{
35 m_bShowServerName = true;
36 m_bOnlyView = false;
37 m_bLocalCursor = true;
38 m_bCursorPosition = true;
39 m_bClipboard = true;
40 m_bSupportsDesktopResize = true;
41 m_bLedState = true;
43 m_dbZoomFactor = 1;
44 return 0;
45}
46
47int CParameterDesktop::OnLoad(QSettings &set)
48{
49 SetServerName(set.value("ServerName", GetServerName()).toString());
50 SetShowServerName(set.value("ShowServerName", GetShowServerName()).toBool());
51 SetOnlyView(set.value("OnlyView", GetOnlyView()).toBool());
52 SetLocalCursor(set.value("LocalCursor", GetLocalCursor()).toBool());
53 SetCursorPosition(set.value("CursorPosition", GetCursorPosition()).toBool());
54 SetClipboard(set.value("Clipboard", GetClipboard()).toBool());
55 SetSupportsDesktopResize(set.value("SupportsDesktopResize",
56 GetSupportsDesktopResize()).toBool());
57 SetLedState(set.value("LedState", GetLedState()).toBool());
58 SetZoomFactor(set.value("Viewer/ZoomFactor", GetZoomFactor()).toDouble());
59 SetAdaptWindows(
61 set.value("Viewer/AdaptType",
62 (int)GetPluginParameters()->GetAdaptWindows()).toInt());
63 SetEnableLocalInputMethod(set.value("LocalInputMethod", GetEnableLocalInputMethod()).toBool());
64 return CParameterOperate::OnLoad(set);
65}
66
67int CParameterDesktop::OnSave(QSettings &set)
68{
69 set.setValue("ServerName", GetServerName());
70 set.setValue("ShowServerName", GetShowServerName());
71 set.setValue("OnlyView", GetOnlyView());
72 set.setValue("LocalCursor", GetLocalCursor());
73 set.setValue("CursorPosition", GetCursorPosition());
74 set.setValue("Clipboard", GetClipboard());
75 set.setValue("SupportsDesktopResize", GetSupportsDesktopResize());
76 set.setValue("LedState", GetLedState());
77 set.setValue("Viewer/ZoomFactor", GetZoomFactor());
78 set.setValue("Viewer/AdaptType", (int)GetAdaptWindows());
79 set.setValue("LocalInputMethod", GetEnableLocalInputMethod());
80 return CParameterOperate::OnSave(set);
81}
82
83const QString CParameterDesktop::GetServerName() const
84{
85 return m_szServerName;
86}
87
88void CParameterDesktop::SetServerName(const QString& szName)
89{
90 if(m_szServerName == szName)
91 return;
92 m_szServerName = szName;
93 SetModified(true);
94}
95
96bool CParameterDesktop::GetShowServerName() const
97{
98 return m_bShowServerName;
99}
100
101void CParameterDesktop::SetShowServerName(bool NewShowServerName)
102{
103 if (m_bShowServerName == NewShowServerName)
104 return;
105 m_bShowServerName = NewShowServerName;
106 SetModified(true);
107 emit sigShowServerNameChanged();
108}
109
110bool CParameterDesktop::GetOnlyView() const
111{
112 return m_bOnlyView;
113}
114
115void CParameterDesktop::SetOnlyView(bool only)
116{
117 if(m_bOnlyView == only)
118 return;
119 m_bOnlyView = only;
120 SetModified(true);
121}
122
123const bool CParameterDesktop::GetLocalCursor() const
124{
125 return m_bLocalCursor;
126}
127
128void CParameterDesktop::SetLocalCursor(bool cursor)
129{
130 if(m_bLocalCursor == cursor)
131 return;
132 m_bLocalCursor = cursor;
133 SetModified(true);
134}
135
136const bool CParameterDesktop::GetCursorPosition() const
137{
138 return m_bCursorPosition;
139}
140
141void CParameterDesktop::SetCursorPosition(bool pos)
142{
143 if(m_bCursorPosition == pos)
144 return;
145 m_bCursorPosition = pos;
146 SetModified(true);
147}
148
149const bool CParameterDesktop::GetClipboard() const
150{
151 return m_bClipboard;
152}
153
154void CParameterDesktop::SetClipboard(bool c)
155{
156 if(m_bClipboard == c)
157 return;
158 m_bClipboard = c;
159 SetModified(true);
160}
161
162bool CParameterDesktop::GetSupportsDesktopResize() const
163{
164 return m_bSupportsDesktopResize;
165}
166
167void CParameterDesktop::SetSupportsDesktopResize(bool newSupportsDesktopResize)
168{
169 if(m_bSupportsDesktopResize == newSupportsDesktopResize)
170 return;
171 m_bSupportsDesktopResize = newSupportsDesktopResize;
172 SetModified(true);
173}
174
175bool CParameterDesktop::GetLedState() const
176{
177 return m_bLedState;
178}
179
180void CParameterDesktop::SetLedState(bool state)
181{
182 if(m_bLedState == state)
183 return;
184 m_bLedState = state;
185 SetModified(true);
186}
187
188CFrmViewer::ADAPT_WINDOWS CParameterDesktop::GetAdaptWindows()
189{
190 return m_AdaptWindows;
191}
192
193void CParameterDesktop::SetAdaptWindows(CFrmViewer::ADAPT_WINDOWS aw)
194{
195 if(m_AdaptWindows == aw)
196 return;
197 m_AdaptWindows = aw;
198 SetModified(true);
199 emit sigAdaptWindowsChanged(m_AdaptWindows);
200}
201
202double CParameterDesktop::GetZoomFactor() const
203{
204 return m_dbZoomFactor;
205}
206
207void CParameterDesktop::SetZoomFactor(double newZoomFactor)
208{
209 if(m_dbZoomFactor == newZoomFactor)
210 return;
211 m_dbZoomFactor = newZoomFactor;
212 SetModified(true);
213 emit sigZoomFactorChanged(m_dbZoomFactor);
214 return;
215}
216
218{
220 if(!pPlugin) {
221 QString szErr = "The CParameterClient is null";
222 qCritical(log) << szErr;
223 Q_ASSERT_X(false, "CParameterDesktop", szErr.toStdString().c_str());
224 return;
225 }
226
227 SetAdaptWindows(pPlugin->GetAdaptWindows());
228
229 SetEnableLocalInputMethod(pPlugin->GetEnableLocalInputMethod());
230
231 m_Record = pPlugin->m_Record;
232
233 return;
234}
235
236bool CParameterDesktop::GetEnableLocalInputMethod() const
237{
238 return m_bEnableLocalInputMethod;
239}
240
241void CParameterDesktop::SetEnableLocalInputMethod(bool enable)
242{
243 if(m_bEnableLocalInputMethod == enable)
244 return;
245 m_bEnableLocalInputMethod = enable;
246 SetModified(true);
247 emit sigEnableInputMethod(m_bEnableLocalInputMethod);
248}
ADAPT_WINDOWS
窗口适配枚举常量
@ ZoomToWindow
桌面缩放到窗口大小,窗口是固定的
远程桌面的基础参数接口。包括基本参数(网络参数等)。 所有远程桌面插件的参数都应从此类派生。
virtual void slotSetPluginParameters() override
设置 CParameterPlugin 后调用,用于初始化与 CParameterPlugin 有关的操作。
操作参数接口。仅在插件内有效。
CParameterPlugin * GetPluginParameters()
Get CParameterPlugin
插件的全局参数。
int SetModified(bool bModified=true)
在设置参数时,如果有修改,则调用。