4#include "ParameterPluginUI.h"
5#include "ui_ParameterPluginUI.h"
6#include "RabbitCommonTools.h"
7#include "RabbitCommonDir.h"
9CParameterPluginUI::CParameterPluginUI(QWidget *parent) :
15 setWindowTitle(tr(
"Plugin"));
16 if(RabbitCommon::CTools::HasAdministratorPrivilege()) {
17 ui->cbPromptAdminPrivilege->setText(
"");
18 ui->cbPromptAdminPrivilege->hide();
20 ui->cbPromptAdminPrivilege->setText(
21 tr(
"Prompt administrator privilege"));
22 ui->cbPromptAdminPrivilege->show();
24 ui->pbEncryptKey->setToolTip(tr(
"Enable view password"));
27CParameterPluginUI::~CParameterPluginUI()
36 m_pPara->SetCaptureAllKeyboard(ui->cbCaptureAllKeyboard->isChecked());
37 m_pPara->SetDesktopShortcutsScript(ui->gpDesktopShortcutsSctipt->isChecked());
38 m_pPara->SetDisableDesktopShortcutsScript(ui->leDesktopShortcutsDisableScript->text());
39 m_pPara->SetRestoreDesktopShortcutsScript(ui->leDesktopShortcutsRestoreScript->text());
40 m_pPara->SetEnableLocalInputMethod(ui->cbEnableLocalInputMethod->isChecked());
41 m_pPara->SetPromptAdministratorPrivilege(
42 ui->cbPromptAdminPrivilege->isChecked());
43 m_pPara->SetEnableSystemUserToUser(ui->cbEnableUserName->isChecked());
44 m_pPara->SetAdaptWindows(
47 m_pPara->SetUseSystemCredential(ui->cbSystemCredential->isChecked());
48 m_pPara->SetEncryptKey(ui->leEncryptKey->text());
49 m_pPara->SetSavePassword(ui->cbSavePassword->isChecked());
50 m_pPara->SetViewPassowrd(ui->cbEnableViewPassword->isChecked());
51 if(ui->rbPromptFirst->isChecked())
52 m_pPara->SetPromptType(CParameterPlugin::PromptType::First);
53 if(ui->rbPromptNo->isChecked())
54 m_pPara->SetPromptType(CParameterPlugin::PromptType::No);
55 m_pPara->SetShowProtocolPrefix(ui->cbShowPrefix->isChecked());
56 m_pPara->SetShowIpPortInName(ui->cbShowIPPort->isChecked());
60void CParameterPluginUI::on_cbEnableViewPassword_clicked(
bool checked)
62 ui->pbEncryptKey->setEnabled(checked);
65void CParameterPluginUI::on_pbEncryptKey_clicked()
67 switch(ui->leEncryptKey->echoMode())
69 case QLineEdit::Password:
70 ui->leEncryptKey->setEchoMode(QLineEdit::Normal);
71 ui->pbEncryptKey->setIcon(QIcon::fromTheme(
"eye-off"));
73 case QLineEdit::Normal:
74 ui->leEncryptKey->setEchoMode(QLineEdit::Password);
75 ui->pbEncryptKey->setIcon(QIcon::fromTheme(
"eye-on"));
84 m_pPara = qobject_cast<CParameterPlugin*>(pParameter);
87 ui->cbCaptureAllKeyboard->setChecked(m_pPara->GetCaptureAllKeyboard());
88 ui->gpDesktopShortcutsSctipt->setEnabled(ui->cbCaptureAllKeyboard->isChecked());
89 ui->gpDesktopShortcutsSctipt->setChecked(m_pPara->GetDesktopShortcutsScript());
90 ui->leDesktopShortcutsDisableScript->setText(m_pPara->GetDisableDesktopShortcutsScript());
91 ui->leDesktopShortcutsRestoreScript->setText(m_pPara->GetRestoreDesktopShortcutsScript());
92 ui->cbEnableLocalInputMethod->setChecked(m_pPara->GetEnableLocalInputMethod());
93 ui->cbPromptAdminPrivilege->setChecked(
94 m_pPara->GetPromptAdministratorPrivilege());
95 ui->cbEnableUserName->setChecked(m_pPara->GetEnableSystemUserToUser());
97 ui->cbViewZoom->addItem(QIcon::fromTheme(
"zoom-original"),
102 ui->cbViewZoom->addItem(QIcon::fromTheme(
"zoom"), tr(
"Zoom"),
104 ui->cbViewZoom->addItem(QIcon::fromTheme(
"zoom-fit-best"),
105 tr(
"Zoom to window"),
107 ui->cbViewZoom->addItem(QIcon::fromTheme(
"zoom-aspect-ratio"),
108 tr(
"Keep aspect ratio to window"),
110 int nIndex = ui->cbViewZoom->findData((
int)m_pPara->GetAdaptWindows());
112 ui->cbViewZoom->setCurrentIndex(nIndex);
115 ui->cbSystemCredential->setChecked(m_pPara->GetUseSystemCredential());
117 ui->cbSystemCredential->hide();
119 ui->leEncryptKey->setText(m_pPara->GetEncryptKey());
120 ui->cbSavePassword->setChecked(m_pPara->GetSavePassword());
121 ui->cbEnableViewPassword->setChecked(m_pPara->GetViewPassowrd());
122 ui->pbEncryptKey->setEnabled(ui->cbEnableViewPassword->isChecked());
123 switch (m_pPara->GetPromptType()) {
124 case CParameterPlugin::PromptType::First:
125 ui->rbPromptFirst->setChecked(
true);
127 case CParameterPlugin::PromptType::No:
128 ui->rbPromptNo->setChecked(
true);
132 ui->cbShowPrefix->setChecked(m_pPara->GetShowProtocolPrefix());
133 ui->cbShowIPPort->setChecked(m_pPara->GetShowIpPortInName());
137void CParameterPluginUI::on_cbSystemCredential_checkStateChanged(
const Qt::CheckState &state)
139 ui->gpEncryptKey->setEnabled(Qt::Unchecked == state);
142void CParameterPluginUI::on_pbDesktopShortcutsDisable_clicked()
144 QString szDir = ui->leDesktopShortcutsDisableScript->text();
146 szDir = RabbitCommon::CDir::Instance()->GetDirData() + QDir::separator() +
"Script";
147 QString szFile = QFileDialog::getOpenFileName(
148 nullptr, tr(
"Open disable desktop shortcuts script"), szDir);
149 if(szFile.isEmpty())
return;
150 ui->leDesktopShortcutsDisableScript->setText(szFile);
153void CParameterPluginUI::on_pbDesktopShortcutsRestore_clicked()
155 QString szDir = ui->leDesktopShortcutsRestoreScript->text();
157 szDir = RabbitCommon::CDir::Instance()->GetDirData() + QDir::separator() +
"Script";
158 QString szFile = QFileDialog::getOpenFileName(
159 nullptr, tr(
"Open restore desktop shortcuts script"), szDir);
160 if(szFile.isEmpty())
return;
161 ui->leDesktopShortcutsRestoreScript->setText(szFile);
164void CParameterPluginUI::on_cbCaptureAllKeyboard_checkStateChanged(
const Qt::CheckState &arg1)
166 ui->gpDesktopShortcutsSctipt->setEnabled(Qt::CheckState::Checked == arg1);
@ Original
原始桌面大小,桌面的左上点与窗口的左上点对齐
@ KeepAspectRationToWindow
保持长宽比缩放到窗口大小,窗口是固定的
@ ZoomToWindow
桌面缩放到窗口大小,窗口是固定的
virtual int SetParameter(CParameter *pParameter) override
[override functions]
virtual int Accept() override
接受参数