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