Refactor DialogManager.1

This commit is contained in:
Krad
2022-07-20 16:45:33 +08:00
parent 18331b61cf
commit acc53c463c
8 changed files with 141 additions and 57 deletions

View File

@@ -11,10 +11,10 @@
#include "components/AccountRoleComboDelegate.h"
#include "dialogs/AlertDialog.h"
#include "dialogs/DialogManager.h"
#include "db/SQLHelper.h"
#include "models/User.h"
#include "components/SlideTableView.h"
#include "dialogs/AccountFormDialog.h"
#include "event/EventCenter.h"
AccountTableForm::AccountTableForm(QWidget* aParent)
@@ -87,14 +87,11 @@ AccountTableForm::AccountTableForm(QWidget* aParent)
//add new account
connect(btnAdd, &QToolButton::clicked, [=]() {
AccountFormDialog dialog(this, New);
dialog.setWindowModality(Qt::WindowModal);
dialog.setReferenceModel(model);
if (dialog.exec() == QDialog::Accepted)
if (DialogManager::Default()->requestAddAccount(model) == QDialog::Accepted)
{
table->selectRow(0);
}
});
});
connect(btnEdit, &QToolButton::clicked, [=]() {
if (mCurrentRow < 0)
@@ -107,16 +104,19 @@ AccountTableForm::AccountTableForm(QWidget* aParent)
{
map[record.fieldName(i)] = record.value(i);
}
auto mode = map["UserID"] == User::Current()->getUserID() ? Self : Admin;
AccountFormDialog dialog(this, mode);
dialog.setWindowModality(Qt::WindowModal);
if (mode == Admin)dialog.setAccountInformation(map);
if (dialog.exec() == QDialog::Accepted)
int ret =0;
if (map["UserID"] == User::Current()->getUserID()){
ret = DialogManager::Default()->requestEditSelfAccount();
}
else{
ret = DialogManager::Default()->requestEditAdminAccount(map);
}
if (ret == QDialog::Accepted)
{
model->select();
table->selectRow(mCurrentRow);
}
});
});
connect(btnDelete, &QToolButton::clicked, [=]() {
if (mCurrentRow < 0)