157 lines
4.3 KiB
C++
157 lines
4.3 KiB
C++
#include "dialog_login.h"
|
|
#include "ui_dialog_login.h"
|
|
#include <QMessageBox>
|
|
#include "mainwindow.h"
|
|
#include "base/HGUtility.h"
|
|
#include "base/HGIni.h"
|
|
#include "HGUIGlobal.h"
|
|
#include "HGString.h"
|
|
|
|
Dialog_logIn::Dialog_logIn(QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::Dialog_logIn)
|
|
, m_pdtToolDbuserMgr(nullptr)
|
|
{
|
|
ui->setupUi(this);
|
|
|
|
setWindowFlags(Qt::FramelessWindowHint);
|
|
|
|
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"));
|
|
|
|
QString account("root");
|
|
ui->lineEdit_account->setText(getCfgValue("login", "account", account));
|
|
// ui->lineEdit_password->setText("123456");
|
|
ui->lineEdit_password->setEchoMode(QLineEdit::EchoMode::Password);
|
|
ui->lineEdit_dbHost->setText("192.168.1.70");
|
|
ui->lineEdit_dbPort->setText("3306");
|
|
ui->lineEdit_ftpHost->setText("192.168.1.70");
|
|
ui->lineEdit_ftpPort->setText("3306");
|
|
|
|
ui->label_dbHost->setVisible(false);
|
|
ui->label_dbPort->setVisible(false);
|
|
ui->lineEdit_dbHost->setVisible(false);
|
|
ui->lineEdit_dbPort->setVisible(false);
|
|
|
|
ui->label_ftpHost->setVisible(false);
|
|
ui->label_ftpPort->setVisible(false);
|
|
ui->lineEdit_ftpHost->setVisible(false);
|
|
ui->lineEdit_ftpPort->setVisible(false);
|
|
}
|
|
|
|
Dialog_logIn::~Dialog_logIn()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
HGPdtToolDbUserMgr Dialog_logIn::GetUserMgr()
|
|
{
|
|
return m_pdtToolDbuserMgr;
|
|
}
|
|
|
|
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 host = ui->lineEdit_dbHost->text();
|
|
QString port = ui->lineEdit_dbPort->text();
|
|
saveCfgValue("login", "account", account);
|
|
|
|
HGPdtToolDbUserMgr pdtToolDbuserMgr = nullptr;
|
|
HGResult ret = HGPdtToolDb_CreateUserMgr(host.toStdString().c_str(), port.toInt(), account.toStdString().c_str(), password.toStdString().c_str(),
|
|
&pdtToolDbuserMgr);
|
|
if (NULL != pdtToolDbuserMgr)
|
|
{
|
|
m_pdtToolDbuserMgr = pdtToolDbuserMgr;
|
|
accept();
|
|
}
|
|
else
|
|
{
|
|
QMessageBox::information(this, tr("tips"), tr("Login failed: ") + MainWindow::getLogInfo(ret));
|
|
return;
|
|
}
|
|
}
|
|
|
|
void Dialog_logIn::on_pushButton_exit_clicked()
|
|
{
|
|
reject();
|
|
}
|
|
|
|
void Dialog_logIn::on_pbtn_setting_clicked(bool checked)
|
|
{
|
|
ui->label_user->setVisible(!checked);
|
|
ui->label_password->setVisible(!checked);
|
|
ui->lineEdit_account->setVisible(!checked);
|
|
ui->lineEdit_password->setVisible(!checked);
|
|
|
|
ui->label_dbHost->setVisible(checked);
|
|
ui->label_dbPort->setVisible(checked);
|
|
ui->lineEdit_dbHost->setVisible(checked);
|
|
ui->lineEdit_dbPort->setVisible(checked);
|
|
|
|
ui->label_ftpHost->setVisible(checked);
|
|
ui->label_ftpPort->setVisible(checked);
|
|
ui->lineEdit_ftpHost->setVisible(checked);
|
|
ui->lineEdit_ftpPort->setVisible(checked);
|
|
}
|
|
|
|
void Dialog_logIn::on_pbtn_minum_clicked()
|
|
{
|
|
this->window()->showMinimized();
|
|
}
|
|
|
|
void Dialog_logIn::on_pbtn_close_clicked()
|
|
{
|
|
close();
|
|
}
|
|
|
|
void Dialog_logIn::saveCfgValue(const char *appName, const char *key, const QString &value)
|
|
{
|
|
HGChar cfgPath[512];
|
|
HGBase_GetConfigPath(cfgPath, 512);
|
|
HGBase_CreateDir(cfgPath);
|
|
strcat(cfgPath, "config.ini");
|
|
|
|
HGBase_SetProfileString(cfgPath, appName, key, getStdString(value).c_str());
|
|
}
|
|
|
|
QString Dialog_logIn::getCfgValue(const char *appName, const char *key, const QString &def)
|
|
{
|
|
HGChar cfgPath[512];
|
|
HGBase_GetConfigPath(cfgPath, 512);
|
|
strcat(cfgPath, "config.ini");
|
|
|
|
HGChar value[512] = {0};
|
|
HGBase_GetProfileString(cfgPath, appName, key, getStdString(def).c_str(), value, 512);
|
|
return StdStringToUtf8(value).c_str();
|
|
}
|