Rabbit Remote Control 0.0.37
Loading...
Searching...
No Matches
ParameterPluginUI.cpp
1#include "ParameterPluginUI.h"
2#include "ui_ParameterPluginUI.h"
3#include <RabbitCommonTools.h>
4
5CParameterPluginUI::CParameterPluginUI(QWidget *parent) :
6 CParameterUI(parent),
7 ui(new Ui::CParameterPluginUI),
8 m_pPara(nullptr)
9{
10 ui->setupUi(this);
11 setWindowTitle(tr("Plugin"));
12 if(RabbitCommon::CTools::HasAdministratorPrivilege()) {
13 ui->cbPromptAdminPrivilege->setText("");
14 ui->cbPromptAdminPrivilege->hide();
15 } else {
16 ui->cbPromptAdminPrivilege->setText(
17 tr("Prompt administrator privilege"));
18 ui->cbPromptAdminPrivilege->show();
19 }
20}
21
22CParameterPluginUI::~CParameterPluginUI()
23{
24 delete ui;
25}
26
28{
29 if(!m_pPara)
30 return -1;
31 m_pPara->SetNativeWindowReceiveKeyboard(
32 ui->cbNativeWindowReceiveKeyboard->isChecked());
33 m_pPara->SetEnableLocalInputMethod(ui->cbEnableLocalInputMethod->isChecked());
34 m_pPara->SetPromptAdministratorPrivilege(
35 ui->cbPromptAdminPrivilege->isChecked());
36 m_pPara->SetEnableSystemUserToUser(ui->cbEnableUserName->isChecked());
37 m_pPara->SetAdaptWindows(
38 (CFrmViewer::ADAPT_WINDOWS)ui->cbViewZoom->currentData().toInt());
39
40 m_pPara->SetEncryptKey(ui->leEncryptKey->text());
41 m_pPara->SetSavePassword(ui->cbSavePassword->isChecked());
42 m_pPara->SetViewPassowrd(ui->cbEnableViewPassword->isChecked());
43 if(ui->rbPromptAlways->isChecked())
44 m_pPara->SetPromptType(CParameterPlugin::PromptType::Always);
45 if(ui->rbPromptFirst->isChecked())
46 m_pPara->SetPromptType(CParameterPlugin::PromptType::First);
47 if(ui->rbPromptNo->isChecked())
48 m_pPara->SetPromptType(CParameterPlugin::PromptType::No);
49 m_pPara->SetShowProtocolPrefix(ui->cbShowPrefix->isChecked());
50 m_pPara->SetShowIpPortInName(ui->cbShowIPPort->isChecked());
51 return 0;
52}
53
54void CParameterPluginUI::on_cbEnableViewPassword_clicked(bool checked)
55{
56 ui->pbEncryptKey->setEnabled(checked);
57}
58
59void CParameterPluginUI::on_pbEncryptKey_clicked()
60{
61 switch(ui->leEncryptKey->echoMode())
62 {
63 case QLineEdit::Password:
64 ui->leEncryptKey->setEchoMode(QLineEdit::Normal);
65 ui->pbEncryptKey->setIcon(QIcon::fromTheme("eye-off"));
66 break;
67 case QLineEdit::Normal:
68 ui->leEncryptKey->setEchoMode(QLineEdit::Password);
69 ui->pbEncryptKey->setIcon(QIcon::fromTheme("eye-on"));
70 break;
71 default:
72 break;
73 }
74}
75
77{
78 m_pPara = qobject_cast<CParameterPlugin*>(pParameter);
79 if(!m_pPara)
80 return -1;
81 ui->cbNativeWindowReceiveKeyboard->setChecked(
82 m_pPara->GetNativeWindowReceiveKeyboard());
83 ui->cbEnableLocalInputMethod->setChecked(m_pPara->GetEnableLocalInputMethod());
84 ui->cbPromptAdminPrivilege->setChecked(
85 m_pPara->GetPromptAdministratorPrivilege());
86 ui->cbEnableUserName->setChecked(m_pPara->GetEnableSystemUserToUser());
87
88 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom-original"),
89 tr("Original"),
91 /*ui->cbViewZoom->addItem(tr("Original Center"),
92 (int)CFrmViewer::ADAPT_WINDOWS::OriginalCenter);*/
93 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom"), tr("Zoom"),
95 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom-fit-best"),
96 tr("Zoom to window"),
98 ui->cbViewZoom->addItem(QIcon::fromTheme("zoom-aspect-ratio"),
99 tr("Keep desktop aspectration adapt to windows"),
101 int nIndex = ui->cbViewZoom->findData((int)m_pPara->GetAdaptWindows());
102 if(-1 != nIndex)
103 ui->cbViewZoom->setCurrentIndex(nIndex);
104
105 ui->leEncryptKey->setText(m_pPara->GetEncryptKey());
106 ui->cbSavePassword->setChecked(m_pPara->GetSavePassword());
107 ui->cbEnableViewPassword->setChecked(m_pPara->GetViewPassowrd());
108 ui->pbEncryptKey->setEnabled(ui->cbEnableViewPassword->isChecked());
109 switch (m_pPara->GetPromptType()) {
110 case CParameterPlugin::PromptType::Always:
111 ui->rbPromptAlways->setChecked(true);
112 break;
113 case CParameterPlugin::PromptType::First:
114 ui->rbPromptFirst->setChecked(true);
115 break;
116 case CParameterPlugin::PromptType::No:
117 ui->rbPromptNo->setChecked(true);
118 break;
119 }
120 ui->cbShowPrefix->setChecked(m_pPara->GetShowProtocolPrefix());
121 ui->cbShowIPPort->setChecked(m_pPara->GetShowIpPortInName());
122 return 0;
123}
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