101 lines
3.2 KiB
C++
101 lines
3.2 KiB
C++
//
|
|
// Created by Krad on 2021/11/10.
|
|
//
|
|
|
|
#include "AccountFormDialog.h"
|
|
#include "ChangePasswordFormDialog.h"
|
|
#include <QVBoxLayout>
|
|
#include <QLabel>
|
|
#include <QToolButton>
|
|
#include <QPushButton>
|
|
#include <QLineEdit>
|
|
#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();
|
|
});
|
|
|
|
connect(btn_Logout, &QAbstractButton::clicked, [=](){
|
|
this->accept();
|
|
this->parentWidget()->parentWidget()->parentWidget()->hide();
|
|
});
|
|
}
|
|
|
|
AccountFormDialog::~AccountFormDialog() {
|
|
|
|
}
|
|
|
|
bool AccountFormDialog::updateReferenceData() {
|
|
if (!this->userNameChanged) return true;
|
|
User::Current()->setUserName(m_NewUserName);
|
|
bool ret = User::Current()->submitChange();
|
|
return ret;
|
|
}
|