Rabbit Remote Control 0.1.0-bate1
Loading...
Searching...
No Matches
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 ui->pbEncryptKey->setToolTip(tr("Enable view password"));
22}
23
24CParameterPluginUI::~CParameterPluginUI()
25{
26 delete ui;
27}
28
30{
31 if(!m_pPara)
32 return -1;
33 m_pPara->SetNativeWindowReceiveKeyboard(
34 ui->cbNativeWindowReceiveKeyboard->isChecked());
35 m_pPara->SetEnableLocalInputMethod(ui->cbEnableLocalInputMethod->isChecked());
36 m_pPara->SetPromptAdministratorPrivilege(
37 ui->cbPromptAdminPrivilege->isChecked());
38 m_pPara->SetEnableSystemUserToUser(ui->cbEnableUserName->isChecked());
39 m_pPara->SetAdaptWindows(
40 (CFrmViewer::ADAPT_WINDOWS)ui->cbViewZoom->currentData().toInt());
41
42 m_pPara->SetEncryptKey(ui->leEncryptKey->text());
43 m_pPara->SetSavePassword(ui->cbSavePassword->isChecked());
44 m_pPara->SetViewPassowrd(ui->cbEnableViewPassword->isChecked());
45 if(ui->rbPromptAlways->isChecked())
46 m_pPara->SetPromptType(CParameterPlugin::PromptType::Always);
47 if(ui->rbPromptFirst->isChecked())
48 m_pPara->SetPromptType(CParameterPlugin::PromptType::First);
49 if(ui->rbPromptNo->isChecked())
50 m_pPara->SetPromptType(CParameterPlugin::PromptType::No);
51 m_pPara->SetShowProtocolPrefix(ui->cbShowPrefix->isChecked());
52 m_pPara->SetShowIpPortInName(ui->cbShowIPPort->isChecked());
53 return 0;
54}
55
56void CParameterPluginUI::on_cbEnableViewPassword_clicked(bool checked)
57{
58 ui->pbEncryptKey->setEnabled(checked);
59}
60
61void CParameterPluginUI::on_pbEncryptKey_clicked()
62{
63 switch(ui->leEncryptKey->echoMode())
64 {
65 case QLineEdit::Password:
66 ui->leEncryptKey->setEchoMode(QLineEdit::Normal);
67 ui->pbEncryptKey->setIcon(QIcon::fromTheme("eye-off"));
68 break;
69 case QLineEdit::Normal:
70 ui->leEncryptKey->setEchoMode(QLineEdit::Password);
71 ui->pbEncryptKey->setIcon(QIcon::fromTheme("eye-on"));
72 break;
73 default:
74 break;
75 }
76}
77
79{
80 m_pPara = qobject_cast<CParameterPlugin*>(pParameter);
81 if(!m_pPara)
82 return -1;
83 ui->cbNativeWindowReceiveKeyboard->setChecked(
84 m_pPara->GetNativeWindowReceiveKeyboard());
85 ui->cbEnableLocalInputMethod->setChecked(m_pPara->GetEnableLocalInputMethod());
86 ui->cbPromptAdminPrivilege->setChecked(
87 m_pPara->GetPromptAdministratorPrivilege());
88 ui->cbEnableUserName->setChecked(m_pPara->GetEnableSystemUserToUser());
89
90 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom-original"),
91 tr("Original"),
93 /*ui->cbViewZoom->addItem(tr("Original Center"),
94 (int)CFrmViewer::ADAPT_WINDOWS::OriginalCenter);*/
95 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom"), tr("Zoom"),
97 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom-fit-best"),
98 tr("Zoom to window"),
100 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom-aspect-ratio"),
101 tr("Keep aspect ratio to window"),
103 int nIndex = ui->cbViewZoom->findData((int)m_pPara->GetAdaptWindows());
104 if(-1 != nIndex)
105 ui->cbViewZoom->setCurrentIndex(nIndex);
106
107 ui->leEncryptKey->setText(m_pPara->GetEncryptKey());
108 ui->cbSavePassword->setChecked(m_pPara->GetSavePassword());
109 ui->cbEnableViewPassword->setChecked(m_pPara->GetViewPassowrd());
110 ui->pbEncryptKey->setEnabled(ui->cbEnableViewPassword->isChecked());
111 switch (m_pPara->GetPromptType()) {
112 case CParameterPlugin::PromptType::Always:
113 ui->rbPromptAlways->setChecked(true);
114 break;
115 case CParameterPlugin::PromptType::First:
116 ui->rbPromptFirst->setChecked(true);
117 break;
118 case CParameterPlugin::PromptType::No:
119 ui->rbPromptNo->setChecked(true);
120 break;
121 }
122 ui->cbShowPrefix->setChecked(m_pPara->GetShowProtocolPrefix());
123 ui->cbShowIPPort->setChecked(m_pPara->GetShowIpPortInName());
124 return 0;
125}
ADAPT_WINDOWS
The ADAPT_WINDOWS enum.
Definition FrmViewer.h:60
@ Original
Original desktop size, the left-top of the desktop is aligned with the left-top of the window.
@ Zoom
zoom windows = desktop size * factor
@ KeepAspectRationToWindow
Keep desktop aspectration adapt to windows.
@ ZoomToWindow
Desktop adapt to windows.
virtual int SetParameter(CParameter *pParameter) override
[override functions]
virtual int Accept() override
Accept parameters.
The parameter UI interface.
Definition ParameterUI.h:15
Parameter interface.
Definition Parameter.h:209