#include "loginwidget.h" #include "ui_loginwidget.h" #include #include #include "passworddialog.h" #include "dataformate.h" #include #include #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()<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_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()<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(); } }