1#include "ParameterUserUI.h"
2#include "ui_ParameterUserUI.h"
4#include <QLoggingCategory>
6static Q_LOGGING_CATEGORY(log,
"Client.Parameter.User.UI")
14 ui->leUser->setPlaceholderText(tr(
"Input user name"));
15 ui->lePassword->setPlaceholderText(tr(
"Input password"));
16 ui->lePublicFile->setPlaceholderText(tr(
"Please input the public key file"));
17 ui->lePrivateFile->setPlaceholderText(tr(
"Please input the private key file"));
18 ui->lePassphrase->setPlaceholderText(tr(
"Please input the passphrase of private key file"));
20 on_cbType_currentIndexChanged(0);
21 on_cbSystemFile_stateChanged(ui->cbSystemFile->isChecked());
24CParameterUserUI::~CParameterUserUI()
32 m_pUser = qobject_cast<CParameterUser*>(pParameter);
38 ui->leUser->setText(m_pUser->GetUser());
41 for(
auto t: m_pUser->GetType()) {
42 ui->cbType->addItem(m_pUser->ConvertTypeToName(t), (int)t);
45 int index = ui->cbType->findData((
int)m_pUser->GetUsedType());
47 qDebug(log) <<
"Forget set use type?";
49 ui->cbType->setCurrentIndex(index);
50 ui->cbType->setVisible(1 < m_pUser->GetType().length());
51 ui->lbType->setVisible(1 < m_pUser->GetType().length());
53 qDebug(log) <<
"CParameterUserUI::SetParameter:" << index;
55 ui->lePassword->setText(m_pUser->GetPassword());
56 ui->pbSave->setChecked(m_pUser->GetSavePassword());
59 SetPushButtonTooltip(ui->pbSave, tr(
"Save password"),
60 tr(
"Menu: Tools→Settings→Plugin→Password→Enable Save password"));
62 SetPushButtonTooltip(ui->pbShow, tr(
"View password"),
63 tr(
"Menu: Tools→Settings→Plugin→Password→Enable view password"));
64 ui->lePublicFile->setText(m_pUser->GetPublicKeyFile());
65 ui->lePrivateFile->setText(m_pUser->GetPrivateKeyFile());
66 ui->lePassphrase->setText(m_pUser->GetPassphrase());
67 ui->pbSavePassphrase->setChecked(m_pUser->GetSavePassphrase());
68 on_pbSavePassphrase_clicked();
70 SetPushButtonTooltip(ui->pbSavePassphrase, tr(
"Save password"),
71 tr(
"Menu: Tools→Settings→Plugin→Password→Enable Save password"));
73 SetPushButtonTooltip(ui->pbShowPassphrase, tr(
"View password"),
74 tr(
"Menu: Tools→Settings→Plugin→Password→Enable view password"));
81 if(!m_pUser)
return -1;
85 m_pUser->SetUser(QString());
86 m_pUser->SetPassword(QString());
89 m_pUser->SetPublicKeyFile(QString());
90 m_pUser->SetPrivateKeyFile(QString());
91 m_pUser->SetPassphrase(QString());
92 m_pUser->SetSavePassphrase(
false);
94 switch(m_pUser->GetUsedType())
96 case CParameterUser::TYPE::None:
100 case CParameterUser::TYPE::OnlyPassword:
102 m_pUser->SetPassword(ui->lePassword->text());
106 case CParameterUser::TYPE::UserPassword:
108 m_pUser->SetUser(ui->leUser->text());
109 m_pUser->SetPassword(ui->lePassword->text());
113 case CParameterUser::TYPE::PublicKey:
115 m_pUser->SetPublicKeyFile(ui->lePublicFile->text());
116 m_pUser->SetPrivateKeyFile(ui->lePrivateFile->text());
117 m_pUser->SetPassphrase(ui->lePassphrase->text());
118 m_pUser->SetSavePassphrase(ui->pbSavePassphrase->isChecked());
122 m_pUser->SetUser(ui->leUser->text());
123 m_pUser->SetPassword(ui->lePassword->text());
126 m_pUser->SetPublicKeyFile(ui->lePublicFile->text());
127 m_pUser->SetPrivateKeyFile(ui->lePrivateFile->text());
128 m_pUser->SetPassphrase(ui->lePassphrase->text());
129 m_pUser->SetSavePassphrase(ui->pbSavePassphrase->isChecked());
138 switch(ui->lePassword->echoMode())
140 case QLineEdit::Password:
141 ui->lePassword->setEchoMode(QLineEdit::Normal);
142 ui->pbShow->setIcon(QIcon::fromTheme(
"eye-off"));
144 case QLineEdit::Normal:
145 ui->lePassword->setEchoMode(QLineEdit::Password);
146 ui->pbShow->setIcon(QIcon::fromTheme(
"eye-on"));
149 ui->pbShow->setIcon(QIcon::fromTheme(
"eye-on"));
153void CParameterUserUI::on_pbSave_clicked()
155 if(!parent()->inherits(
"CParameterNetUI"))
return;
156 if(ui->pbSave->isChecked())
158 ui->lePassword->setEnabled(
true);
159 ui->lePassword->setPlaceholderText(tr(
"Input password"));
161 ui->lePassword->setPlaceholderText(tr(
"Please checked save password to enable"));
162 ui->lePassword->setEnabled(
false);
166void CParameterUserUI::on_pbBrowsePublicFile_clicked()
169#if defined(Q_OS_LINUX)
172 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open public key file"), dir);
175 ui->lePublicFile->setText(szFile);
178void CParameterUserUI::on_pbBrowsePrivateFile_clicked()
181#if defined(Q_OS_LINUX)
184 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open public key file"), dir);
187 ui->lePrivateFile->setText(szFile);
190void CParameterUserUI::on_cbType_currentIndexChanged(
int index)
193 qDebug(log) <<
"CParameterUserUI::on_cbType_currentIndexChanged:" << index;
197 bUser = !(CParameterUser::TYPE::OnlyPassword == type
198 || CParameterUser::TYPE::None == type
199 || CParameterUser::TYPE::OnlyPasswordX509 == type
201 ui->lbUser->setVisible(bUser);
202 ui->leUser->setVisible(bUser);
204 bool bPassword =
false;
205 bPassword = !(CParameterUser::TYPE::None == type
206 || CParameterUser::TYPE::PublicKey == type);
207 ui->lbPassword->setVisible(bPassword);
208 ui->lePassword->setVisible(bPassword);
209 ui->pbSave->setVisible(bPassword);
210 ui->pbShow->setVisible(bPassword);
212 bool bPublicKey =
false;
213 bPublicKey = CParameterUser::TYPE::PublicKey == type;
214 ui->lbPublicFile->setVisible(bPublicKey);
215 ui->lePublicFile->setVisible(bPublicKey);
216 ui->pbBrowsePublicFile->setVisible(bPublicKey);
217 ui->lbPrivateFile->setVisible(bPublicKey);
218 ui->lePrivateFile->setVisible(bPublicKey);
219 ui->pbBrowsePrivateFile->setVisible(bPublicKey);
220 ui->lbPassphrase->setVisible(bPublicKey);
221 ui->lePassphrase->setVisible(bPublicKey);
222 ui->pbShowPassphrase->setVisible(bPublicKey);
223 ui->pbSavePassphrase->setVisible(bPublicKey);
224 ui->cbSystemFile->setVisible(bPublicKey);
227 bCA = CParameterUser::TYPE::OnlyPasswordX509 == type
228 || CParameterUser::TYPE::UserPasswordX509 == type;
229 ui->lbCAFile->setVisible(bCA);
230 ui->leCAFile->setVisible(bCA);
231 ui->pbBrowseCAFile->setVisible(bCA);
232 ui->lbCRLFile->setVisible(bCA);
233 ui->leCRLFile->setVisible(bCA);
234 ui->pbBrowseCRLFile->setVisible(bCA);
237void CParameterUserUI::on_pbShowPassphrase_clicked()
239 switch(ui->lePassphrase->echoMode())
241 case QLineEdit::Password:
242 ui->lePassphrase->setEchoMode(QLineEdit::Normal);
243 ui->pbShowPassphrase->setIcon(QIcon::fromTheme(
"eye-off"));
245 case QLineEdit::Normal:
246 ui->lePassphrase->setEchoMode(QLineEdit::Password);
247 ui->pbShowPassphrase->setIcon(QIcon::fromTheme(
"eye-on"));
250 ui->pbShowPassphrase->setIcon(QIcon::fromTheme(
"eye-on"));
254void CParameterUserUI::on_pbSavePassphrase_clicked()
256 if(!parent()->inherits(
"CParameterNetUI"))
return;
257 if(ui->pbSavePassphrase->isChecked())
259 ui->lePassphrase->setEnabled(
true);
260 ui->lePassphrase->setPlaceholderText(tr(
"Input passphrase"));
262 ui->lePassphrase->setPlaceholderText(tr(
"Please checked save passphrase to enable"));
263 ui->lePassphrase->setEnabled(
false);
267void CParameterUserUI::on_cbSystemFile_stateChanged(
int arg1)
269 ui->lePublicFile->setEnabled(!ui->cbSystemFile->isChecked());
270 ui->pbBrowsePublicFile->setEnabled(!ui->cbSystemFile->isChecked());
271 ui->lePrivateFile->setEnabled(!ui->cbSystemFile->isChecked());
272 ui->pbBrowsePrivateFile->setEnabled(!ui->cbSystemFile->isChecked());
275void CParameterUserUI::on_pbBrowseCAFile_clicked()
278#if defined(Q_OS_LINUX)
281 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open X509 certificate authentication file"), dir);
284 ui->leCAFile->setText(szFile);
287void CParameterUserUI::on_pbBrowseCRLFile_clicked()
290#if defined(Q_OS_LINUX)
293 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open X509 Certificate Revocation List file"), dir);
296 ui->leCRLFile->setText(szFile);
299int CParameterUserUI::SetPushButtonTooltip(QPushButton *pPb, QString szEnable, QString szDisable)
302 pPb->setToolTip(szEnable);
304 pPb->setToolTip(szDisable);
305 pPb->setStatusTip(pPb->toolTip());
306 pPb->setWhatsThis(pPb->toolTip());
CParameterPlugin * GetGlobalParameters()
Get CParameterPlugin.
The parameter UI interface.
void on_pbShow_clicked()
[Parameter override functions]
int Accept() override
Accept parameters.
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.