3#include "ParameterGlobal.h"
4#include "RabbitCommonTools.h"
5#include "RabbitCommonDir.h"
6#include "ParameterPlugin.h"
8Q_DECLARE_METATYPE(CParameterPlugin::NameStyles)
9CParameterPlugin::CParameterPlugin(QObject *parent)
12 , m_bCaptureAllKeyboard(true)
13 , m_bDesktopShortcutsScript(false)
14 , m_bEnableLocalInputMethod(false)
15 , m_bPromptAdministratorPrivilege(!RabbitCommon::CTools::Instance()->HasAdministratorPrivilege())
16 , m_bEnableSystemUserToUser(true)
17 , m_bSavePassword(false)
18 , m_PromptType(PromptType::First)
20 , m_bViewPassowrd(false)
21 , m_bUseSystemCredential(true)
22 , m_NameStyles(NameStyle::ServerName | NameStyle::SecurityLevel)
23 , m_AdaptWindows(
CFrmViewer::ADAPT_WINDOWS::KeepAspectRationToWindow)
24 , m_bEnableSetPluginsPath(false)
25 , m_WhiteList(this,
"Plugin/Paths/Whilelist")
26 , m_BlackList(this,
"Plugin/Paths/BlackList")
27 , m_szPluginsPath(RabbitCommon::CDir::Instance()->GetDirPlugins())
28 , m_bOnlyLoadInWhitelist(false)
30 , m_MediaDevices(this)
31#if defined(HAVE_QTERMWIDGET)
36CParameterPlugin::~CParameterPlugin()
38 if(m_pGlobalParameter) {
39 delete m_pGlobalParameter;
40 m_pGlobalParameter =
nullptr;
46 return m_pGlobalParameter;
51 set.beginGroup(
"Plugin");
52 SetCaptureAllKeyboard(
53 set.value(
"CaptureAllKeyboard", GetCaptureAllKeyboard()).toBool());
54 SetDesktopShortcutsScript(set.value(
"DesktopShortcutsScript/Enable",
55 GetDesktopShortcutsScript()).toBool());
56 SetDisableDesktopShortcutsScript(
57 set.value(
"DesktopShortcutsScript/Disable",
58 GetDisableDesktopShortcutsScript()).toString());
59 SetRestoreDesktopShortcutsScript(
60 set.value(
"DesktopShortcutsScript/Restore",
61 GetRestoreDesktopShortcutsScript()).toString());
62 SetEnableLocalInputMethod(
63 set.value(
"InputMethod", GetEnableLocalInputMethod()).toBool());
65 SetPromptAdministratorPrivilege(
66 set.value(
"AdministratorPrivilege/Prompt",
67 GetPromptAdministratorPrivilege()).toBool());
68 SetEnableSystemUserToUser(set.value(
"UserName/Enable",
69 GetEnableSystemUserToUser()).toBool());
70 SetPromptType(
static_cast<PromptType
>(
71 set.value(
"Password/Prompty/Type",
72 static_cast<int>(GetPromptType())).toInt()
74 SetSavePassword(set.value(
"Password/Save", GetSavePassword()).toBool());
75 SetViewPassowrd(set.value(
"Password/View", GetViewPassowrd()).toBool());
76 SetUseSystemCredential(set.value(
"Password/UseSystemCredential",
77 GetUseSystemCredential()).toBool());
78 SetNameStyles(
static_cast<NameStyle
>(
79 set.value(
"Operate/NameStyles", (
int)GetNameStyles()).toInt()));
81 (
int)GetAdaptWindows()).toInt());
83 SetPluginsPath(set.value(
"Paths", GetPluginsPath()).toStringList());
84 SetEnableSetPluginsPath(
85 set.value(
"Paths/Enable", GetEnableSetPluginsPath()).toBool());
86 SetOnlyLoadInWhitelist(
87 set.value(
"OnlyLoadInWhitelist", GetOnlyLoadInWhitelist()).toBool());
96 set.beginGroup(
"Plugin");
97 set.setValue(
"CaptureAllKeyboard", GetCaptureAllKeyboard());
98 set.setValue(
"DesktopShortcutsScript/Enable", GetDesktopShortcutsScript());
99 set.setValue(
"DesktopShortcutsScript/Disable", GetDisableDesktopShortcutsScript());
100 set.setValue(
"DesktopShortcutsScript/Restore", GetRestoreDesktopShortcutsScript());
101 set.setValue(
"InputMethod", GetEnableLocalInputMethod());
102 set.setValue(
"AdministratorPrivilege/Prompt", GetPromptAdministratorPrivilege());
103 set.setValue(
"UserName/Enable", GetEnableSystemUserToUser());
104 set.setValue(
"Password/Prompty/Type",
static_cast<int>(GetPromptType()));
105 set.setValue(
"Password/Save", GetSavePassword());
106 set.setValue(
"Password/View", GetViewPassowrd());
107 set.setValue(
"Password/UseSystemCredential", GetUseSystemCredential());
108 set.setValue(
"Operate/NameStyles", (
int)GetNameStyles());
109 set.setValue(
"Viewer/AdaptWindows", (
int)GetAdaptWindows());
111 set.setValue(
"Paths", GetPluginsPath());
112 set.setValue(
"Paths/Enable", GetEnableSetPluginsPath());
113 set.setValue(
"OnlyLoadInWhitelist", GetOnlyLoadInWhitelist());
119bool CParameterPlugin::GetCaptureAllKeyboard()
const
121 return m_bCaptureAllKeyboard;
124void CParameterPlugin::SetCaptureAllKeyboard(
bool bCapture)
126 if(m_bCaptureAllKeyboard == bCapture)
128 m_bCaptureAllKeyboard = bCapture;
130 emit sigCaptureAllKeyboard();
133bool CParameterPlugin::GetDesktopShortcutsScript()
const
135 return m_bDesktopShortcutsScript;
138void CParameterPlugin::SetDesktopShortcutsScript(
bool newDesktopShortcutsScript)
140 if(m_bDesktopShortcutsScript == newDesktopShortcutsScript)
142 m_bDesktopShortcutsScript = newDesktopShortcutsScript;
146QString CParameterPlugin::GetRestoreDesktopShortcutsScript()
const
148 return m_szRestoreDesktopShortcutsScript;
151void CParameterPlugin::SetRestoreDesktopShortcutsScript(
const QString &newRestoreDesktopShortcutsScript)
153 if(m_szRestoreDesktopShortcutsScript == newRestoreDesktopShortcutsScript)
155 m_szRestoreDesktopShortcutsScript = newRestoreDesktopShortcutsScript;
159QString CParameterPlugin::GetDisableDesktopShortcutsScript()
const
161 return m_szDisableDesktopShortcutsScript;
164void CParameterPlugin::SetDisableDesktopShortcutsScript(
const QString &newDisableDesktopShortcutsScript)
166 if(m_szDisableDesktopShortcutsScript == newDisableDesktopShortcutsScript)
168 m_szDisableDesktopShortcutsScript = newDisableDesktopShortcutsScript;
172bool CParameterPlugin::GetEnableLocalInputMethod()
const
174 return m_bEnableLocalInputMethod;
177void CParameterPlugin::SetEnableLocalInputMethod(
bool enable)
179 if(m_bEnableLocalInputMethod == enable)
181 m_bEnableLocalInputMethod = enable;
185bool CParameterPlugin::GetPromptAdministratorPrivilege()
187 return m_bPromptAdministratorPrivilege;
190void CParameterPlugin::SetPromptAdministratorPrivilege(
bool bShow)
192 if(bShow == m_bPromptAdministratorPrivilege)
195 m_bPromptAdministratorPrivilege = bShow;
196 emit sigPromptAdministratorPrivilege();
199bool CParameterPlugin::GetEnableSystemUserToUser()
const
201 return m_bEnableSystemUserToUser;
204void CParameterPlugin::SetEnableSystemUserToUser(
bool enable)
206 if(m_bEnableSystemUserToUser == enable)
208 m_bEnableSystemUserToUser = enable;
212const QString &CParameterPlugin::GetEncryptKey()
const
214 return m_szEncryptKey;
217void CParameterPlugin::SetEncryptKey(
const QString &newPassword)
219 if (m_szEncryptKey == newPassword)
221 m_szEncryptKey = newPassword;
223 emit sigEncryptKeyChanged();
226const bool &CParameterPlugin::GetSavePassword()
const
228 return m_bSavePassword;
231void CParameterPlugin::SetSavePassword(
bool NewAutoSavePassword)
233 if (m_bSavePassword == NewAutoSavePassword)
236 m_bSavePassword = NewAutoSavePassword;
237 emit sigSavePasswordChanged(m_bSavePassword);
240CParameterPlugin::PromptType CParameterPlugin::GetPromptType()
const
245void CParameterPlugin::SetPromptType(PromptType NewPromptType)
247 if (m_PromptType == NewPromptType)
250 m_PromptType = NewPromptType;
251 emit sigPromptTypeChanged(m_PromptType);
254int CParameterPlugin::GetPromptCount()
const
256 return m_nPromptCount;
259void CParameterPlugin::SetPromptCount(
int NewPromptCount)
261 if (m_nPromptCount == NewPromptCount)
263 m_nPromptCount = NewPromptCount;
265 emit sigPromptCountChanged(m_nPromptCount);
268bool CParameterPlugin::GetViewPassowrd()
const
270 return m_bViewPassowrd;
273void CParameterPlugin::SetViewPassowrd(
bool NewViewPassowrd)
275 if (m_bViewPassowrd == NewViewPassowrd)
277 m_bViewPassowrd = NewViewPassowrd;
279 emit sigViewPassowrdChanged(m_bViewPassowrd);
282bool CParameterPlugin::GetUseSystemCredential()
const
284 return m_bUseSystemCredential;
287void CParameterPlugin::SetUseSystemCredential(
bool newUseSystemCredential)
289 if(m_bUseSystemCredential == newUseSystemCredential)
291 m_bUseSystemCredential = newUseSystemCredential;
295CParameterPlugin::NameStyles CParameterPlugin::GetNameStyles()
const
300void CParameterPlugin::SetNameStyles(
const NameStyles &newNameStyles)
302 if (m_NameStyles == newNameStyles)
304 m_NameStyles = newNameStyles;
306 emit sigNameStylesChanged();
311 return m_AdaptWindows;
316 if(m_AdaptWindows == aw)
320 emit sigAdaptWindowsChanged();
323bool CParameterPlugin::GetEnableSetPluginsPath()
const
325 return m_bEnableSetPluginsPath;
328void CParameterPlugin::SetEnableSetPluginsPath(
bool newEnableSetPluginsPath)
330 if(m_bEnableSetPluginsPath == newEnableSetPluginsPath)
332 m_bEnableSetPluginsPath = newEnableSetPluginsPath;
336QStringList CParameterPlugin::GetPluginsPath()
const
338 return m_szPluginsPath;
341void CParameterPlugin::SetPluginsPath(
const QStringList &newPluginsPath)
343 m_szPluginsPath = newPluginsPath;
346bool CParameterPlugin::GetOnlyLoadInWhitelist()
const
348 return m_bOnlyLoadInWhitelist;
351void CParameterPlugin::SetOnlyLoadInWhitelist(
bool newOnlyLoadInWhitelist)
353 if(m_bOnlyLoadInWhitelist = newOnlyLoadInWhitelist)
355 m_bOnlyLoadInWhitelist = newOnlyLoadInWhitelist;
用于显示从 CConnectDesktop 输出的图像,和向 CConnectDesktop 发送键盘、鼠标事件。
virtual int OnSave(QSettings &set) override
virtual int OnLoad(QSettings &set) override
int SetModified(bool bModified=true)
在设置参数时,如果有修改,则调用。