// // Created by Krad on 2021/11/10. // #include "AccountFormDialog.h" #include "ChangePasswordFormDialog.h" #include #include #include #include #include #include "db/SQLHelper.h" #include "models/User.h" AccountFormDialog::AccountFormDialog(QWidget *parent, Qt::WindowFlags f) : GUIFormBaseDialog(parent, f) { 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")); QLineEdit* le_UserCode = new QLineEdit(this); 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")); QLineEdit* le_UserName = new QLineEdit(this); 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")); QPushButton* btn_Pwd = new QPushButton(this); btn_Pwd->setText(tr("Change Password")); layout->addWidget(lbl_Pwd); layout->addWidget(btn_Pwd); QLabel* lbl_endline3 = new QLabel(this); lbl_endline3->setObjectName("endline"); layout->addWidget(lbl_endline3); //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(le_UserName, &QLineEdit::textChanged, [t=this](const QString& text){ t->m_NewUserName = text; t->userNameChanged = true; }); connect(btn_Pwd, &QPushButton::clicked,[t=this](){ ChangePasswordFormDialog dia(t->parentWidget()); dia.setWindowModality(Qt::WindowModal); dia.exec(); }); } AccountFormDialog::~AccountFormDialog() { } bool AccountFormDialog::updateReferenceData() { if (!this->userNameChanged) return true; User::Current()->setUserName(m_NewUserName); bool ret = User::Current()->submitChange(); return ret; }