From f3dccc7aab7187091cdb5adeba1881d6128b867a Mon Sep 17 00:00:00 2001 From: xueyan hu <576627988@qq.com> Date: Thu, 23 Dec 2021 10:09:35 +0800 Subject: [PATCH] [bug fixes] --- .gitignore | 2 + CMakeLists.txt | 14 +- src/AccountFormDialog.cpp | 533 ++++++++++++++++--------------- src/AccountTableForm.cpp | 2 +- src/ChangePasswordFormDialog.cpp | 4 +- src/GUIFormBaseDialog.cpp | 94 +++--- src/ScanFormWidget.cpp | 2 +- src/SelectFormWidget.cpp | 2 + src/TopBarWidget.cpp | 2 +- src/device/DeviceManager.cpp | 2 +- src/errorhandle/GUIErrorLW.cpp | 2 +- src/generalform.cpp | 8 +- src/guimacros.h | 2 +- src/json/jsonobject.cpp | 10 +- src/languageswitcher.cpp | 2 + src/locker.cpp | 2 +- src/loginwindow.cpp | 173 +++++----- src/main.cpp | 18 +- src/mainwindow.cpp | 249 ++++++++------- src/network/getadminpsw.cpp | 2 +- src/network/getipdialog.cpp | 7 +- src/network/networkcfgdialog.cpp | 8 +- src/tabformwidget.cpp | 2 +- src/translations/zh_CN.qm | Bin 3194 -> 3295 bytes 24 files changed, 591 insertions(+), 551 deletions(-) diff --git a/.gitignore b/.gitignore index 7fa4ac1..f337488 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ /out/ /.vs/ /CMakeSettings.json +/src/translations/*.ts +*.ts diff --git a/CMakeLists.txt b/CMakeLists.txt index a79fd98..d9473e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,18 @@ file(GLOB project_uis ./src/*.ui) qt5_wrap_ui(ui_FILES ${project_uis}) file(GLOB project_res ./src/*.qrc) +#ADD_SUBDIRECTORY(./src/translations) +#set(TS_FILES +# ./src/translations/en_US.ts +# ./src/translations/zh_CN.ts) +#find_package(Qt5 COMPONENTS ${REQUIRED_LIBS} LinguistTools REQUIRED) +#qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +#add_executable(${PROJECT_NAME} ${project_headers} ${project_cpps} ${project_cxx} ${project_res} ${project_cc} ${project_c} ${ui_FILES} ${QM_FILES} ) + +#file(GLOB TS_FILES ./src/translations/*.ts) + +SET_DIRECTORY_PROPERTIES(PROPERTIES CLEAN_NO_CUSTOM TRUE) +#file(GLOB TS_FILES ./src/translations/*.ts) set(TS_FILES ./src/translations/en_US.ts ./src/translations/zh_CN.ts) @@ -50,7 +62,7 @@ set(cpp_source_all ${project_headers} ${project_cpps} ${project_cxx} ${project_r qt5_create_translation(QM_FILES ${cpp_source_all} ${TS_FILES}) add_executable(${PROJECT_NAME} ${cpp_source_all} ${ui_FILES} ${QM_FILES} ) -add_executable(${PROJECT_NAME} ${project_headers} ${project_cpps} ${project_cxx} ${project_res} ${project_cc} ${project_c} ${ui_FILES} ) +add_executable(${PROJECT_NAME} ${project_headers} ${project_cpps} ${project_cxx} ${project_res} ${project_cc} ${project_c} ${ui_FILES} ${QM_FILES} ) if(UNIX AND USE_SHIMLIB) link_directories(/usr/local/lib64) target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL Qt5::Sql Qt5::VirtualKeyboard Qt5::Network pthread usct_shim dmapi log4c cunit ctomat hdf5 matio m) diff --git a/src/AccountFormDialog.cpp b/src/AccountFormDialog.cpp index 22ab957..be459c4 100644 --- a/src/AccountFormDialog.cpp +++ b/src/AccountFormDialog.cpp @@ -10,181 +10,181 @@ #include #include #include -#include -#include +#include "event/EventCenter.h" +#include "log/UserOperationLog.h" #include "db/SQLHelper.h" #include "models/User.h" #include "components/SlidePickerBox.h" #include "SelectDialog.h" #include "AlertDialog.h" -AccountFormDialog::AccountFormDialog(QWidget *parent,AccountEditMode mode, Qt::WindowFlags f) : GUIFormBaseDialog(parent, f) { - m_mode = mode; - QVBoxLayout* layout = new QVBoxLayout(formWidget); - layout->setSpacing(10); - // add title - QLabel* lbl_title = new QLabel(this); - lbl_title->setAlignment(Qt::AlignCenter); - lbl_title->setText(tr("Account")); - lbl_title->setObjectName("title"); - layout->addWidget(lbl_title); +AccountFormDialog::AccountFormDialog(QWidget* parent, AccountEditMode mode, Qt::WindowFlags f) : GUIFormBaseDialog(parent, f) { + m_mode = mode; + QVBoxLayout* layout = new QVBoxLayout(formWidget); + layout->setSpacing(10); + // add title + QLabel* lbl_title = new QLabel(this); + lbl_title->setAlignment(Qt::AlignCenter); + lbl_title->setText(tr("Account")); + lbl_title->setObjectName("title"); + layout->addWidget(lbl_title); - //add usercode - QLabel* lbl_UserCode = new QLabel(this); - lbl_UserCode->setText(tr("User ID")); - le_UserCode = new QLineEdit(this); - le_UserCode->setPlaceholderText(tr("Input User ID")); - if(m_mode != New)le_UserCode->setEnabled(false); - layout->addWidget(lbl_UserCode); - layout->addWidget(le_UserCode); - QLabel* lbl_endline1 = new QLabel(this); - lbl_endline1->setObjectName("endline"); - layout->addWidget(lbl_endline1); + //add usercode + QLabel* lbl_UserCode = new QLabel(this); + lbl_UserCode->setText(tr("User ID")); + le_UserCode = new QLineEdit(this); + le_UserCode->setPlaceholderText(tr("Input User ID")); + if (m_mode != New)le_UserCode->setEnabled(false); + layout->addWidget(lbl_UserCode); + layout->addWidget(le_UserCode); + QLabel* lbl_endline1 = new QLabel(this); + lbl_endline1->setObjectName("endline"); + layout->addWidget(lbl_endline1); - //add username - QLabel* lbl_UserName = new QLabel(this); - lbl_UserName->setText(tr("Name")); - le_UserName = new QLineEdit(this); - le_UserName->setPlaceholderText(tr("Input User name")); - layout->addWidget(lbl_UserName); - layout->addWidget(le_UserName); - QLabel* lbl_endline2 = new QLabel(this); - lbl_endline2->setObjectName("endline"); - layout->addWidget(lbl_endline2); + //add username + QLabel* lbl_UserName = new QLabel(this); + lbl_UserName->setText(tr("Name")); + le_UserName = new QLineEdit(this); + le_UserName->setPlaceholderText(tr("Input User name")); + layout->addWidget(lbl_UserName); + layout->addWidget(le_UserName); + QLabel* lbl_endline2 = new QLabel(this); + lbl_endline2->setObjectName("endline"); + layout->addWidget(lbl_endline2); - //add password - QLabel* lbl_Pwd = new QLabel(this); - lbl_Pwd->setText(tr("Password")); - layout->addWidget(lbl_Pwd); + //add password + QLabel* lbl_Pwd = new QLabel(this); + lbl_Pwd->setText(tr("Password")); + layout->addWidget(lbl_Pwd); - // add new mode - if (m_mode == New) - { - le_Pwd = new QLineEdit(this); - le_Pwd->setPlaceholderText(tr("Input password")); - le_Pwd->setEchoMode(QLineEdit::Password); - layout->addWidget(le_Pwd); - } else{//edit mode - btn_Pwd = new QPushButton(this); - btn_Pwd->setText(tr(m_mode==Self?"Change Password":"Reset Password")); - layout->addWidget(btn_Pwd); - } - QLabel* lbl_endline3 = new QLabel(this); - lbl_endline3->setObjectName("endline"); - layout->addWidget(lbl_endline3); + // add new mode + if (m_mode == New) + { + le_Pwd = new QLineEdit(this); + le_Pwd->setPlaceholderText(tr("Input password")); + le_Pwd->setEchoMode(QLineEdit::Password); + layout->addWidget(le_Pwd); + } + else {//edit mode + btn_Pwd = new QPushButton(this); + btn_Pwd->setText(tr(m_mode == Self ? "Change Password" : "Reset Password")); + layout->addWidget(btn_Pwd); + } + QLabel* lbl_endline3 = new QLabel(this); + lbl_endline3->setObjectName("endline"); + layout->addWidget(lbl_endline3); - if (m_mode == Self) - { - //add logout - QLabel* lbl_Logout = new QLabel(this); - lbl_Logout->setText(tr("Logout")); - QPushButton* btn_Logout= new QPushButton(this); - btn_Logout->setText(tr("Logout")); - layout->addWidget(lbl_Logout); - layout->addWidget(btn_Logout); - QLabel* lbl_endline0 = new QLabel(this); - lbl_endline0->setObjectName("endline"); - layout->addWidget(lbl_endline0); - // load current user data - if (User::Current()) - { - le_UserCode->setText(User::Current()->getUserCode()); - le_UserName->setText(User::Current()->getUserName()); - m_UserID = User::Current()->getUserID(); - m_UserPwd = User::Current()->getPassword(); - } - connect(btn_Pwd, &QPushButton::clicked,[t=this](){ - ChangePasswordFormDialog dia(t->parentWidget()); - dia.setWindowModality(Qt::WindowModal); - dia.exec(); - }); - connect(btn_Logout, &QAbstractButton::clicked, [=](){ - this->accept(); - LOG_USER_OPERATION(Logout); - EventCenter::Default()->triggerEvent(GUIEvents::RequestLogin, nullptr, nullptr); - }); - } - else - { - //add change role - QLabel* lbl_Role = new QLabel(this); - lbl_Role->setText(tr("Change Role")); - btn_Role= new QPushButton(this); - layout->addWidget(lbl_Role); - layout->addWidget(btn_Role); - QLabel* lbl_endline0 = new QLabel(this); - lbl_endline0->setObjectName("endline"); - layout->addWidget(lbl_endline0); - //set default value - if (m_mode == New) { - btn_Role->setText("doctor"); - m_RoleID = User::getRoleID("doctor"); - } - else{ - connect(btn_Pwd,&QAbstractButton::clicked,[=](){ - AlertDialog dialog(this); - dialog.setButtonMode(OkAndCancel); - dialog.setWindowModality(Qt::WindowModal); - dialog.setAlertMessage(tr("Reset password to \"123456\" ?")); - if (dialog.exec() == Accepted) - { - User user; - dialog.setButtonMode(OkOnly); - if (!User::getUser(m_UserID, user)) { - dialog.setAlertMessage(tr("Inner error, can't find reference user!")); - dialog.exec(); - return; - } - if (!user.resetPassword()) - { - dialog.setAlertMessage(tr("Submit change to database fail!")); - dialog.exec(); - } - } - }); - } - connect(btn_Role,&QAbstractButton::clicked,[=](){ - SelectDialog selectDialog(this); - selectDialog.setAvailableDates(User::getAllRoleName()); - selectDialog.setSelectedValue(btn_Role->text()); - selectDialog.setWindowModality(Qt::WindowModal); - // submit change - if (selectDialog.exec() == Accepted) - { - if (selectDialog.getSelectedValue() != btn_Role->text()) - { - QString newRoleID = User::getRoleID(selectDialog.getSelectedValue()); - btn_Role->setText(selectDialog.getSelectedValue()); - m_RoleID = newRoleID; - qDebug()<<"new Role ID:"<roleChanged = true; - } - } - }); - } + if (m_mode == Self) + { + //add logout + QLabel* lbl_Logout = new QLabel(this); + lbl_Logout->setText(tr("Logout")); + QPushButton* btn_Logout = new QPushButton(this); + btn_Logout->setText(tr("Logout")); + layout->addWidget(lbl_Logout); + layout->addWidget(btn_Logout); + QLabel* lbl_endline0 = new QLabel(this); + lbl_endline0->setObjectName("endline"); + layout->addWidget(lbl_endline0); + // load current user data + if (User::Current()) + { + le_UserCode->setText(User::Current()->getUserCode()); + le_UserName->setText(User::Current()->getUserName()); + m_UserID = User::Current()->getUserID(); + m_UserPwd = User::Current()->getPassword(); + } + connect(btn_Pwd, &QPushButton::clicked, [t = this]() { + ChangePasswordFormDialog dia(t->parentWidget()); + dia.setWindowModality(Qt::WindowModal); + dia.exec(); + }); + connect(btn_Logout, &QAbstractButton::clicked, [=]() { + this->accept(); + LOG_USER_OPERATION(Logout); + EventCenter::Default()->triggerEvent(GUIEvents::RequestLogin, nullptr, nullptr); + }); + } + else + { + //add change role + QLabel* lbl_Role = new QLabel(this); + lbl_Role->setText(tr("Change Role")); + btn_Role = new QPushButton(this); + layout->addWidget(lbl_Role); + layout->addWidget(btn_Role); + QLabel* lbl_endline0 = new QLabel(this); + lbl_endline0->setObjectName("endline"); + layout->addWidget(lbl_endline0); + //set default value + if (m_mode == New) { + btn_Role->setText(tr("doctor")); + m_RoleID = User::getRoleID("doctor"); + } + else { + connect(btn_Pwd, &QAbstractButton::clicked, [=]() { + AlertDialog dialog(this); + dialog.setButtonMode(OkAndCancel); + dialog.setWindowModality(Qt::WindowModal); + dialog.setAlertMessage(tr("Reset password to \"123456\" ?")); + if (dialog.exec() == Accepted) + { + User user; + dialog.setButtonMode(OkOnly); + if (!User::getUser(m_UserID, user)) { + dialog.setAlertMessage(tr("Inner error, can't find reference user!")); + dialog.exec(); + return; + } + if (!user.resetPassword()) + { + dialog.setAlertMessage(tr("Submit change to database fail!")); + dialog.exec(); + } + } + }); + } + connect(btn_Role, &QAbstractButton::clicked, [=]() { + SelectDialog selectDialog(this); + selectDialog.setAvailableDates(User::getAllRoleName()); + selectDialog.setSelectedValue(btn_Role->text()); + selectDialog.setWindowModality(Qt::WindowModal); + // submit change + if (selectDialog.exec() == Accepted) + { + if (selectDialog.getSelectedValue() != btn_Role->text()) + { + QString newRoleID = User::getRoleID(selectDialog.getSelectedValue()); + btn_Role->setText(selectDialog.getSelectedValue()); + m_RoleID = newRoleID; + qDebug() << "new Role ID:" << newRoleID; + this->roleChanged = true; + } + } + }); + } - //add Comment - QLabel* lbl_Comment = new QLabel(this); - lbl_Comment->setText(tr("Comment")); - le_Comment = new QLineEdit(this); - layout->addWidget(lbl_Comment); - layout->addWidget(le_Comment); - QLabel* lbl_endline0 = new QLabel(this); - lbl_endline0->setObjectName("endline"); - layout->addWidget(lbl_endline0); - - lbl_error = new QLabel(this); - lbl_error->setObjectName("warn"); - lbl_error->setVisible(false); - layout->addWidget(lbl_error); - connect(le_Comment, &QLineEdit::textChanged, [=](const QString& text){ - commentChanged = true; - }); - connect(le_UserName, &QLineEdit::textChanged, [=](const QString& text){ - m_NewUserName = text; - userNameChanged = true; - }); + //add Comment + QLabel* lbl_Comment = new QLabel(this); + lbl_Comment->setText(tr("Comment")); + le_Comment = new QLineEdit(this); + layout->addWidget(lbl_Comment); + layout->addWidget(le_Comment); + QLabel* lbl_endline0 = new QLabel(this); + lbl_endline0->setObjectName("endline"); + layout->addWidget(lbl_endline0); + lbl_error = new QLabel(this); + lbl_error->setObjectName("warn"); + lbl_error->setVisible(false); + layout->addWidget(lbl_error); + connect(le_Comment, &QLineEdit::textChanged, [=](const QString& text) { + commentChanged = true; + }); + connect(le_UserName, &QLineEdit::textChanged, [=](const QString& text) { + m_NewUserName = text; + userNameChanged = true; + }); } AccountFormDialog::~AccountFormDialog() { @@ -192,122 +192,125 @@ AccountFormDialog::~AccountFormDialog() { } bool AccountFormDialog::updateReferenceData() { - if (m_mode == Self) { - if (!this->userNameChanged && !this->commentChanged) return true; - if (!this->userNameChanged) { - if (m_NewUserName.isEmpty()){ - warn(tr("User Name can't be empty!")); - return false; - } - User::Current()->setUserName(m_NewUserName); - } - if (!this->commentChanged) User::Current()->setUserName(le_Comment->text()); - bool ret = User::Current()->submitChange(); - if (ret) { - hideWarn(); - LOG_USER_OPERATION(ChangeUserName); - } - else{ - warn(tr("Submit change to database fail!")); - } - return ret; - } else if (m_mode == Admin){ - if (!this->userNameChanged && !this->roleChanged) return true; - User user; - if (!User::getUser(m_UserID, user)) return true; - if (this->userNameChanged){ - if (m_NewUserName.isEmpty()){ - warn(tr("User Name can't be empty!")); - return false; - } - user.setUserName(m_NewUserName); - } - if (this->roleChanged) user.setRoleID(m_RoleID); - if (!this->commentChanged) user.setComment(le_Comment->text()); - bool ret = user.submitChange(); - if (ret) { - LOG_USER_OPERATION(AdminChangeAcountInformation); - } - return ret; - } else { - //add new - User user; - if (le_UserCode->text().isEmpty()) { - warn(tr("User ID can't be empty!")); - return false; - } - if (le_UserName->text().isEmpty()) { - warn(tr("User Name can't be empty!")); - return false; - } - if (le_Pwd->text().isEmpty()) { - warn(tr("Password can't be empty!")); - return false; - } - if (!refmodel){ - warn(tr("Inner error ,unset data model!")); - return false; - } - if (User::existsUser(le_UserCode->text())){ - warn(tr("User Id exists!")); - return false; - } - hideWarn(); - user.setUserName(le_UserName->text()); - user.setPassword(User::getEncryptedPassword(le_Pwd->text())); - user.setRoleID(m_RoleID); - user.setComment(le_Comment->text()); -// User::insertUser(le_UserCode->text(),user); + if (m_mode == Self) { + if (!this->userNameChanged && !this->commentChanged) return true; + if (!this->userNameChanged) { + if (m_NewUserName.isEmpty()) { + warn(tr("User Name can't be empty!")); + return false; + } + User::Current()->setUserName(m_NewUserName); + } + if (!this->commentChanged) User::Current()->setUserName(le_Comment->text()); + bool ret = User::Current()->submitChange(); + if (ret) { + hideWarn(); + LOG_USER_OPERATION(ChangeUserName); + } + else { + warn(tr("Submit change to database fail!")); + } + return ret; + } + else if (m_mode == Admin) { + if (!this->userNameChanged && !this->roleChanged) return true; + User user; + if (!User::getUser(m_UserID, user)) return true; + if (this->userNameChanged) { + if (m_NewUserName.isEmpty()) { + warn(tr("User Name can't be empty!")); + return false; + } + user.setUserName(m_NewUserName); + } + if (this->roleChanged) user.setRoleID(m_RoleID); + if (!this->commentChanged) user.setComment(le_Comment->text()); + bool ret = user.submitChange(); + if (ret) { + LOG_USER_OPERATION(AdminChangeAcountInformation); + } + return ret; + } + else { + //add new + User user; + if (le_UserCode->text().isEmpty()) { + warn(tr("User ID can't be empty!")); + return false; + } + if (le_UserName->text().isEmpty()) { + warn(tr("User Name can't be empty!")); + return false; + } + if (le_Pwd->text().isEmpty()) { + warn(tr("Password can't be empty!")); + return false; + } + if (!refmodel) { + warn(tr("Inner error ,unset data model!")); + return false; + } + if (User::existsUser(le_UserCode->text())) { + warn(tr("User Id exists!")); + return false; + } + hideWarn(); + user.setUserName(le_UserName->text()); + user.setPassword(User::getEncryptedPassword(le_Pwd->text())); + user.setRoleID(m_RoleID); + user.setComment(le_Comment->text()); + // User::insertUser(le_UserCode->text(),user); - refmodel->insertRow(0); - refmodel->setData(refmodel->index(0, 0), QUuid::createUuid().toString()); - refmodel->setData(refmodel->index(0, 1), le_UserCode->text()); - #define USER_READONLY_PROPERTY(name) name, - #define USER_PROPERTY(name)\ + refmodel->insertRow(0); + refmodel->setData(refmodel->index(0, 0), QUuid::createUuid().toString()); + refmodel->setData(refmodel->index(0, 1), le_UserCode->text()); +#define USER_READONLY_PROPERTY(name) name, +#define USER_PROPERTY(name)\ USER_READONLY_PROPERTY(name) - enum user_index { - USER_PROPERTIES_MACRO() - }; - #undef USER_READONLY_PROPERTY - #undef USER_PROPERTY + enum user_index { + USER_PROPERTIES_MACRO() + }; +#undef USER_READONLY_PROPERTY +#undef USER_PROPERTY - #define USER_READONLY_PROPERTY(name) - #define USER_PROPERTY(name)\ +#define USER_READONLY_PROPERTY(name) +#define USER_PROPERTY(name)\ USER_READONLY_PROPERTY(name)\ refmodel->setData(refmodel->index(0, name),user.get##name()); - USER_PROPERTIES_MACRO() - #undef USER_READONLY_PROPERTY - #undef USER_PROPERTY + USER_PROPERTIES_MACRO() +#undef USER_READONLY_PROPERTY +#undef USER_PROPERTY - if (refmodel->submit()) { - hideWarn(); - return true; - } else { - warn(tr("Submit to data base fail!")); - return false; - } - } - return true; + if (refmodel->submit()) { + hideWarn(); + return true; + } + else { + warn(tr("Submit to data base fail!")); + return false; + } + } + return true; } -void AccountFormDialog::setAccountInformation(const QMap & values) { - le_UserCode->setText(values["UserCode"].toString()); - le_UserName->setText(values["UserName"].toString()); - le_Comment->setText(values["Comment"].toString()); - m_UserID = values["UserID"].toString(); - m_UserPwd = values["Password"].toString(); - if (btn_Role){ - m_RoleID = values["RoleID"].toString(); - btn_Role->setText(User::getRoleName(m_RoleID)); - } +void AccountFormDialog::setAccountInformation(const QMap& values) { + le_UserCode->setText(values["UserCode"].toString()); + le_UserName->setText(values["UserName"].toString()); + le_Comment->setText(values["Comment"].toString()); + m_UserID = values["UserID"].toString(); + m_UserPwd = values["Password"].toString(); + if (btn_Role) { + m_RoleID = values["RoleID"].toString(); + btn_Role->setText(User::getRoleName(m_RoleID)); + } } void AccountFormDialog::warn(QString msg) { - lbl_error->setText(msg); - lbl_error->setVisible(true); + lbl_error->setText(msg); + lbl_error->setVisible(true); } void AccountFormDialog::hideWarn() { - this->lbl_error->setVisible(false); + this->lbl_error->setVisible(false); } diff --git a/src/AccountTableForm.cpp b/src/AccountTableForm.cpp index d927854..ac9fb6d 100644 --- a/src/AccountTableForm.cpp +++ b/src/AccountTableForm.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include "components/AccountRoleComboDelegate.h" #include "guimacros.h" #include "AlertDialog.h" #include "db/SQLHelper.h" diff --git a/src/ChangePasswordFormDialog.cpp b/src/ChangePasswordFormDialog.cpp index 3c3d137..b6f0b14 100644 --- a/src/ChangePasswordFormDialog.cpp +++ b/src/ChangePasswordFormDialog.cpp @@ -5,8 +5,8 @@ #include #include #include -#include -#include +#include "models/User.h" +#include "log/UserOperationLog.h" #include "ChangePasswordFormDialog.h" ChangePasswordFormDialog::ChangePasswordFormDialog(QWidget* parent, Qt::WindowFlags f) : GUIFormBaseDialog(parent, f) { diff --git a/src/GUIFormBaseDialog.cpp b/src/GUIFormBaseDialog.cpp index ab4175f..f2b5e01 100644 --- a/src/GUIFormBaseDialog.cpp +++ b/src/GUIFormBaseDialog.cpp @@ -6,35 +6,35 @@ #include #include #include -GUIFormBaseDialog::GUIFormBaseDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f) { - this->setObjectName("formDialog"); - this->setWindowFlags (Qt :: FramelessWindowHint | Qt :: Dialog); -// this->setFixedSize(500,600); - this->setFixedWidth(500); - this->formWidget = new QWidget(this); - this->formWidget->setObjectName("formWidget"); +GUIFormBaseDialog::GUIFormBaseDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) { + this->setObjectName("formDialog"); + this->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog); + // this->setFixedSize(500,600); + this->setFixedWidth(500); + this->formWidget = new QWidget(this); + this->formWidget->setObjectName("formWidget"); - QVBoxLayout* vLayout = new QVBoxLayout(this); -// vLayout->setContentsMargins(680,100,680,100); - vLayout->addWidget(formWidget); + QVBoxLayout* vLayout = new QVBoxLayout(this); + // vLayout->setContentsMargins(680,100,680,100); + vLayout->addWidget(formWidget); - QWidget* btnWidget= new QWidget(this); - vLayout->addWidget(btnWidget); - QHBoxLayout* hLayout = new QHBoxLayout(btnWidget); - btnOk= new QPushButton(btnWidget); - btnOk->setText("OK"); - btnCancel = new QPushButton(btnWidget); - btnCancel->setText("Cancel"); - hLayout->addWidget(btnOk); - hLayout->addWidget(btnCancel); - btnOk->setObjectName("btnOK"); - connect(btnOk, &QPushButton::clicked, [t=this](){ - if(t->updateReferenceData()) - t->accept(); - }); - connect(btnCancel, &QPushButton::clicked, [t=this](){ - t->reject(); - }); + QWidget* btnWidget = new QWidget(this); + vLayout->addWidget(btnWidget); + QHBoxLayout* hLayout = new QHBoxLayout(btnWidget); + btnOk = new QPushButton(btnWidget); + btnOk->setText(tr("OK")); + btnCancel = new QPushButton(btnWidget); + btnCancel->setText(tr("Cancel")); + hLayout->addWidget(btnOk); + hLayout->addWidget(btnCancel); + btnOk->setObjectName(tr("btnOK")); + connect(btnOk, &QPushButton::clicked, [t = this]() { + if (t->updateReferenceData()) + t->accept(); + }); + connect(btnCancel, &QPushButton::clicked, [t = this]() { + t->reject(); + }); } GUIFormBaseDialog::~GUIFormBaseDialog() { @@ -42,24 +42,24 @@ GUIFormBaseDialog::~GUIFormBaseDialog() { } void GUIFormBaseDialog::setButtonMode(DialogButtonMode mode) { - switch (mode) { - case OkOnly: - { - btnOk->setVisible(true); - btnCancel->setVisible(false); - return; - } - case OkAndCancel: - { - btnOk->setVisible(true); - btnCancel->setVisible(true); - return; - } - case None: - default: - { - btnOk->setVisible(false); - btnCancel->setVisible(false); - } - } + switch (mode) { + case OkOnly: + { + btnOk->setVisible(true); + btnCancel->setVisible(false); + return; + } + case OkAndCancel: + { + btnOk->setVisible(true); + btnCancel->setVisible(true); + return; + } + case None: + default: + { + btnOk->setVisible(false); + btnCancel->setVisible(false); + } + } } diff --git a/src/ScanFormWidget.cpp b/src/ScanFormWidget.cpp index 38e6934..fad62c3 100644 --- a/src/ScanFormWidget.cpp +++ b/src/ScanFormWidget.cpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include "log/UserOperationLog.h" #include #ifdef WIN32 diff --git a/src/SelectFormWidget.cpp b/src/SelectFormWidget.cpp index c191c45..20c3d0f 100644 --- a/src/SelectFormWidget.cpp +++ b/src/SelectFormWidget.cpp @@ -248,6 +248,8 @@ SelectFormWidget::SelectFormWidget(QWidget* parent) : btnAdd->setEnabled(true); }); + + } diff --git a/src/TopBarWidget.cpp b/src/TopBarWidget.cpp index f39f5bf..e49c42d 100644 --- a/src/TopBarWidget.cpp +++ b/src/TopBarWidget.cpp @@ -5,7 +5,7 @@ #include "TopBarWidget.h" #include #include -#include +#include "components/RollingMessageWidget.h" #include #include "event/EventCenter.h" #include "errorhandle/GUIErrorLW.h" diff --git a/src/device/DeviceManager.cpp b/src/device/DeviceManager.cpp index 43fb04e..e11dead 100644 --- a/src/device/DeviceManager.cpp +++ b/src/device/DeviceManager.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include "appvals/AppGlobalValues.h" #define TRIGGER_EVENT EventCenter::Default()->triggerEvent diff --git a/src/errorhandle/GUIErrorLW.cpp b/src/errorhandle/GUIErrorLW.cpp index f5bf849..c1d8f55 100644 --- a/src/errorhandle/GUIErrorLW.cpp +++ b/src/errorhandle/GUIErrorLW.cpp @@ -2,7 +2,7 @@ // Created by Krad on 2021/12/17. // -#include +#include "event/EventCenter.h" #include "GUIErrorLW.h" #include diff --git a/src/generalform.cpp b/src/generalform.cpp index 18ea551..bdb154c 100644 --- a/src/generalform.cpp +++ b/src/generalform.cpp @@ -8,13 +8,12 @@ #include #include #include -#include +#include "event/EventCenter.h" #include "json/jsonobject.h" #include "SelectDialog.h" #include "locker.h" #include "languageswitcher.h" -#include "event/EventCenter.h" GeneralForm::GeneralForm(QWidget* parent) : QWidget(parent) { @@ -100,9 +99,8 @@ GeneralForm::GeneralForm(QWidget* parent) : QWidget(parent) //take effect JsonObject::Instance()->setDefaultLanguage(lan); LanguageSwitcher::Instance()->setDefaultLanguage(lan); - btnLan->setText(JsonObject::Instance()->defaultLanguage()); - EventCenter::Default()->triggerEvent(ReloadLanguage, nullptr, nullptr); + } }); @@ -112,4 +110,4 @@ GeneralForm::GeneralForm(QWidget* parent) : QWidget(parent) lbl_insaddr->setText(tr("Institution Addr")); lbl_lock->setText(tr("Lock Screen Timeout")); }); -} \ No newline at end of file +} diff --git a/src/guimacros.h b/src/guimacros.h index 2b6e0a2..47d78c7 100644 --- a/src/guimacros.h +++ b/src/guimacros.h @@ -10,7 +10,7 @@ btn##name->setIcon(QIcon(img));\ btn##name->setIconSize(QSize(size,size));\ btn##name->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);\ - btn##name->setText(tr(#name));\ + btn##name->setText(QObject::tr(#name));\ layout->addWidget(btn##name); #define ADD_TOOL_BTN_TO_LAYOUT(name,img,layout)\ diff --git a/src/json/jsonobject.cpp b/src/json/jsonobject.cpp index a1cd44b..627642e 100644 --- a/src/json/jsonobject.cpp +++ b/src/json/jsonobject.cpp @@ -40,10 +40,10 @@ void JsonObject::setJsonString(const char* catergory, const char* stringName, co char* JsonObject::getJsonString(const char* catergory, const char* stringName) { if (!loadcfg()) - return ""; + return nullptr; cJSON* first = cJSON_GetObjectItem((cJSON*)json_root, catergory); - if (!first) return ""; + if (!first) return nullptr; cJSON* second = cJSON_GetObjectItem(first, stringName); return second->valuestring; @@ -52,13 +52,13 @@ char* JsonObject::getJsonString(const char* catergory, const char* stringName) char* JsonObject::getArrayNode(const char* catergory, const char* stringName, int index, const char* id) { if (!loadcfg()) - return ""; + return nullptr; cJSON* first = cJSON_GetObjectItem((cJSON*)json_root, catergory); - if (!first) return ""; + if (!first) return nullptr; cJSON* second = cJSON_GetObjectItem(first, stringName); - if (!second) return ""; + if (!second) return nullptr; cJSON* third = cJSON_GetArrayItem(second, index); diff --git a/src/languageswitcher.cpp b/src/languageswitcher.cpp index 505fe45..f2fc8ee 100644 --- a/src/languageswitcher.cpp +++ b/src/languageswitcher.cpp @@ -1,5 +1,6 @@ #include "languageswitcher.h" #include +#include "event/EventCenter.h" LanguageSwitcher* LanguageSwitcher::lsw = Q_NULLPTR; @@ -31,5 +32,6 @@ void LanguageSwitcher::setDefaultLanguage(QString str) //qDebug() << "installTranslator"; //QApplication::installTranslator(translator); } + EventCenter::Default()->triggerEvent(ReloadLanguage, nullptr, nullptr); } diff --git a/src/locker.cpp b/src/locker.cpp index 2abb693..cddb6fa 100644 --- a/src/locker.cpp +++ b/src/locker.cpp @@ -2,7 +2,7 @@ #include #include "appvals/AppGlobalValues.h" -#include +#include "event/EventCenter.h" #include "json/jsonobject.h" Locker* Locker::locker = Q_NULLPTR; diff --git a/src/loginwindow.cpp b/src/loginwindow.cpp index e117b07..e722fed 100644 --- a/src/loginwindow.cpp +++ b/src/loginwindow.cpp @@ -14,19 +14,19 @@ #include "log/UserOperationLog.h" LoginWindow::LoginWindow(QWidget* parent) - : QDialog(parent) - , m_pLoginButton(nullptr) - , m_pVMainLayout(nullptr) - , m_pUserCodeFrame(nullptr) - , m_pUserCodeLayout(nullptr) - , m_pUserCodeEdit(nullptr) - , m_pPassWordEdit(nullptr) + : QDialog(parent) + , m_pLoginButton(nullptr) + , m_pVMainLayout(nullptr) + , m_pUserCodeFrame(nullptr) + , m_pUserCodeLayout(nullptr) + , m_pUserCodeEdit(nullptr) + , m_pPassWordEdit(nullptr) { - initUi(); - init(); - setWindowFlags(windowFlags() | Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint); - //Dialog::Instance()->InitForm(); - m_pUserCodeEdit->setText("usct"); + initUi(); + init(); + setWindowFlags(windowFlags() | Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint); + //Dialog::Instance()->InitForm(); + m_pUserCodeEdit->setText(tr("usct")); } LoginWindow::~LoginWindow() @@ -37,75 +37,76 @@ LoginWindow::~LoginWindow() void LoginWindow::initUi() { - QString style = "*{background-color:#3c3c3c; color:white;margin:0;font-size:16px;}" - "QLabel#title{font-Size:98px;color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," - "stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray);}" - "QLabel#warn{color:#930000;background:transparent;font-size:20px;}" - "QFrame#login_frame_username{min-width:700px;max-width:700px;max-height:500px;min-height:500px;" - "border:1px solid #0078d8;border-radius:20px;" - "background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\n" - " stop: 0.0 darkgray, stop: 0.5 gray, stop: 1.0 darkgray);" - "}" - "QLineEdit{min-height:100px;max-height:100px; border:1px solid silver;border-radius:10px;font-size:26px;}" - "QLineEdit:enabled{background-color: #515151}" - "QComboBox{text-align:center;min-height:100px;max-height:100px; " - "border:1px solid silver;border-radius:10px;padding:3px}" - "QComboBox:enabled{background-color: #515151}" - "QComboBox::drop-down{width:80px;border-radius:10px}" - "QComboBox QAbstractItemView{min-width:120px;}" - "QComboBox QAbstractItemView::item {min-height:60px;max-height:60px; border:1px solid white;}" - "QToolButton{min-height:100px;max-height:100px;border:1px solid #505050;" - "border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}" - "QToolButton:hover{background:#505050;}"; - setStyleSheet(style); + QString style = "*{background-color:#3c3c3c; color:white;margin:0;font-size:16px;}" + "QLabel#title{font-Size:98px;color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," + "stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray);}" + "QLabel#warn{color:#930000;background:transparent;font-size:20px;}" + "QFrame#login_frame_username{min-width:700px;max-width:700px;max-height:500px;min-height:500px;" + "border:1px solid #0078d8;border-radius:20px;" + "background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\n" + " stop: 0.0 darkgray, stop: 0.5 gray, stop: 1.0 darkgray);" + "}" + "QLineEdit{min-height:100px;max-height:100px; border:1px solid silver;border-radius:10px;font-size:26px;}" + "QLineEdit:enabled{background-color: #515151}" + "QComboBox{text-align:center;min-height:100px;max-height:100px; " + "border:1px solid silver;border-radius:10px;padding:3px}" + "QComboBox:enabled{background-color: #515151}" + "QComboBox::drop-down{width:80px;border-radius:10px}" + "QComboBox QAbstractItemView{min-width:120px;}" + "QComboBox QAbstractItemView::item {min-height:60px;max-height:60px; border:1px solid white;}" + "QToolButton{min-height:100px;max-height:100px;border:1px solid #505050;" + "border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}" + "QToolButton:hover{background:#505050;}"; + setStyleSheet(style); - m_pVMainLayout = new QVBoxLayout(this); - m_pVMainLayout->setContentsMargins(0, 0, 0, 0); - m_pVMainLayout->setSpacing(0); - m_pVMainLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding)); + m_pVMainLayout = new QVBoxLayout(this); + m_pVMainLayout->setContentsMargins(0, 0, 0, 0); + m_pVMainLayout->setSpacing(0); + m_pVMainLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding)); - QLabel* title = new QLabel(this); - title->setObjectName("title"); - title->setText("U S C T"); - m_pVMainLayout->addWidget(title, 0, Qt::AlignCenter); - m_pUserCodeFrame = new QFrame(this); - m_pUserCodeFrame->setObjectName("login_frame_username"); - m_pUserCodeLayout = new QVBoxLayout(m_pUserCodeFrame); - m_pUserCodeLayout->setSpacing(30); - m_pUserCodeLayout->setContentsMargins(20, 60, 20, 20); - warn = new QLabel(this); - warn->setObjectName("warn"); - warn->setText("Login failed, username or password error!"); - warn->setVisible(false); - m_pUserCodeLayout->addWidget(warn, 0, Qt::AlignCenter); - m_pUserCodeEdit = new QLineEdit(m_pUserCodeFrame); - m_pUserCodeEdit->setObjectName("combobox_UserName"); + QLabel* title = new QLabel(this); + title->setObjectName("title"); + title->setText(tr("U S C T")); + m_pVMainLayout->addWidget(title, 0, Qt::AlignCenter); + m_pUserCodeFrame = new QFrame(this); + m_pUserCodeFrame->setObjectName("login_frame_username"); + m_pUserCodeLayout = new QVBoxLayout(m_pUserCodeFrame); + m_pUserCodeLayout->setSpacing(30); + m_pUserCodeLayout->setContentsMargins(20, 60, 20, 20); + warn = new QLabel(this); + warn->setObjectName("warn"); + warn->setText("Login failed, username or password error!"); + warn->setVisible(false); + m_pUserCodeLayout->addWidget(warn, 0, Qt::AlignCenter); + m_pUserCodeEdit = new QLineEdit(m_pUserCodeFrame); + m_pUserCodeEdit->setObjectName("combobox_UserName"); - //m_pUserCodeEdit->setLineEdit(new QLineEdit(m_pUserCodeFrame)); + //m_pUserCodeEdit->setLineEdit(new QLineEdit(m_pUserCodeFrame)); - m_pUserCodeEdit->setPlaceholderText(tr("Username")); - m_pUserCodeLayout->addWidget(m_pUserCodeEdit); - m_pVMainLayout->addWidget(m_pUserCodeFrame, 0, Qt::AlignCenter); + m_pUserCodeEdit->setPlaceholderText(tr("Username")); + m_pUserCodeLayout->addWidget(m_pUserCodeEdit); + m_pVMainLayout->addWidget(m_pUserCodeFrame, 0, Qt::AlignCenter); - m_pPassWordEdit = new QLineEdit(this); - m_pPassWordEdit->setObjectName("edt_Password"); - m_pPassWordEdit->setEchoMode(QLineEdit::Password); - m_pPassWordEdit->setPlaceholderText(tr("Password")); - m_pUserCodeLayout->addWidget(m_pPassWordEdit); + m_pPassWordEdit = new QLineEdit(this); + m_pPassWordEdit->setObjectName("edt_Password"); + m_pPassWordEdit->setEchoMode(QLineEdit::Password); + m_pPassWordEdit->setPlaceholderText(tr("Password")); + m_pUserCodeLayout->addWidget(m_pPassWordEdit); - ADD_TOOL_BTN_TO_LAYOUT(login, ":/icons/login.png", m_pUserCodeLayout); - m_pUserCodeLayout->removeWidget(btnlogin); - m_pUserCodeLayout->addWidget(btnlogin, 0, Qt::AlignCenter); - m_pLoginButton = btnlogin; - // m_pUserCodeLayout->addWidget(m_pLoginButton, 0, Qt::AlignCenter); - m_pVMainLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding)); + ADD_TOOL_BTN_TO_LAYOUT(login, ":/icons/login.png", m_pUserCodeLayout); - initUserList(); + m_pUserCodeLayout->removeWidget(btnlogin); + m_pUserCodeLayout->addWidget(btnlogin, 0, Qt::AlignCenter); + m_pLoginButton = btnlogin; + // m_pUserCodeLayout->addWidget(m_pLoginButton, 0, Qt::AlignCenter); + m_pVMainLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding)); + + initUserList(); } void LoginWindow::init() { - connect(m_pLoginButton, SIGNAL(clicked()), this, SLOT(doLogin())); + connect(m_pLoginButton, SIGNAL(clicked()), this, SLOT(doLogin())); } void LoginWindow::initUserList() @@ -114,31 +115,31 @@ void LoginWindow::initUserList() void LoginWindow::clearInputData() { - m_pUserCodeEdit->clear(); - m_pPassWordEdit->clear(); - //m_pUserCodeEdit->setFocus(); + m_pUserCodeEdit->clear(); + m_pPassWordEdit->clear(); + //m_pUserCodeEdit->setFocus(); } void LoginWindow::doLogin() { - QString strUserCode = m_pUserCodeEdit->text(); - QString strPassWord = m_pPassWordEdit->text(); + QString strUserCode = m_pUserCodeEdit->text(); + QString strPassWord = m_pPassWordEdit->text(); - QString encryptedPassword = strPassWord; - strPassWord = "123456"; + QString encryptedPassword = strPassWord; + strPassWord = "123456"; - QString encryptPwd = User::getEncryptedPassword(strPassWord); + QString encryptPwd = User::getEncryptedPassword(strPassWord); QString sql = QString("select UserCode from Account where UserCode='%1' and Password='%2'") - .arg(strUserCode).arg(encryptPwd); - if(User::QueryUser(strUserCode,encryptPwd)) - { - accept(); + .arg(strUserCode).arg(encryptPwd); + if (User::QueryUser(strUserCode, encryptPwd)) + { + accept(); LOG_USER_OPERATION(Login); - } - else { - warn->setVisible(true); - } + } + else { + warn->setVisible(true); + } } diff --git a/src/main.cpp b/src/main.cpp index 6238280..8235e72 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,7 +3,7 @@ #include "loginwindow.h" #include "InputObject.h" #include -#include +#include "db/SQLHelper.h" #include #include #include @@ -47,10 +47,16 @@ int main(int argc, char* argv[]) QTextCodec* codec = QTextCodec::codecForName("utf8"); QTextCodec::setCodecForLocale(codec); + + //multi-language suppport + QTranslator translator; + LanguageSwitcher::Instance()->setTranslator(&translator); + LanguageSwitcher::Instance()->setDefaultLanguage(JsonObject::Instance()->defaultLanguage()); + a.installTranslator(&translator); + + //QString fontName = loadFontFromFile(":/fonts/MicrosoftYahei.ttf"); QString fontName = loadFontFromFile(":/fonts/DroidSansFallback.ttf"); - - QFont font(fontName); QApplication::setFont(font); @@ -65,11 +71,7 @@ int main(int argc, char* argv[]) //QObject::connect(obj, SIGNAL(touchScreen()), Locker::Instance(), SLOT(refreshTimer())); - //multi-language suppport - QTranslator translator; - LanguageSwitcher::Instance()->setTranslator(&translator); - LanguageSwitcher::Instance()->setDefaultLanguage(JsonObject::Instance()->defaultLanguage()); - a.installTranslator(&translator); + QStringList app_args = a.arguments(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8e0461a..2b47eb7 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include "event/EventCenter.h" #include "tabformwidget.h" #include "SelectFormWidget.h" #include "ScanFormWidget.h" @@ -82,14 +82,14 @@ MainWindow::MainWindow(QWidget* parent) : "QComboBox QAbstractItemView::item {min-height:60px;max-height:60px; border:1px solid white;}" //"QScrollBar:vertical {min-width: 50px;}" "QLabel{color:white; font-weight:bold; font-size:16px;}\n" - "QLabel#sliderPickerLabel{color:silver;padding:0;background:#505050;font-weight:normal;font-size:50px;}\n" + "QLabel#sliderPickerLabel{color:silver;padding:0;background:#505050;font-weight:normal;font-size:50px;}\n" "QWidget#topbarWidget{min-height:36px;max-height:36px;}\n" "QWidget#contentWidget{border-top:1px solid #515151;}\n" "QWidget#commandWidget{min-height:123px;max-height:123px;border-top:1px solid #515151; border-bottom:1px solid #323232;}\n" "QLabel#logo{min-width:30px;max-width:30px}\n" "QLabel#company{min-width:150px;max-width:150px; }\n" "QLabel#systemMsgBar{min-width:500px;}" - "QLabel#warn{color:#CCCC00;background:transparent;font-size:20px;}" + "QLabel#warn{color:#CCCC00;background:transparent;font-size:20px;}" "QWidget QWidget#statusBarWidget{min-width:300px;}\n" "QWidget QToolButton{border:none;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}\n" "QToolButton#btn_main{border:2px solid #0078d8;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}\n" @@ -103,32 +103,32 @@ MainWindow::MainWindow(QWidget* parent) : "QDialog QWidget#innerWidget{ background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," "stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray);" "border-radius:20px;border:5px solid #0078d8; }" - "QDialog#MessageDialog QWidget QWidget{ background:transparent;color:#3078d8}" - "QDialog#MessageDialog QWidget QWidget QLabel{ font-size:30px}" + "QDialog#MessageDialog QWidget QWidget{ background:transparent;color:#3078d8}" + "QDialog#MessageDialog QWidget QWidget QLabel{ font-size:30px}" "#spacer_1, #spacer_2{min-width:2px;max-width:2px;margin-top:6px;margin-bottom:6px;border-right:1px solid #0078d8;}" //FormDialog - "QPushButton{border:1px solid silver ;padding-left:50px;padding-right:50px; border-radius:5px; min-height:28px; max-height:28px; background:#4c5052}" - "QPushButton#btnOK{background:#365880; font-weight:bold}" - "QDialog#formDialog{border:3px solid silver; border-radius:8px}" - "QWidget#slider_one{border:1px solid silver; border-radius:8px}" - "QWidget#formWidget QLabel#endline{border-bottom:1px solid silver}" - "QWidget#formWidget QLabel#title{font-size:30px; border-bottom:1px solid #3078d8 }" - "QListView{border:none;margin:5px; font-weight:bold}" - "QListView::item{background:#4c5052;min-height:30px; border:1px solid silver; border-radius:5px}" - "QListView::item:selected{background:#365880; font-weight:bold;color:white}" - "QHeaderView::section{background-color:#595959;" - "min-height:50px;max-height:50px;" - "font-weight:Bold; font-size:16px; border:1px solid #323232;}" - "QHeaderView::section:horizontal{border-bottom: 1px solid rgb(0,170,255);}" - "QHeaderView::section:vertical{min-height:36px;max-height:36px;}" - "QWidget#edit_patient{min-width:300px;max-width:300px;}" - "QTableView{border:none}" - "QTableView{alternate-background-color: #595959;selection-color:white;selection-background-color:#0078d8}" - "QToolButton#sexBtn{min-width:120px;max-width:120px;font-size:20px;padding:2px;}" - "QToolButton#sexBtn:disabled{color:silver}" - "QWidget#sexpanelwidget{border:1px solid silver;}" - "QWidget#sexpanelwidget:enabled{background-color: #515151;}" - "QToolButton#sexBtn:checked{border:2px solid darkorange;padding:0px;}" + "QPushButton{border:1px solid silver ;padding-left:50px;padding-right:50px; border-radius:5px; min-height:28px; max-height:28px; background:#4c5052}" + "QPushButton#btnOK{background:#365880; font-weight:bold}" + "QDialog#formDialog{border:3px solid silver; border-radius:8px}" + "QWidget#slider_one{border:1px solid silver; border-radius:8px}" + "QWidget#formWidget QLabel#endline{border-bottom:1px solid silver}" + "QWidget#formWidget QLabel#title{font-size:30px; border-bottom:1px solid #3078d8 }" + "QListView{border:none;margin:5px; font-weight:bold}" + "QListView::item{background:#4c5052;min-height:30px; border:1px solid silver; border-radius:5px}" + "QListView::item:selected{background:#365880; font-weight:bold;color:white}" + "QHeaderView::section{background-color:#595959;" + "min-height:50px;max-height:50px;" + "font-weight:Bold; font-size:16px; border:1px solid #323232;}" + "QHeaderView::section:horizontal{border-bottom: 1px solid rgb(0,170,255);}" + "QHeaderView::section:vertical{min-height:36px;max-height:36px;}" + "QWidget#edit_patient{min-width:300px;max-width:300px;}" + "QTableView{border:none}" + "QTableView{alternate-background-color: #595959;selection-color:white;selection-background-color:#0078d8}" + "QToolButton#sexBtn{min-width:120px;max-width:120px;font-size:20px;padding:2px;}" + "QToolButton#sexBtn:disabled{color:silver}" + "QWidget#sexpanelwidget{border:1px solid silver;}" + "QWidget#sexpanelwidget:enabled{background-color: #515151;}" + "QToolButton#sexBtn:checked{border:2px solid darkorange;padding:0px;}" ; this->setStyleSheet(style); ui->setupUi(this); @@ -139,47 +139,48 @@ MainWindow::MainWindow(QWidget* parent) : tab->setCurrentIndex(1); }); SelectFormWidget* select_form = new SelectFormWidget(this); - tab->addTab(select_form, "Select"); + tab->addTab(select_form, tr("Select")); ScanFormWidget* scan_form = new ScanFormWidget(this); - tab->addTab(scan_form, "Scan"); + tab->addTab(scan_form, tr("Scan")); TabFormWidget* verify_form = new TabFormWidget(this); - tab->addTab(verify_form, "Verify"); + tab->addTab(verify_form, tr("Verify")); tab->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); QVBoxLayout* layout = new QVBoxLayout(this); layout->setMargin(0); - layout->setSpacing(0); - QWidget * top = new TopBarWidget(this); - top->setObjectName("topbarWidget"); + layout->setSpacing(0); + QWidget* top = new TopBarWidget(this); + top->setObjectName("topbarWidget"); layout->addWidget(top); layout->addWidget(tab); ui->centralWidget->setLayout(layout); this->setWindowFlags(Qt::Window); connect(EventCenter::Default(), &EventCenter::DeviceErrorRaise, [=](QObject* parent, QObject* msg) { - //默认旧模式 - if (!msgDialog) { - msgDialog = new GUIMessageDialog(this); - msgDialog->setStyleSheet(style); - } - if (msg) { - QString *str = (QString *) msg; - msgDialog->showMessage(*str); - } else { - msgDialog->showMessage("Something went error!"); - } - msgDialog->stopLoading(); - msgDialog->showExitButton(); - if (msgDialog->isHidden()){ - msgDialog->setWindowModality(Qt::NonModal); - msgDialog->exec(); - } - }); + //默认旧模式 + if (!msgDialog) { + msgDialog = new GUIMessageDialog(this); + msgDialog->setStyleSheet(style); + } + if (msg) { + QString* str = (QString*)msg; + msgDialog->showMessage(*str); + } + else { + msgDialog->showMessage("Something went error!"); + } + msgDialog->stopLoading(); + msgDialog->showExitButton(); + if (msgDialog->isHidden()) { + msgDialog->setWindowModality(Qt::NonModal); + msgDialog->exec(); + } + }); connect(EventCenter::Default(), &EventCenter::InvokeOperationStart, [=](QObject*, QObject* msg) { - if (msgDialog){ - msgDialog->hide(); - delete msgDialog; - } - msgDialog = new GUIMessageDialog(this); + if (msgDialog) { + msgDialog->hide(); + delete msgDialog; + } + msgDialog = new GUIMessageDialog(this); if (msg) { QString* str = (QString*)msg; @@ -191,11 +192,11 @@ MainWindow::MainWindow(QWidget* parent) : msgDialog->hideExitButton(); msgDialog->startLoading(); AppGlobalValues::setInProcessing(true); - // msgDialog->showFullScreen(); - if (msgDialog->isHidden()){ - msgDialog->show(); - } - }); + // msgDialog->showFullScreen(); + if (msgDialog->isHidden()) { + msgDialog->show(); + } + }); connect(EventCenter::Default(), &EventCenter::InvokeOperationProgress, [=](QObject*, QObject* msg) { if (!msgDialog) msgDialog = new GUIMessageDialog(this); if (msg) @@ -206,58 +207,70 @@ MainWindow::MainWindow(QWidget* parent) : else { msgDialog->hideMessage(); } - // msgDialog->showFullScreen(); - if (msgDialog->isHidden())msgDialog->show(); + // msgDialog->showFullScreen(); + if (msgDialog->isHidden())msgDialog->show(); }); connect(EventCenter::Default(), &EventCenter::InvokeOperationEnd, [=]() { if (!msgDialog) return; - if (!msgDialog->isHidden())msgDialog->accept(); - delete msgDialog; - msgDialog = nullptr; - AppGlobalValues::setInProcessing(false); - }); - connect(EventCenter::Default(), &EventCenter::RequestLogin, [=](QObject*, QObject* msg) { - this->requestLogin(); - }); - connect(EventCenter::Default(), &EventCenter::LoginRoleChanged, [=](QObject*, QObject*) { - if (User::Current()->isAdmin() ) - { - if (admin_tab_index == -1) - { - AdminSettingForm * form = new AdminSettingForm(this); - admin_tab_index = tab->addTab(form,"Admin"); - } - } else{ - if (admin_tab_index != -1){ - tab->removeTab(admin_tab_index); - admin_tab_index = -1; - } - } - qApp->processEvents(); - }); + if (!msgDialog->isHidden())msgDialog->accept(); + delete msgDialog; + msgDialog = nullptr; + AppGlobalValues::setInProcessing(false); + }); + connect(EventCenter::Default(), &EventCenter::RequestLogin, [=](QObject*, QObject* msg) { + this->requestLogin(); + }); + connect(EventCenter::Default(), &EventCenter::LoginRoleChanged, [=](QObject*, QObject*) { + if (User::Current()->isAdmin()) + { + if (admin_tab_index == -1) + { + AdminSettingForm* form = new AdminSettingForm(this); + admin_tab_index = tab->addTab(form, tr("Admin")); + } + } + else { + if (admin_tab_index != -1) { + tab->removeTab(admin_tab_index); + admin_tab_index = -1; + } + } + qApp->processEvents(); + }); - GUIErrorHandle::Default()->init(); - DeviceManager::Default()->initDevice(); + GUIErrorHandle::Default()->init(); + DeviceManager::Default()->initDevice(); - QThread* t = QThread::create([](){ - QThread::sleep(10); - int f = 0x00100001; - for (int i = 0; i < 8; ++i) { - QThread::sleep(10); - f= f << (i*4); - printf("invoke %d\r\n", f); - char* v = (char*)&f; - QString msg; - msg.append("w "); - msg.append(v[0]); - msg.append(v[1]); - msg.append(v[2]); - msg.append(v[3]); - EventCenter::Default()->triggerEvent(GUIErrorRaise,nullptr,(QObject*)&msg); - } - }); - t->start(); + QThread* t = QThread::create([]() { + QThread::sleep(10); + int f = 0x00100001; + for (int i = 0; i < 8; ++i) { + QThread::sleep(10); + f = f << (i * 4); + printf("invoke %d\r\n", f); + char* v = (char*)&f; + QString msg; + msg.append("w "); + msg.append(v[0]); + msg.append(v[1]); + msg.append(v[2]); + msg.append(v[3]); + EventCenter::Default()->triggerEvent(GUIErrorRaise, nullptr, (QObject*)&msg); + } + }); + t->start(); centerWidgetHide(); + + connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]() { + + tab->setTabText(0, tr("Select")); + tab->setTabText(1, tr("Scan")); + tab->setTabText(2, tr("Verify")); + tab->setTabText(3, tr("Admin")); + + }); + + } MainWindow::~MainWindow() @@ -276,7 +289,7 @@ void MainWindow::changeEvent(QEvent* event) } void MainWindow::centerWidgetHide() { - ui->centralWidget->setVisible(false); + ui->centralWidget->setVisible(false); } void MainWindow::centerWidgetShow() { @@ -291,19 +304,19 @@ QTextEdit* MainWindow::getEdit() } void MainWindow::requestLogin() { - LoginWindow l(this); - l.setWindowModality(Qt::WindowModal); - l.showFullScreen(); - this->centerWidgetHide(); - while(l.result() != QDialog::Accepted) - { - l.exec(); - } - this->centerWidgetShow(); + LoginWindow l(this); + l.setWindowModality(Qt::WindowModal); + l.showFullScreen(); + this->centerWidgetHide(); + while (l.result() != QDialog::Accepted) + { + l.exec(); + } + this->centerWidgetShow(); } void MainWindow::debugConsoleOn() { - QTextEdit* text_edit = new QTextEdit(this); + QTextEdit* text_edit = new QTextEdit(this); ui->centralWidget->layout()->addWidget(text_edit); const QString edit_style = "QScrollBar:vertical{border: 0px solid grey; background:#2d2d2d; width: 15px; margin: 0px 0 0px 0; }" diff --git a/src/network/getadminpsw.cpp b/src/network/getadminpsw.cpp index f9f814b..27da659 100644 --- a/src/network/getadminpsw.cpp +++ b/src/network/getadminpsw.cpp @@ -18,7 +18,7 @@ GetAdminPsw::GetAdminPsw(QWidget* parent, Qt::WindowFlags f) : GUIFormBaseDialog form->addRow(value1, _psw); lbl_error = new QLabel(this); - lbl_error->setObjectName("warn"); + lbl_error->setObjectName(QString::fromUtf8("warn")); form->addRow("", lbl_error); } diff --git a/src/network/getipdialog.cpp b/src/network/getipdialog.cpp index 1e5ed97..0b97bed 100644 --- a/src/network/getipdialog.cpp +++ b/src/network/getipdialog.cpp @@ -12,15 +12,16 @@ GetIPDialog::GetIPDialog(QWidget* parent, Qt::WindowFlags f) : GUIFormBaseDialog setWindowModality(Qt::WindowModal); QFormLayout* form = new QFormLayout(formWidget); - QString value1 = QString(tr("IP Address")); + QLabel* value1 = new QLabel(tr("IP Address")); _ip = new QLineEdit(this); form->addRow(value1, _ip); - QString value2 = QString(tr("Netmask")); + + QLabel* value2 = new QLabel(tr("Netmask")); _mask = new QLineEdit(this); form->addRow(value2, _mask); lbl_error = new QLabel(this); - lbl_error->setObjectName(tr("warn")); + lbl_error->setObjectName(QString::fromUtf8("warn")); form->addRow("", lbl_error); } diff --git a/src/network/networkcfgdialog.cpp b/src/network/networkcfgdialog.cpp index 1402edc..b781379 100644 --- a/src/network/networkcfgdialog.cpp +++ b/src/network/networkcfgdialog.cpp @@ -30,12 +30,15 @@ networkCfgDialog::networkCfgDialog(QWidget* parent) : model_route = new NetCfgTableModel(this); QStringList header_addr; - header_addr << "IP Address" << "Netmask"; + header_addr << tr("IP Address") << tr("Netmask"); model_addr->setHeader(header_addr); QStringList route_addr; - route_addr << "Destination" << "Gateway" << "Netmask"; + route_addr << tr("Destination") << tr("Gateway") << tr("Netmask"); model_route->setHeader(route_addr); + ui->btn_group->button(QDialogButtonBox::Apply)->setText(tr("Apply")); + ui->btn_group->button(QDialogButtonBox::Cancel)->setText(tr("Cancel")); + loadData(); ui->tbl_addr->setModel(model_addr); @@ -62,6 +65,7 @@ networkCfgDialog::networkCfgDialog(QWidget* parent) : ui->tbl_route->setColumnWidth(2, 230); ui->tbl_route->horizontalHeader()->setFixedHeight(38); + connect(ui->btn_addr_add, &QPushButton::clicked, [=]() { //GetIPDialog* dialog = new GetIPDialog(this); diff --git a/src/tabformwidget.cpp b/src/tabformwidget.cpp index df20741..2e294d5 100644 --- a/src/tabformwidget.cpp +++ b/src/tabformwidget.cpp @@ -1,7 +1,7 @@ #include "tabformwidget.h" #include "ui_tabformwidget.h" #include -#include +#include "components/RollingMessageWidget.h" #include "event/EventCenter.h" #if defined(_MSC_VER) && (_MSC_VER >= 1600) diff --git a/src/translations/zh_CN.qm b/src/translations/zh_CN.qm index e28e74a70303fc77b65eb273b2fbba978c19a6bf..2a1117ddc2f22552349561cbfea0115209da3c62 100644 GIT binary patch delta 933 zcmb7=T}V@57{{M;_MVS-Uncoo#=OWB3X0M!ib!X3qPEK6MVSmc$Z&49%}k<}A(5q_ zy&4hg&JQwCYwRMDF4QD52#MU+}s)=h~BWzRe|BD(3o;eVd@d4B)rf8OPk_o*ET zfe`>p4}kCipm-8MDh2Y0poT#x$^n3CRryv`wb_t6h3E1DSZ+>We+h~j_W+0&!B_bc zeJ;S~W#sunep_P%KwH801}XO6@sac6$dzica%R!LNwecsIY26!Zho zN^;9OiUwg-#UWMcBpKY=i{K_Qoi`1j`JyUmQ&mnSFZ$+@UlejaMT6}WTFg^ew+n59 zyKwPUA+q5#0I{vt5Oo&CZ?&;bIXxhiDgHW#uU5ik z>ajY@Y4AV`RIURLI-BFbX-x7aYn5tG^BSN2AM1iMf19Ba1%Vpd3#lHX>3i@>b delta 785 zcmZutZ%7ky7=G{Wce}gY=`77HW+DU<{Uc|qpki%1+ZIvlk5mxFT1MvF#oUU57?}lu zt?*}MGDaV?A|p?1S|0Jw_i6Iyjzt-{*PX=Xvkr(goX% zisS)E6KxpW*4I8J&3FA(37!PWh!P@0+=}$Sl*f