#include "dialog_login.h" #include "ui_dialog_login.h" #include #include #include #include #include "base/HGUtility.h" #include "HGUIGlobal.h" #include "dialog_registeraccount.h" #include "app_cfg.h" Dialog_logIn::Dialog_logIn(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog_logIn) , m_accountName("") , m_profileName("") { ui->setupUi(this); setWindowFlags(Qt::FramelessWindowHint); QFont ft; ft.setPointSize(15); this->setFont(ft); ui->pbtn_setting->setVisible(false); ui->radioButton_pressureTest->setVisible(false); ui->pbtn_setting->setToolTip(tr("Set host and port")); ui->pbtn_minum->setToolTip(tr("Minimize")); ui->pbtn_close->setToolTip(tr("Close")); ui->label_title->setText(tr("LogIn")); ui->lineEdit_password->setEchoMode(QLineEdit::EchoMode::Password); ui->lineEdit_profilePath->setReadOnly(true); m_profileName = getCfgValue("login", "profile", m_profileName); ui->lineEdit_profilePath->setText(m_profileName); // QString ipStr = "\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b"; // QString portStr = "[0-9]+$"; // ui->lineEdit_dbHost->setValidator(new QRegExpValidator(QRegExp(ipStr))); // ui->lineEdit_ftpHost->setValidator(new QRegExpValidator(QRegExp(ipStr))); // ui->lineEdit_dbPort->setValidator(new QRegExpValidator(QRegExp(portStr))); // ui->lineEdit_ftpPort->setValidator(new QRegExpValidator(QRegExp(portStr))); // QString account("root"); // QString dbHost("192.168.1.70"); // QString dbPort("3306"); // QString ftpHost("192.168.1.70"); // QString ftpPort("21"); ui->lineEdit_account->setText(getCfgValue("login", "account", "")); // ui->lineEdit_dbHost->setText(getCfgValue("login", "dbHost", dbHost)); // ui->lineEdit_dbPort->setText(getCfgValue("login", "dbPort", dbPort)); // ui->lineEdit_ftpHost->setText(getCfgValue("login", "ftpHost", ftpHost)); // ui->lineEdit_ftpPort->setText(getCfgValue("login", "ftpPort", ftpPort)); ui->stackedWidget->setCurrentIndex(0); } Dialog_logIn::~Dialog_logIn() { delete ui; } //HGPdtToolDbUserMgr Dialog_logIn::GetUserMgr() //{ // return m_pdtToolDbuserMgr; //} QString Dialog_logIn::GetFtpHost() { return ui->lineEdit_ftpHost->text(); } unsigned short Dialog_logIn::GetFtpPort() { return ui->lineEdit_ftpPort->text().toUShort(); } Dialog_logIn::LogInType Dialog_logIn::GetLogInType() { return m_loginType; } QString Dialog_logIn::GetAccountName() { return m_accountName; } QString Dialog_logIn::GetProfileName() { return m_profileName; } void Dialog_logIn::mousePressEvent(QMouseEvent *event) { if(event->button()==Qt::LeftButton) { m_leftMousePressed = true; m_startPos = event->globalPos(); } } void Dialog_logIn::mouseMoveEvent(QMouseEvent *event) { if(m_leftMousePressed) { this->window()->move(this->window()->geometry().topLeft() + event->globalPos() - m_startPos); m_startPos = event->globalPos(); } } void Dialog_logIn::mouseReleaseEvent(QMouseEvent *event) { if(event->button()==Qt::LeftButton) { m_leftMousePressed = false; } } void Dialog_logIn::on_pbtn_login_clicked() { QString account = ui->lineEdit_account->text(); QString password = ui->lineEdit_password->text(); QString cfgPassword = getCfgValue(account.toStdString().c_str(), "password", ""); if (cfgPassword.isEmpty()) { QMessageBox::information(this, tr("Prompt"), tr("Account dose not exist")); return; } if (password.isEmpty()) { QMessageBox::information(this, tr("Prompt"), tr("Password can not be empty")); return; } if (password != cfgPassword) { QMessageBox::information(this, tr("Prompt"), tr("Password error")); return; } if (ui->lineEdit_profilePath->text().isEmpty()) { QMessageBox::information(this, tr("Prompt"), tr("Please select a profile first")); return; } saveCfgValue("login", "account", account); if (ui->radioButton_burn->isChecked()) m_loginType = LogInType_Burn; else if (ui->radioButton_initTest->isChecked()) m_loginType = LogInType_InitTest; else if (ui->radioButton_imageTest->isChecked()) m_loginType = LogInType_ImageTest; else if (ui->radioButton_pressureTest->isChecked()) m_loginType = LogInType_PressureTest; m_accountName = account; accept(); // HGPdtToolDbUserMgr pdtToolDbuserMgr = nullptr; // HGPdtToolDb_CreateUserMgr(dbHost.toStdString().c_str(), dbPort.toInt(), account.toStdString().c_str(), password.toStdString().c_str(), // &pdtToolDbuserMgr); // if (NULL != pdtToolDbuserMgr) // { // m_pdtToolDbuserMgr = pdtToolDbuserMgr; // accept(); // } // else // { // QMessageBox msg(QMessageBox::Question, tr("tips"), tr("Login failed, sure to enter offline mode?"), QMessageBox::Yes | QMessageBox::No, this); // msg.setButtonText(QMessageBox::Yes, tr("yes")); // msg.setButtonText(QMessageBox::No, tr("no")); // msg.exec(); // if (msg.clickedButton() == msg.button(QMessageBox::Yes)) // { // m_pdtToolDbuserMgr = nullptr; // accept(); // } // else // { // return; // } // } } void Dialog_logIn::on_pbtn_setting_clicked(bool checked) { if (checked) { ui->stackedWidget->setCurrentIndex(1); } else { ui->stackedWidget->setCurrentIndex(0); } } void Dialog_logIn::on_pbtn_minum_clicked() { this->window()->showMinimized(); } void Dialog_logIn::on_pbtn_close_clicked() { close(); } void Dialog_logIn::on_pbtn_register_clicked() { Dialog_RegisterAccount dlg; dlg.exec(); } void Dialog_logIn::on_pbtn_selectCfgFile_clicked() { QString fileName = QFileDialog::getOpenFileName(nullptr, tr("Select profile"), "", "*.json"); ui->lineEdit_profilePath->setText(fileName); m_profileName = getStdFileName(fileName); saveCfgValue("login", "profile", m_profileName); } void Dialog_logIn::on_checkBox_showPassword_toggled(bool checked) { ui->lineEdit_password->setEchoMode(checked ? QLineEdit::Normal : QLineEdit::Password); }