2#include "ParameterUserUI.h"
3#include "ui_ParameterUserUI.h"
5#include <QLoggingCategory>
7static Q_LOGGING_CATEGORY(log,
"Client.Parameter.User.UI")
15 ui->leUser->setPlaceholderText(tr(
"Input user name"));
16 ui->lePassword->setPlaceholderText(tr(
"Input password"));
17 ui->lePublicFile->setPlaceholderText(tr(
"Please input the public key file"));
18 ui->lePrivateFile->setPlaceholderText(tr(
"Please input the private key file"));
19 ui->lePassphrase->setPlaceholderText(tr(
"Please input the passphrase of private key file"));
21 on_cbType_currentIndexChanged(0);
22 on_cbSystemFile_stateChanged(ui->cbSystemFile->isChecked());
25CParameterUserUI::~CParameterUserUI()
33 m_pUser = qobject_cast<CParameterUser*>(pParameter);
39 ui->leUser->setText(m_pUser->GetUser());
42 for(
auto t: m_pUser->GetType()) {
43 ui->cbType->addItem(m_pUser->ConvertTypeToName(t), (int)t);
46 int index = ui->cbType->findData((
int)m_pUser->GetUsedType());
48 qDebug(log) <<
"Forget set use type?";
50 ui->cbType->setCurrentIndex(index);
51 ui->cbType->setVisible(1 < m_pUser->GetType().length());
52 ui->lbType->setVisible(1 < m_pUser->GetType().length());
54 qDebug(log) <<
"CParameterUserUI::SetParameter:" << index;
56 ui->lePassword->setText(m_pUser->GetPassword());
57 ui->pbSave->setChecked(m_pUser->GetSavePassword());
61 ui->pbSave->setEnabled(plugPara->GetSavePassword());
62 SetPushButtonTooltip(ui->pbSave, tr(
"Save password"),
63 tr(
"Menu: Tools→Settings→Plugin→Password→Enable Save password"));
65 ui->pbShow->setEnabled(plugPara->GetViewPassowrd());
66 SetPushButtonTooltip(ui->pbShow, tr(
"View password"),
67 tr(
"Menu: Tools→Settings→Plugin→Password→Enable view password"));
68 ui->lePublicFile->setText(m_pUser->GetPublicKeyFile());
69 ui->lePrivateFile->setText(m_pUser->GetPrivateKeyFile());
70 ui->lePassphrase->setText(m_pUser->GetPassphrase());
71 ui->pbSavePassphrase->setChecked(m_pUser->GetSavePassphrase());
72 on_pbSavePassphrase_clicked();
74 ui->pbSavePassphrase->setEnabled(plugPara->GetSavePassword());
75 SetPushButtonTooltip(ui->pbSavePassphrase, tr(
"Save password"),
76 tr(
"Menu: Tools→Settings→Plugin→Password→Enable Save password"));
78 ui->pbShowPassphrase->setEnabled(plugPara->GetViewPassowrd());
79 SetPushButtonTooltip(ui->pbShowPassphrase, tr(
"View password"),
80 tr(
"Menu: Tools→Settings→Plugin→Password→Enable view password"));
87 if(!m_pUser)
return -1;
91 m_pUser->SetUser(QString());
92 m_pUser->SetPassword(QString());
95 m_pUser->SetPublicKeyFile(QString());
96 m_pUser->SetPrivateKeyFile(QString());
97 m_pUser->SetPassphrase(QString());
98 m_pUser->SetSavePassphrase(
false);
100 switch(m_pUser->GetUsedType())
102 case CParameterUser::TYPE::None:
106 case CParameterUser::TYPE::OnlyPassword:
108 m_pUser->SetPassword(ui->lePassword->text());
112 case CParameterUser::TYPE::UserPassword:
114 m_pUser->SetUser(ui->leUser->text());
115 m_pUser->SetPassword(ui->lePassword->text());
119 case CParameterUser::TYPE::PublicKey:
121 m_pUser->SetPublicKeyFile(ui->lePublicFile->text());
122 m_pUser->SetPrivateKeyFile(ui->lePrivateFile->text());
123 m_pUser->SetPassphrase(ui->lePassphrase->text());
124 m_pUser->SetSavePassphrase(ui->pbSavePassphrase->isChecked());
128 m_pUser->SetUser(ui->leUser->text());
129 m_pUser->SetPassword(ui->lePassword->text());
132 m_pUser->SetPublicKeyFile(ui->lePublicFile->text());
133 m_pUser->SetPrivateKeyFile(ui->lePrivateFile->text());
134 m_pUser->SetPassphrase(ui->lePassphrase->text());
135 m_pUser->SetSavePassphrase(ui->pbSavePassphrase->isChecked());
144 switch(ui->lePassword->echoMode())
146 case QLineEdit::Password:
147 ui->lePassword->setEchoMode(QLineEdit::Normal);
148 ui->pbShow->setIcon(QIcon::fromTheme(
"eye-off"));
150 case QLineEdit::Normal:
151 ui->lePassword->setEchoMode(QLineEdit::Password);
152 ui->pbShow->setIcon(QIcon::fromTheme(
"eye-on"));
155 ui->pbShow->setIcon(QIcon::fromTheme(
"eye-on"));
159void CParameterUserUI::on_pbSave_clicked()
161 if(!parent()->inherits(
"CParameterNetUI"))
return;
162 if(ui->pbSave->isChecked())
164 ui->lePassword->setEnabled(
true);
165 ui->lePassword->setPlaceholderText(tr(
"Input password"));
167 ui->lePassword->setPlaceholderText(tr(
"Please checked save password to enable"));
168 ui->lePassword->setEnabled(
false);
172void CParameterUserUI::on_pbBrowsePublicFile_clicked()
175#if defined(Q_OS_LINUX)
178 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open public key file"), dir);
181 ui->lePublicFile->setText(szFile);
184void CParameterUserUI::on_pbBrowsePrivateFile_clicked()
187#if defined(Q_OS_LINUX)
190 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open public key file"), dir);
193 ui->lePrivateFile->setText(szFile);
196void CParameterUserUI::on_cbType_currentIndexChanged(
int index)
199 qDebug(log) <<
"CParameterUserUI::on_cbType_currentIndexChanged:" << index;
203 bUser = !(CParameterUser::TYPE::OnlyPassword == type
204 || CParameterUser::TYPE::None == type
205 || CParameterUser::TYPE::OnlyPasswordX509 == type
207 ui->lbUser->setVisible(bUser);
208 ui->leUser->setVisible(bUser);
210 bool bPassword =
false;
211 bPassword = !(CParameterUser::TYPE::None == type
212 || CParameterUser::TYPE::PublicKey == type);
213 ui->lbPassword->setVisible(bPassword);
214 ui->lePassword->setVisible(bPassword);
215 ui->pbSave->setVisible(bPassword);
216 ui->pbShow->setVisible(bPassword);
218 bool bPublicKey =
false;
219 bPublicKey = CParameterUser::TYPE::PublicKey == type;
220 ui->lbPublicFile->setVisible(bPublicKey);
221 ui->lePublicFile->setVisible(bPublicKey);
222 ui->pbBrowsePublicFile->setVisible(bPublicKey);
223 ui->lbPrivateFile->setVisible(bPublicKey);
224 ui->lePrivateFile->setVisible(bPublicKey);
225 ui->pbBrowsePrivateFile->setVisible(bPublicKey);
226 ui->lbPassphrase->setVisible(bPublicKey);
227 ui->lePassphrase->setVisible(bPublicKey);
228 ui->pbShowPassphrase->setVisible(bPublicKey);
229 ui->pbSavePassphrase->setVisible(bPublicKey);
230 ui->cbSystemFile->setVisible(bPublicKey);
233 bCA = CParameterUser::TYPE::OnlyPasswordX509 == type
234 || CParameterUser::TYPE::UserPasswordX509 == type;
235 ui->lbCAFile->setVisible(bCA);
236 ui->leCAFile->setVisible(bCA);
237 ui->pbBrowseCAFile->setVisible(bCA);
238 ui->lbCRLFile->setVisible(bCA);
239 ui->leCRLFile->setVisible(bCA);
240 ui->pbBrowseCRLFile->setVisible(bCA);
243void CParameterUserUI::on_pbShowPassphrase_clicked()
245 switch(ui->lePassphrase->echoMode())
247 case QLineEdit::Password:
248 ui->lePassphrase->setEchoMode(QLineEdit::Normal);
249 ui->pbShowPassphrase->setIcon(QIcon::fromTheme(
"eye-off"));
251 case QLineEdit::Normal:
252 ui->lePassphrase->setEchoMode(QLineEdit::Password);
253 ui->pbShowPassphrase->setIcon(QIcon::fromTheme(
"eye-on"));
256 ui->pbShowPassphrase->setIcon(QIcon::fromTheme(
"eye-on"));
260void CParameterUserUI::on_pbSavePassphrase_clicked()
262 if(!parent()->inherits(
"CParameterNetUI"))
return;
263 if(ui->pbSavePassphrase->isChecked())
265 ui->lePassphrase->setEnabled(
true);
266 ui->lePassphrase->setPlaceholderText(tr(
"Input passphrase"));
268 ui->lePassphrase->setPlaceholderText(tr(
"Please checked save passphrase to enable"));
269 ui->lePassphrase->setEnabled(
false);
273void CParameterUserUI::on_cbSystemFile_stateChanged(
int arg1)
275 ui->lePublicFile->setEnabled(!ui->cbSystemFile->isChecked());
276 ui->pbBrowsePublicFile->setEnabled(!ui->cbSystemFile->isChecked());
277 ui->lePrivateFile->setEnabled(!ui->cbSystemFile->isChecked());
278 ui->pbBrowsePrivateFile->setEnabled(!ui->cbSystemFile->isChecked());
281void CParameterUserUI::on_pbBrowseCAFile_clicked()
284#if defined(Q_OS_LINUX)
287 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open X509 certificate authentication file"), dir);
290 ui->leCAFile->setText(szFile);
293void CParameterUserUI::on_pbBrowseCRLFile_clicked()
296#if defined(Q_OS_LINUX)
299 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open X509 Certificate Revocation List file"), dir);
302 ui->leCRLFile->setText(szFile);
305int CParameterUserUI::SetPushButtonTooltip(QPushButton *pPb, QString szEnable, QString szDisable)
308 pPb->setToolTip(szEnable);
310 pPb->setToolTip(szDisable);
311 pPb->setStatusTip(pPb->toolTip());
312 pPb->setWhatsThis(pPb->toolTip());
CParameterPlugin * GetGlobalParameters()
Get CParameterPlugin
void on_pbShow_clicked()
[Parameter override functions]
int Accept() override
接受参数
int SetParameter(CParameter *pParameter) override
[Parameter override functions]
void SetSavePassword(bool save)
Set save password
@ OnlyPasswordX509None
Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile