玉兔远程控制 0.1.0-alpha.2
载入中...
搜索中...
未找到
ParameterPluginUI.cpp
1// Author: Kang Lin <kl222@126.com>
2#include "ParameterPluginUI.h"
3#include "ui_ParameterPluginUI.h"
4#include <RabbitCommonTools.h>
5
6CParameterPluginUI::CParameterPluginUI(QWidget *parent) :
7 CParameterUI(parent),
8 ui(new Ui::CParameterPluginUI),
9 m_pPara(nullptr)
10{
11 ui->setupUi(this);
12 setWindowTitle(tr("Plugin"));
13 if(RabbitCommon::CTools::HasAdministratorPrivilege()) {
14 ui->cbPromptAdminPrivilege->setText("");
15 ui->cbPromptAdminPrivilege->hide();
16 } else {
17 ui->cbPromptAdminPrivilege->setText(
18 tr("Prompt administrator privilege"));
19 ui->cbPromptAdminPrivilege->show();
20 }
21}
22
23CParameterPluginUI::~CParameterPluginUI()
24{
25 delete ui;
26}
27
29{
30 if(!m_pPara)
31 return -1;
32 m_pPara->SetNativeWindowReceiveKeyboard(
33 ui->cbNativeWindowReceiveKeyboard->isChecked());
34 m_pPara->SetEnableLocalInputMethod(ui->cbEnableLocalInputMethod->isChecked());
35 m_pPara->SetPromptAdministratorPrivilege(
36 ui->cbPromptAdminPrivilege->isChecked());
37 m_pPara->SetEnableSystemUserToUser(ui->cbEnableUserName->isChecked());
38 m_pPara->SetAdaptWindows(
39 (CFrmViewer::ADAPT_WINDOWS)ui->cbViewZoom->currentData().toInt());
40
41 m_pPara->SetEncryptKey(ui->leEncryptKey->text());
42 m_pPara->SetSavePassword(ui->cbSavePassword->isChecked());
43 m_pPara->SetViewPassowrd(ui->cbEnableViewPassword->isChecked());
44 if(ui->rbPromptAlways->isChecked())
45 m_pPara->SetPromptType(CParameterPlugin::PromptType::Always);
46 if(ui->rbPromptFirst->isChecked())
47 m_pPara->SetPromptType(CParameterPlugin::PromptType::First);
48 if(ui->rbPromptNo->isChecked())
49 m_pPara->SetPromptType(CParameterPlugin::PromptType::No);
50 m_pPara->SetShowProtocolPrefix(ui->cbShowPrefix->isChecked());
51 m_pPara->SetShowIpPortInName(ui->cbShowIPPort->isChecked());
52 return 0;
53}
54
55void CParameterPluginUI::on_cbEnableViewPassword_clicked(bool checked)
56{
57 ui->pbEncryptKey->setEnabled(checked);
58}
59
60void CParameterPluginUI::on_pbEncryptKey_clicked()
61{
62 switch(ui->leEncryptKey->echoMode())
63 {
64 case QLineEdit::Password:
65 ui->leEncryptKey->setEchoMode(QLineEdit::Normal);
66 ui->pbEncryptKey->setIcon(QIcon::fromTheme("eye-off"));
67 break;
68 case QLineEdit::Normal:
69 ui->leEncryptKey->setEchoMode(QLineEdit::Password);
70 ui->pbEncryptKey->setIcon(QIcon::fromTheme("eye-on"));
71 break;
72 default:
73 break;
74 }
75}
76
78{
79 m_pPara = qobject_cast<CParameterPlugin*>(pParameter);
80 if(!m_pPara)
81 return -1;
82 ui->cbNativeWindowReceiveKeyboard->setChecked(
83 m_pPara->GetNativeWindowReceiveKeyboard());
84 ui->cbEnableLocalInputMethod->setChecked(m_pPara->GetEnableLocalInputMethod());
85 ui->cbPromptAdminPrivilege->setChecked(
86 m_pPara->GetPromptAdministratorPrivilege());
87 ui->cbEnableUserName->setChecked(m_pPara->GetEnableSystemUserToUser());
88
89 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom-original"),
90 tr("Original"),
92 /*ui->cbViewZoom->addItem(tr("Original Center"),
93 (int)CFrmViewer::ADAPT_WINDOWS::OriginalCenter);*/
94 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom"), tr("Zoom"),
96 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom-fit-best"),
97 tr("Zoom to window"),
99 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom-aspect-ratio"),
100 tr("Keep desktop aspectration adapt to windows"),
102 int nIndex = ui->cbViewZoom->findData((int)m_pPara->GetAdaptWindows());
103 if(-1 != nIndex)
104 ui->cbViewZoom->setCurrentIndex(nIndex);
105
106 ui->leEncryptKey->setText(m_pPara->GetEncryptKey());
107 ui->cbSavePassword->setChecked(m_pPara->GetSavePassword());
108 ui->cbEnableViewPassword->setChecked(m_pPara->GetViewPassowrd());
109 ui->pbEncryptKey->setEnabled(ui->cbEnableViewPassword->isChecked());
110 switch (m_pPara->GetPromptType()) {
111 case CParameterPlugin::PromptType::Always:
112 ui->rbPromptAlways->setChecked(true);
113 break;
114 case CParameterPlugin::PromptType::First:
115 ui->rbPromptFirst->setChecked(true);
116 break;
117 case CParameterPlugin::PromptType::No:
118 ui->rbPromptNo->setChecked(true);
119 break;
120 }
121 ui->cbShowPrefix->setChecked(m_pPara->GetShowProtocolPrefix());
122 ui->cbShowIPPort->setChecked(m_pPara->GetShowIpPortInName());
123 return 0;
124}
ADAPT_WINDOWS
窗口适配枚举常量
Definition FrmViewer.h:60
@ Original
原始桌面大小,桌面的左上点与窗口的左上点对齐
@ Zoom
缩放窗口大小等于桌面大小 * 系数
@ KeepAspectRationToWindow
保持长宽比缩放到窗口大小,窗口是固定的
@ ZoomToWindow
桌面缩放到窗口大小,窗口是固定的
virtual int SetParameter(CParameter *pParameter) override
[override functions]
virtual int Accept() override
接受参数
参数界面接口
Definition ParameterUI.h:15
参数接口
Definition Parameter.h:209