3#include "RabbitCommonTools.h"
4#include "RabbitCommonDir.h"
5#include "ParameterPlugin.h"
7CParameterPlugin::CParameterPlugin(QObject *parent)
9 , m_GlobalParameter(this,
"Global")
10 , m_bCaptureAllKeyboard(true)
11 , m_bDesktopShortcutsScript(false)
12 , m_bEnableLocalInputMethod(false)
13 , m_bPromptAdministratorPrivilege(!RabbitCommon::CTools::Instance()->HasAdministratorPrivilege())
14 , m_bEnableSystemUserToUser(true)
15 , m_bSavePassword(false)
16 , m_PromptType(PromptType::First)
18 , m_bViewPassowrd(false)
19 , m_bUseSystemCredential(true)
20 , m_bShowProtocolPrefix(false)
21 , m_bShowIpPortInName(false)
22 , m_AdaptWindows(
CFrmViewer::ADAPT_WINDOWS::KeepAspectRationToWindow)
23 , m_bEnableSetPluginsPath(false)
24 , m_WhiteList(this,
"Plugin/Paths/Whilelist")
25 , m_BlackList(this,
"Plugin/Paths/BlackList")
26 , m_szPluginsPath(RabbitCommon::CDir::Instance()->GetDirPlugins())
27 , m_bOnlyLoadInWhitelist(false)
29 , m_MediaDevices(this)
30#if defined(HAVE_QTERMWIDGET)
35CParameterPlugin::~CParameterPlugin()
40 return &m_GlobalParameter;
46 nRet = m_GlobalParameter.
Load(set);
49 set.beginGroup(
"Plugin");
50 SetCaptureAllKeyboard(
51 set.value(
"CaptureAllKeyboard", GetCaptureAllKeyboard()).toBool());
52 SetDesktopShortcutsScript(set.value(
"DesktopShortcutsScript/Enable",
53 GetDesktopShortcutsScript()).toBool());
54 SetDisableDesktopShortcutsScript(
55 set.value(
"DesktopShortcutsScript/Disable",
56 GetDisableDesktopShortcutsScript()).toString());
57 SetRestoreDesktopShortcutsScript(
58 set.value(
"DesktopShortcutsScript/Restore",
59 GetRestoreDesktopShortcutsScript()).toString());
60 SetEnableLocalInputMethod(set.value(
"InputMethod", GetEnableLocalInputMethod()).toBool());
62 SetPromptAdministratorPrivilege(
63 set.value(
"AdministratorPrivilege/Prompt",
64 GetPromptAdministratorPrivilege()).toBool());
65 SetEnableSystemUserToUser(set.value(
"UserName/Enable",
66 GetEnableSystemUserToUser()).toBool());
67 SetPromptType(
static_cast<PromptType
>(
68 set.value(
"Password/Prompty/Type",
69 static_cast<int>(GetPromptType())).toInt()
71 SetSavePassword(set.value(
"Password/Save", GetSavePassword()).toBool());
72 SetViewPassowrd(set.value(
"Password/View", GetViewPassowrd()).toBool());
73 SetUseSystemCredential(set.value(
"Password/UseSystemCredential", GetUseSystemCredential()).toBool());
74 SetShowProtocolPrefix(set.value(
"Connecter/Name/ShowProtocolPrefix", GetShowProtocolPrefix()).toBool());
75 SetShowIpPortInName(set.value(
"Connecter/Name/ShowIpPort", GetShowIpPortInName()).toBool());
77 (
int)GetAdaptWindows()).toInt());
79 SetPluginsPath(set.value(
"Paths", GetPluginsPath()).toStringList());
80 SetEnableSetPluginsPath(set.value(
"Paths/Enable", GetEnableSetPluginsPath()).toBool());
81 SetOnlyLoadInWhitelist(set.value(
"OnlyLoadInWhitelist", GetOnlyLoadInWhitelist()).toBool());
90 nRet = m_GlobalParameter.
Save(set);
93 set.beginGroup(
"Plugin");
94 set.setValue(
"CaptureAllKeyboard", GetCaptureAllKeyboard());
95 set.setValue(
"DesktopShortcutsScript/Enable", GetDesktopShortcutsScript());
96 set.setValue(
"DesktopShortcutsScript/Disable", GetDisableDesktopShortcutsScript());
97 set.setValue(
"DesktopShortcutsScript/Restore", GetRestoreDesktopShortcutsScript());
98 set.setValue(
"InputMethod", GetEnableLocalInputMethod());
99 set.setValue(
"AdministratorPrivilege/Prompt", GetPromptAdministratorPrivilege());
100 set.setValue(
"UserName/Enable", GetEnableSystemUserToUser());
101 set.setValue(
"Password/Prompty/Type",
static_cast<int>(GetPromptType()));
102 set.setValue(
"Password/Save", GetSavePassword());
103 set.setValue(
"Password/View", GetViewPassowrd());
104 set.setValue(
"Password/UseSystemCredential", GetUseSystemCredential());
105 set.setValue(
"Connecter/Name/ShowProtocolPrefix", GetShowProtocolPrefix());
106 set.setValue(
"Connecter/Name/ShowIpPort", GetShowIpPortInName());
107 set.setValue(
"Viewer/AdaptWindows", (
int)GetAdaptWindows());
109 set.setValue(
"Paths", GetPluginsPath());
110 set.setValue(
"Paths/Enable", GetEnableSetPluginsPath());
111 set.setValue(
"OnlyLoadInWhitelist", GetOnlyLoadInWhitelist());
117bool CParameterPlugin::GetCaptureAllKeyboard()
const
119 return m_bCaptureAllKeyboard;
122void CParameterPlugin::SetCaptureAllKeyboard(
bool bCapture)
124 if(m_bCaptureAllKeyboard == bCapture)
126 m_bCaptureAllKeyboard = bCapture;
128 emit sigCaptureAllKeyboard();
131bool CParameterPlugin::GetDesktopShortcutsScript()
const
133 return m_bDesktopShortcutsScript;
136void CParameterPlugin::SetDesktopShortcutsScript(
bool newDesktopShortcutsScript)
138 if(m_bDesktopShortcutsScript == newDesktopShortcutsScript)
140 m_bDesktopShortcutsScript = newDesktopShortcutsScript;
144QString CParameterPlugin::GetRestoreDesktopShortcutsScript()
const
146 return m_szRestoreDesktopShortcutsScript;
149void CParameterPlugin::SetRestoreDesktopShortcutsScript(
const QString &newRestoreDesktopShortcutsScript)
151 if(m_szRestoreDesktopShortcutsScript == newRestoreDesktopShortcutsScript)
153 m_szRestoreDesktopShortcutsScript = newRestoreDesktopShortcutsScript;
157QString CParameterPlugin::GetDisableDesktopShortcutsScript()
const
159 return m_szDisableDesktopShortcutsScript;
162void CParameterPlugin::SetDisableDesktopShortcutsScript(
const QString &newDisableDesktopShortcutsScript)
164 if(m_szDisableDesktopShortcutsScript == newDisableDesktopShortcutsScript)
166 m_szDisableDesktopShortcutsScript = newDisableDesktopShortcutsScript;
170bool CParameterPlugin::GetEnableLocalInputMethod()
const
172 return m_bEnableLocalInputMethod;
175void CParameterPlugin::SetEnableLocalInputMethod(
bool enable)
177 if(m_bEnableLocalInputMethod == enable)
179 m_bEnableLocalInputMethod = enable;
183bool CParameterPlugin::GetPromptAdministratorPrivilege()
185 return m_bPromptAdministratorPrivilege;
188void CParameterPlugin::SetPromptAdministratorPrivilege(
bool bShow)
190 if(bShow == m_bPromptAdministratorPrivilege)
193 m_bPromptAdministratorPrivilege = bShow;
194 emit sigPromptAdministratorPrivilege();
197bool CParameterPlugin::GetEnableSystemUserToUser()
const
199 return m_bEnableSystemUserToUser;
202void CParameterPlugin::SetEnableSystemUserToUser(
bool enable)
204 if(m_bEnableSystemUserToUser == enable)
206 m_bEnableSystemUserToUser = enable;
210const QString &CParameterPlugin::GetEncryptKey()
const
212 return m_szEncryptKey;
215void CParameterPlugin::SetEncryptKey(
const QString &newPassword)
217 if (m_szEncryptKey == newPassword)
219 m_szEncryptKey = newPassword;
221 emit sigEncryptKeyChanged();
224const bool &CParameterPlugin::GetSavePassword()
const
226 return m_bSavePassword;
229void CParameterPlugin::SetSavePassword(
bool NewAutoSavePassword)
231 if (m_bSavePassword == NewAutoSavePassword)
234 m_bSavePassword = NewAutoSavePassword;
235 emit sigSavePasswordChanged(m_bSavePassword);
238CParameterPlugin::PromptType CParameterPlugin::GetPromptType()
const
243void CParameterPlugin::SetPromptType(PromptType NewPromptType)
245 if (m_PromptType == NewPromptType)
248 m_PromptType = NewPromptType;
249 emit sigPromptTypeChanged(m_PromptType);
252int CParameterPlugin::GetPromptCount()
const
254 return m_nPromptCount;
257void CParameterPlugin::SetPromptCount(
int NewPromptCount)
259 if (m_nPromptCount == NewPromptCount)
261 m_nPromptCount = NewPromptCount;
263 emit sigPromptCountChanged(m_nPromptCount);
266bool CParameterPlugin::GetViewPassowrd()
const
268 return m_bViewPassowrd;
271void CParameterPlugin::SetViewPassowrd(
bool NewViewPassowrd)
273 if (m_bViewPassowrd == NewViewPassowrd)
275 m_bViewPassowrd = NewViewPassowrd;
277 emit sigViewPassowrdChanged(m_bViewPassowrd);
280bool CParameterPlugin::GetUseSystemCredential()
const
282 return m_bUseSystemCredential;
285void CParameterPlugin::SetUseSystemCredential(
bool newUseSystemCredential)
287 if(m_bUseSystemCredential == newUseSystemCredential)
289 m_bUseSystemCredential = newUseSystemCredential;
293bool CParameterPlugin::GetShowProtocolPrefix()
const
295 return m_bShowProtocolPrefix;
298void CParameterPlugin::SetShowProtocolPrefix(
bool bShowProtocolPrefix)
300 if(m_bShowProtocolPrefix == bShowProtocolPrefix)
302 m_bShowProtocolPrefix = bShowProtocolPrefix;
304 emit sigShowProtocolPrefixChanged();
307bool CParameterPlugin::GetShowIpPortInName()
const
309 return m_bShowIpPortInName;
312void CParameterPlugin::SetShowIpPortInName(
bool bShowIpPortInName)
314 if(m_bShowIpPortInName == bShowIpPortInName)
316 m_bShowIpPortInName = bShowIpPortInName;
318 emit sigSHowIpPortInNameChanged();
323 return m_AdaptWindows;
328 if(m_AdaptWindows == aw)
332 emit sigAdaptWindowsChanged();
335bool CParameterPlugin::GetEnableSetPluginsPath()
const
337 return m_bEnableSetPluginsPath;
340void CParameterPlugin::SetEnableSetPluginsPath(
bool newEnableSetPluginsPath)
342 if(m_bEnableSetPluginsPath == newEnableSetPluginsPath)
344 m_bEnableSetPluginsPath = newEnableSetPluginsPath;
348QStringList CParameterPlugin::GetPluginsPath()
const
350 return m_szPluginsPath;
353void CParameterPlugin::SetPluginsPath(
const QStringList &newPluginsPath)
355 m_szPluginsPath = newPluginsPath;
358bool CParameterPlugin::GetOnlyLoadInWhitelist()
const
360 return m_bOnlyLoadInWhitelist;
363void CParameterPlugin::SetOnlyLoadInWhitelist(
bool newOnlyLoadInWhitelist)
365 if(m_bOnlyLoadInWhitelist = newOnlyLoadInWhitelist)
367 m_bOnlyLoadInWhitelist = newOnlyLoadInWhitelist;
用于显示从 CConnectDesktop 输出的图像,和向 CConnectDesktop 发送键盘、鼠标事件。
virtual int OnSave(QSettings &set) override
virtual int OnLoad(QSettings &set) override
int SetModified(bool bModified=true)
在设置参数时,如果有修改,则调用。
virtual int Save(QString szFile=QString(), bool bForce=true)
Save to file
virtual int Load(QString szFile=QString())
Load from file