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()
31 m_pUser = qobject_cast<CParameterUser*>(pParameter);
37 ui->leUser->setText(m_pUser->GetUser());
39 for(
auto t: m_pUser->GetType()) {
40 ui->cbType->addItem(m_pUser->ConvertTypeToName(t), (int)t);
43 int index = ui->cbType->findData((
int)m_pUser->GetUsedType());
45 qDebug(log) <<
"Forget set use type?";
47 ui->cbType->setCurrentIndex(index);
48 ui->cbType->setVisible(1 < m_pUser->GetType().length());
49 ui->lbType->setVisible(1 < m_pUser->GetType().length());
51 qDebug(log) <<
"CParameterUserUI::SetParameter:" << index;
53 ui->lePassword->setText(m_pUser->GetPassword());
54 ui->pbSave->setChecked(m_pUser->GetSavePassword());
58 ui->lePublicFile->setText(m_pUser->GetPublicKeyFile());
59 ui->lePrivateFile->setText(m_pUser->GetPrivateKeyFile());
60 ui->lePassphrase->setText(m_pUser->GetPassphrase());
61 ui->pbSavePassphrase->setChecked(m_pUser->GetSavePassphrase());
62 on_pbSavePassphrase_clicked();
70 if(!m_pUser)
return -1;
74 m_pUser->SetUser(QString());
75 m_pUser->SetPassword(QString());
78 m_pUser->SetPublicKeyFile(QString());
79 m_pUser->SetPrivateKeyFile(QString());
80 m_pUser->SetPassphrase(QString());
81 m_pUser->SetSavePassphrase(
false);
83 switch(m_pUser->GetUsedType())
85 case CParameterUser::TYPE::None:
89 case CParameterUser::TYPE::OnlyPassword:
91 m_pUser->SetPassword(ui->lePassword->text());
95 case CParameterUser::TYPE::UserPassword:
97 m_pUser->SetUser(ui->leUser->text());
98 m_pUser->SetPassword(ui->lePassword->text());
102 case CParameterUser::TYPE::PublicKey:
104 m_pUser->SetPublicKeyFile(ui->lePublicFile->text());
105 m_pUser->SetPrivateKeyFile(ui->lePrivateFile->text());
106 m_pUser->SetPassphrase(ui->lePassphrase->text());
107 m_pUser->SetSavePassphrase(ui->pbSavePassphrase->isChecked());
111 m_pUser->SetUser(ui->leUser->text());
112 m_pUser->SetPassword(ui->lePassword->text());
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());
126 switch(ui->lePassword->echoMode())
128 case QLineEdit::Password:
129 ui->lePassword->setEchoMode(QLineEdit::Normal);
130 ui->pbShow->setIcon(QIcon::fromTheme(
"eye-off"));
132 case QLineEdit::Normal:
133 ui->lePassword->setEchoMode(QLineEdit::Password);
134 ui->pbShow->setIcon(QIcon::fromTheme(
"eye-on"));
137 ui->pbShow->setIcon(QIcon::fromTheme(
"eye-on"));
141void CParameterUserUI::on_pbSave_clicked()
143 if(!parent()->inherits(
"CParameterNetUI"))
return;
144 if(ui->pbSave->isChecked())
146 ui->lePassword->setEnabled(
true);
147 ui->lePassword->setPlaceholderText(tr(
"Input password"));
149 ui->lePassword->setPlaceholderText(tr(
"Please checked save password to enable"));
150 ui->lePassword->setEnabled(
false);
154void CParameterUserUI::on_pbBrowsePublicFile_clicked()
157#if defined(Q_OS_LINUX)
160 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open public key file"), dir);
163 ui->lePublicFile->setText(szFile);
166void CParameterUserUI::on_pbBrowsePrivateFile_clicked()
169#if defined(Q_OS_LINUX)
172 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open public key file"), dir);
175 ui->lePrivateFile->setText(szFile);
178void CParameterUserUI::on_cbType_currentIndexChanged(
int index)
181 qDebug(log) <<
"CParameterUserUI::on_cbType_currentIndexChanged:" << index;
185 bUser = !(CParameterUser::TYPE::OnlyPassword == type
186 || CParameterUser::TYPE::None == type
187 || CParameterUser::TYPE::OnlyPasswordX509 == type
189 ui->lbUser->setVisible(bUser);
190 ui->leUser->setVisible(bUser);
192 bool bPassword =
false;
193 bPassword = !(CParameterUser::TYPE::None == type
194 || CParameterUser::TYPE::PublicKey == type);
195 ui->lbPassword->setVisible(bPassword);
196 ui->lePassword->setVisible(bPassword);
197 ui->pbSave->setVisible(bPassword);
198 ui->pbShow->setVisible(bPassword);
200 bool bPublicKey =
false;
201 bPublicKey = CParameterUser::TYPE::PublicKey == type;
202 ui->lbPublicFile->setVisible(bPublicKey);
203 ui->lePublicFile->setVisible(bPublicKey);
204 ui->pbBrowsePublicFile->setVisible(bPublicKey);
205 ui->lbPrivateFile->setVisible(bPublicKey);
206 ui->lePrivateFile->setVisible(bPublicKey);
207 ui->pbBrowsePrivateFile->setVisible(bPublicKey);
208 ui->lbPassphrase->setVisible(bPublicKey);
209 ui->lePassphrase->setVisible(bPublicKey);
210 ui->pbShowPassphrase->setVisible(bPublicKey);
211 ui->pbSavePassphrase->setVisible(bPublicKey);
212 ui->cbSystemFile->setVisible(bPublicKey);
215 bCA = CParameterUser::TYPE::OnlyPasswordX509 == type
216 || CParameterUser::TYPE::UserPasswordX509 == type;
217 ui->lbCAFile->setVisible(bCA);
218 ui->leCAFile->setVisible(bCA);
219 ui->pbBrowseCAFile->setVisible(bCA);
220 ui->lbCRLFile->setVisible(bCA);
221 ui->leCRLFile->setVisible(bCA);
222 ui->pbBrowseCRLFile->setVisible(bCA);
225void CParameterUserUI::on_pbShowPassphrase_clicked()
227 switch(ui->lePassphrase->echoMode())
229 case QLineEdit::Password:
230 ui->lePassphrase->setEchoMode(QLineEdit::Normal);
231 ui->pbShowPassphrase->setIcon(QIcon::fromTheme(
"eye-off"));
233 case QLineEdit::Normal:
234 ui->lePassphrase->setEchoMode(QLineEdit::Password);
235 ui->pbShowPassphrase->setIcon(QIcon::fromTheme(
"eye-on"));
238 ui->pbShowPassphrase->setIcon(QIcon::fromTheme(
"eye-on"));
242void CParameterUserUI::on_pbSavePassphrase_clicked()
244 if(!parent()->inherits(
"CParameterNetUI"))
return;
245 if(ui->pbSavePassphrase->isChecked())
247 ui->lePassphrase->setEnabled(
true);
248 ui->lePassphrase->setPlaceholderText(tr(
"Input passphrase"));
250 ui->lePassphrase->setPlaceholderText(tr(
"Please checked save passphrase to enable"));
251 ui->lePassphrase->setEnabled(
false);
255void CParameterUserUI::on_cbSystemFile_stateChanged(
int arg1)
257 ui->lePublicFile->setEnabled(!ui->cbSystemFile->isChecked());
258 ui->pbBrowsePublicFile->setEnabled(!ui->cbSystemFile->isChecked());
259 ui->lePrivateFile->setEnabled(!ui->cbSystemFile->isChecked());
260 ui->pbBrowsePrivateFile->setEnabled(!ui->cbSystemFile->isChecked());
263void CParameterUserUI::on_pbBrowseCAFile_clicked()
266#if defined(Q_OS_LINUX)
269 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open X509 certificate authentication file"), dir);
272 ui->leCAFile->setText(szFile);
275void CParameterUserUI::on_pbBrowseCRLFile_clicked()
278#if defined(Q_OS_LINUX)
281 QString szFile = QFileDialog::getOpenFileName(
this, tr(
"Open X509 Certificate Revocation List file"), dir);
284 ui->leCRLFile->setText(szFile);
CParameterClient * GetParameterClient()
Get CParameterClient.
The parameter UI interface.
void on_pbShow_clicked()
[Parameter commone functions]
int SetParameter(CParameter *pParameter)
[Parameter commone functions]
int Accept()
Accept parameters.
void SetSavePassword(bool save)
Set save password.
@ OnlyPasswordX509None
Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile.