Account Form dialog
This commit is contained in:
82
src/AccountFormDialog.cpp
Normal file
82
src/AccountFormDialog.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// Created by Krad on 2021/11/10.
|
||||
//
|
||||
|
||||
#include "AccountFormDialog.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);
|
||||
QLabel* lbl_title = new QLabel(this);
|
||||
lbl_title->setAlignment(Qt::AlignCenter);
|
||||
lbl_title->setText(tr("Account"));
|
||||
lbl_title->setObjectName("title");
|
||||
layout->addWidget(lbl_title);
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
QLabel* lbl_Logout = new QLabel(this);
|
||||
lbl_Logout->setText(tr("Logout"));
|
||||
QPushButton* btnLogout= new QPushButton(this);
|
||||
btnLogout->setText(tr("Logout"));
|
||||
layout->addWidget(lbl_Logout);
|
||||
layout->addWidget(btnLogout);
|
||||
QLabel* lbl_endline0 = new QLabel(this);
|
||||
lbl_endline0->setObjectName("endline");
|
||||
layout->addWidget(lbl_endline0);
|
||||
|
||||
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;
|
||||
});
|
||||
}
|
||||
|
||||
AccountFormDialog::~AccountFormDialog() {
|
||||
|
||||
}
|
||||
|
||||
bool AccountFormDialog::updateReferenceData() {
|
||||
if (!this->userNameChanged) return true;
|
||||
User::Current()->setUserName(m_NewUserName);
|
||||
bool ret = User::Current()->submitChange();
|
||||
return ret;
|
||||
}
|
||||
25
src/AccountFormDialog.h
Normal file
25
src/AccountFormDialog.h
Normal file
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// Created by Krad on 2021/11/10.
|
||||
//
|
||||
|
||||
#ifndef GUI_ACCOUNTFORMDIALOG_H
|
||||
#define GUI_ACCOUNTFORMDIALOG_H
|
||||
|
||||
#include "GUIFormBaseDialog.h"
|
||||
class AccountFormDialog:public GUIFormBaseDialog{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit AccountFormDialog(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
|
||||
~AccountFormDialog();
|
||||
protected:
|
||||
bool updateReferenceData() override;
|
||||
private:
|
||||
QString m_UserID;
|
||||
QString m_UserPwd;
|
||||
QString m_RoleID;
|
||||
QString m_NewUserName;
|
||||
bool userNameChanged = false;
|
||||
};
|
||||
|
||||
|
||||
#endif //GUI_ACCOUNTFORMDIALOG_H
|
||||
Reference in New Issue
Block a user