11/25
This commit is contained in:
254
ZBD_IIIDL_S_Project/Src/MainWindow/loginwidget.cpp
Normal file
254
ZBD_IIIDL_S_Project/Src/MainWindow/loginwidget.cpp
Normal file
@@ -0,0 +1,254 @@
|
||||
#include "loginwidget.h"
|
||||
#include "ui_loginwidget.h"
|
||||
#include <QSettings>
|
||||
#include <QDir>
|
||||
#include "passworddialog.h"
|
||||
#include "dataformate.h"
|
||||
#include <QDebug>
|
||||
#include <QProcess>
|
||||
#include "fescontroldialog.h"
|
||||
#include "cmainwindow.h"
|
||||
#include "languagemanager.h"
|
||||
|
||||
|
||||
LoginWidget::LoginWidget(QDialog *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::LoginWidget),
|
||||
passworldDialog(nullptr)
|
||||
{
|
||||
//PC版默认密码111111,TV版默认密码666666
|
||||
ui->setupUi(this);
|
||||
setWindowFlags(Qt::FramelessWindowHint);
|
||||
//设置为模态对话框
|
||||
// setModal(true);
|
||||
connect(this,&LoginWidget::signalResult,this,&LoginWidget::done);
|
||||
// setAttribute(Qt::WA_DeleteOnClose,true);
|
||||
ui->userNameTips_Label->setVisible(false);
|
||||
ui->passwordTips_Label->setVisible(false);
|
||||
|
||||
passworldDialog = new PasswordDialog();
|
||||
m_shutdownDialog = new ShutdeonDialog();
|
||||
|
||||
ui->password_LineEdit->setEchoMode(QLineEdit::Password);
|
||||
|
||||
// ui->password_LineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);
|
||||
ui->remember_RadioButton->setChecked(true);
|
||||
|
||||
QString dirPath = "./DependFile/conf/";
|
||||
QDir confdir(dirPath);
|
||||
if(!confdir.exists())
|
||||
confdir.mkdir(dirPath);
|
||||
QString confFile(dirPath + "remberIDconf.ini");
|
||||
QSettings iniSetting(confFile, QSettings::IniFormat);
|
||||
QString password = iniSetting.value("password").toString();
|
||||
QString userName = iniSetting.value("userName").toString();
|
||||
ui->userName_LineEdit->setText(userName);
|
||||
ui->password_LineEdit->setText(password);
|
||||
ui->forgetPasswordTips_Label->setVisible(false);
|
||||
m_timer = new QTimer(this);
|
||||
m_bleItem = new BLEItem();
|
||||
|
||||
connect(m_timer,SIGNAL(timeout()),this,SLOT(slotCleanTimes()));
|
||||
|
||||
// qDebug()<<"password"<< ui->userName_LineEdit->text()<<ui->password_LineEdit->text();
|
||||
// connect(this,SIGNAL(signalCloseApp(),FesControlDialog::getInstance(),FesControlDialog::getInstance()->);
|
||||
/*
|
||||
#ifdef NORMALEXE
|
||||
ui->label_2->setStyleSheet("border-image: url(:/DependFile/Source/login/upDown_limp.jpg);");
|
||||
#endif
|
||||
*/
|
||||
|
||||
#ifdef ONLYUPLIMP
|
||||
ui->label_2->setStyleSheet("border-image: url(:/DependFile/Source/login/upLimp.png);");
|
||||
#endif
|
||||
|
||||
#ifdef ONLYDOWNLIMP
|
||||
ui->label_2->setStyleSheet("border-image: url(:/DependFile/Source/login/downLimp.png);");
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
LoginWidget::~LoginWidget()
|
||||
{
|
||||
if(passworldDialog)
|
||||
delete passworldDialog;
|
||||
if(m_shutdownDialog)
|
||||
delete m_shutdownDialog;
|
||||
if(m_bleItem)
|
||||
delete m_bleItem;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void LoginWidget::slotShowCompleted()
|
||||
{
|
||||
this->close();
|
||||
}
|
||||
|
||||
void LoginWidget::slotCleanTimes()
|
||||
{
|
||||
m_clockTime = 0;
|
||||
}
|
||||
|
||||
void LoginWidget::on_forgetPassword_Btn_clicked()
|
||||
{
|
||||
//弹出提示框,告知获取密码的方式
|
||||
ui->forgetPasswordTips_Label->setText(tr("请联系管理员获取初始密码"));
|
||||
ui->forgetPasswordTips_Label->setVisible(true);
|
||||
}
|
||||
|
||||
void LoginWidget::on_confirm_Btn_clicked()
|
||||
{
|
||||
QString dirPath = "./DependFile/conf/";
|
||||
QDir confdir(dirPath);
|
||||
if(!confdir.exists())
|
||||
confdir.mkdir(dirPath);
|
||||
QString confFile(dirPath + "IDconf.ini");
|
||||
QSettings iniSetting(confFile, QSettings::IniFormat);
|
||||
QString password = iniSetting.value("password").toString();
|
||||
QString userName = iniSetting.value("userName").toString();
|
||||
qDebug()<<userName<<password;
|
||||
|
||||
QString rememberConfFile(dirPath + "remberIDconf.ini");
|
||||
QSettings remIniSetting(confFile, QSettings::IniFormat);
|
||||
QString remPassword = iniSetting.value("password").toString();
|
||||
QString remUserName = iniSetting.value("userName").toString();
|
||||
|
||||
|
||||
if(ui->userName_LineEdit->text() != userName)
|
||||
{
|
||||
ui->userNameTips_Label->setVisible(true);
|
||||
ui->userNameTips_Label->setText(tr("用户名输入错误"));
|
||||
return;
|
||||
}
|
||||
|
||||
if(ui->password_LineEdit->text() != password)
|
||||
{
|
||||
ui->passwordTips_Label->setVisible(true);
|
||||
ui->passwordTips_Label->setText(tr("密码输入错误"));
|
||||
return;
|
||||
}
|
||||
|
||||
//设置返回值结果
|
||||
emit signalResult(1);
|
||||
if(ui->remember_RadioButton->isChecked())
|
||||
{
|
||||
QString confFile(dirPath + "remberIDconf.ini");
|
||||
QSettings iniSetting(confFile, QSettings::IniFormat);
|
||||
iniSetting.setValue("password",ui->password_LineEdit->text());
|
||||
iniSetting.setValue("userName",ui->userName_LineEdit->text());
|
||||
}
|
||||
}
|
||||
|
||||
void LoginWidget::on_userName_LineEdit_textChanged(const QString &arg1)
|
||||
{
|
||||
Q_UNUSED(arg1)
|
||||
ui->userNameTips_Label->setVisible(false);
|
||||
ui->forgetPasswordTips_Label->setVisible(false);
|
||||
}
|
||||
|
||||
|
||||
void LoginWidget::on_password_LineEdit_textChanged(const QString &arg1)
|
||||
{
|
||||
Q_UNUSED(arg1)
|
||||
ui->passwordTips_Label->setVisible(false);
|
||||
ui->forgetPasswordTips_Label->setVisible(false);
|
||||
}
|
||||
|
||||
|
||||
void LoginWidget::changeEvent(QEvent* event)
|
||||
{
|
||||
switch (event->type())
|
||||
{
|
||||
case QEvent::LanguageChange:
|
||||
{
|
||||
ui->retranslateUi(this);
|
||||
|
||||
}
|
||||
break;
|
||||
default:
|
||||
QWidget::changeEvent(event);
|
||||
break;
|
||||
}
|
||||
m_clockTime = 0;
|
||||
}
|
||||
|
||||
void LoginWidget::showEvent(QShowEvent *event)
|
||||
{
|
||||
Q_UNUSED(event)
|
||||
E_LANGUAGE language = LanguageManager::getInstance()->getCurrentLanguage();
|
||||
|
||||
if(language == Chinese_E)
|
||||
{
|
||||
|
||||
ui->company_Label->setStyleSheet("border-image: url(:/DependFile/Source/login/company.png);");
|
||||
QFont font;
|
||||
font.setFamily("黑体");
|
||||
font.setPointSize(18);
|
||||
ui->productionName_Label->setFont(font);
|
||||
}
|
||||
//
|
||||
else if(language == English_E)
|
||||
{
|
||||
ui->company_Label->setStyleSheet("border-image: url(:/DependFile/Source/login/company_En.png);");
|
||||
//
|
||||
QFont font;
|
||||
font.setFamily("Arial");
|
||||
font.setPointSize(18);
|
||||
ui->productionName_Label->setFont(font);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void LoginWidget::on_pushButton_clicked()
|
||||
{
|
||||
|
||||
m_shutdownDialog->exec(); //关闭窗口
|
||||
qDebug()<<"关机值:"<< m_shutdownDialog->getResult();
|
||||
if(m_shutdownDialog->getResult() == 0)
|
||||
return;
|
||||
else
|
||||
{
|
||||
FesControlDialog::getInstance()->turnoffDevice(1,1);
|
||||
Sleep(100);
|
||||
// FesControlDialog::getInstance()->turnoffDevice(1,1);
|
||||
|
||||
QCoreApplication::quit(); //关闭程序
|
||||
Sleep(3500); //睡眠
|
||||
}
|
||||
// emit signalCloseWindow();
|
||||
/*
|
||||
QString program = "C:/WINDOWS/system32/shutdown.exe";
|
||||
QStringList arguments;
|
||||
arguments << "-s";
|
||||
QProcess *myProcess = new QProcess();
|
||||
myProcess->start(program,arguments);
|
||||
*/
|
||||
system("shutdown -s -t 00");
|
||||
}
|
||||
|
||||
|
||||
void LoginWidget::on_company_Label_clicked()
|
||||
{
|
||||
m_clockTime++;
|
||||
if(m_clockTime == 1)
|
||||
m_timer->start(5000);
|
||||
qDebug()<<m_clockTime;
|
||||
if(m_clockTime == 10)
|
||||
{
|
||||
//m_bleItem->setDeviceState(false);
|
||||
FesControlDialog::getInstance()->turnoffDevice(1,1);
|
||||
Sleep(100);
|
||||
// emit signalCloseApp();
|
||||
//FesControlDialog::getInstance()->turnoffDevice(1,1);
|
||||
|
||||
QApplication *app;
|
||||
app->exit(0);
|
||||
this->close();
|
||||
//关闭所有设备
|
||||
//FesControlDialog::getInstance()->turnoffDevice(1,1);
|
||||
//emit signalCloseApp();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user