diff --git a/src/dialogs/AccountFormDialog.cpp b/src/dialogs/AccountFormDialog.cpp index a792d6d..2480eda 100644 --- a/src/dialogs/AccountFormDialog.cpp +++ b/src/dialogs/AccountFormDialog.cpp @@ -51,6 +51,7 @@ AccountFormDialog::AccountFormDialog(QWidget* parent, AccountEditMode mode, Qt:: mLeUserName->setValidator(new QRegExpValidator(QRegExp("^[A-Za-z0-9\u4e00-\u9fa5]+$"), mLeUserName)); connect(mLeComment, &QLineEdit::textChanged, [=](const QString& text) { + mNewComment = text; mCommentChanged = true; }); connect(mLeUserName, &QLineEdit::textChanged, [=](const QString& text) { @@ -170,9 +171,10 @@ void AccountFormDialog::addSelfModeUI(QHBoxLayout* hlayout) if (User::Current()) { mLeUserCode->setText(User::Current()->getUserCode()); + mUserPwd = User::Current()->getPassword(); + mLeComment->setText(User::Current()->getComment()); mLeUserName->setText(User::Current()->getUserName()); mUserID = User::Current()->getUserID(); - mUserPwd = User::Current()->getPassword(); } } @@ -207,21 +209,25 @@ bool AccountFormDialog::updateReferenceData() if (mMode == Self) { if (!this->mUserNameChanged && !this->mCommentChanged) return true; - if (!this->mUserNameChanged) + if (this->mUserNameChanged) { if (mNewUserName.isEmpty()) { warn(tr("User Name can't be empty!")); return false; } + User::Current()->setUserName(mNewUserName); + } + if (this->mCommentChanged) + { + User::Current()->setComment(mNewComment); } QString oldUserName = User::Current()->getUserName(); - User::Current()->setUserName(mNewUserName); bool ret = User::Current()->submitChange(); if (ret) { hideWarn(); - EventCenter::Default()->triggerEvent(CurrentUserNameChanged, nullptr, nullptr); + EventCenter::Default()->triggerEvent(CurrentUserInfoChanged, nullptr, nullptr); LOG_USER_OPERATION(QString("Change User Name from %1 to %2").arg(oldUserName).arg(mNewUserName)) } else @@ -247,7 +253,7 @@ bool AccountFormDialog::updateReferenceData() user.setUserName(mNewUserName); } if (this->mRoleChanged) user.setRoleID(mRoleID); - if (!this->mCommentChanged) user.setComment(mLeComment->text()); + if (this->mCommentChanged) user.setComment(mLeComment->text()); bool ret = user.submitChange(); if (ret) { diff --git a/src/dialogs/AccountFormDialog.h b/src/dialogs/AccountFormDialog.h index 45f5541..69cfdd0 100644 --- a/src/dialogs/AccountFormDialog.h +++ b/src/dialogs/AccountFormDialog.h @@ -41,6 +41,7 @@ private: QString mUserPwd; QString mRoleID; QString mNewUserName; + QString mNewComment; bool mUserNameChanged; bool mCommentChanged; bool mRoleChanged; diff --git a/src/event/EventCenter.h b/src/event/EventCenter.h index 7d3de96..1f1ae4f 100644 --- a/src/event/EventCenter.h +++ b/src/event/EventCenter.h @@ -42,7 +42,7 @@ ADD_EVENT_VALUE(ErrorStateActive)\ ADD_EVENT_VALUE(ErrorStateUnactive)\ ADD_EVENT_VALUE(StartScanProcess)\ ADD_EVENT_VALUE(StopScanProcess)\ -ADD_EVENT_VALUE(CurrentUserNameChanged)\ +ADD_EVENT_VALUE(CurrentUserInfoChanged)\ ADD_EVENT_VALUE(EmptyScanFinished)\ ADD_EVENT_VALUE(EmptyScanDataCorrupted)\ ADD_EVENT_VALUE(UserVerificationSuccess)\ diff --git a/src/forms/TopBarWidget.cpp b/src/forms/TopBarWidget.cpp index 642f551..bb79675 100644 --- a/src/forms/TopBarWidget.cpp +++ b/src/forms/TopBarWidget.cpp @@ -106,7 +106,7 @@ TopBarWidget::TopBarWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, username->setText(User::Current()->getUserName()); }); - connect(EventCenter::Default(), &EventCenter::CurrentUserNameChanged, [=](QObject*, QObject* msg) + connect(EventCenter::Default(), &EventCenter::CurrentUserInfoChanged, [=](QObject*, QObject* msg) { username->setText(User::Current()->getUserName()); }); diff --git a/src/forms/settings/AccountTableForm.cpp b/src/forms/settings/AccountTableForm.cpp index 3545a43..c3bd32c 100644 --- a/src/forms/settings/AccountTableForm.cpp +++ b/src/forms/settings/AccountTableForm.cpp @@ -144,6 +144,11 @@ AccountTableForm::AccountTableForm(QWidget* aParent) btnEdit->setText(tr("Edit")); btnDelete->setText(tr("Delete")); }); + + connect(EventCenter::Default(), &EventCenter::CurrentUserInfoChanged, [model]() + { + model->select(); + }); } AccountTableForm::~AccountTableForm() diff --git a/src/windows/MainWindow.cpp b/src/windows/MainWindow.cpp index 3eb040e..39bf170 100644 --- a/src/windows/MainWindow.cpp +++ b/src/windows/MainWindow.cpp @@ -377,10 +377,10 @@ void MainWindow::enableAllTabWidget() void MainWindow::handleEmptyScanDataCorrupted() { - mTabWidget->setTabEnabled(0, false); - mTabWidget->setTabEnabled(1, false); - mTabWidget->setTabEnabled(2, false); mTabWidget->setCurrentIndex(3); + mTabWidget->setTabEnabled(2, false); + mTabWidget->setTabEnabled(1, false); + mTabWidget->setTabEnabled(0, false); DialogManager::Default()->requestAlertMessage(tr("Due to empty scan data corruption on the server, needs to be execute the empty scan. No other operations can be conducted until the scan is complete."), OkOnly, tr("Warning")); }