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.
 
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.