Files
GUI/src/dialogs/AccountFormDialog.h

62 lines
1.6 KiB
C
Raw Normal View History

2021-11-11 14:10:41 +08:00
#ifndef GUI_ACCOUNTFORMDIALOG_H
#define GUI_ACCOUNTFORMDIALOG_H
class QLabel;
class ULineEdit;
class QToolButton;
class QSqlTableModel;
2022-06-13 11:21:44 +08:00
#include <QtWidgets/QVBoxLayout>
2021-11-11 14:10:41 +08:00
#include "GUIFormBaseDialog.h"
enum AccountEditMode {
Self, Admin, New
};
class AccountFormDialog :public GUIFormBaseDialog {
2021-11-11 14:10:41 +08:00
Q_OBJECT
public:
explicit AccountFormDialog(QWidget* parent = nullptr, AccountEditMode mode = Self, Qt::WindowFlags f = Qt::WindowFlags());
2022-06-13 11:21:44 +08:00
~AccountFormDialog() override = default;
void setAccountInformation(const QMap<QString, QVariant>& values);
void setReferenceModel(QSqlTableModel* model)
{
2022-06-13 11:21:44 +08:00
mRefModel = model;
}
2021-11-11 14:10:41 +08:00
protected:
bool updateReferenceData() override;
2022-06-13 11:21:44 +08:00
void warn(const QString& msg);
void hideWarn();
2021-11-11 14:10:41 +08:00
private:
void addEndLine(QVBoxLayout* layout);
void addNewModeUI(QVBoxLayout* layout);
void addSelfModeUI(QHBoxLayout* layout);
void addTitleLabel(QVBoxLayout* layout);
void initUserCodeUI(QVBoxLayout* layout);
void initUserNameUI(QVBoxLayout* layout);
void addCommentLabel(QVBoxLayout* layout);
void addWarnLabel(QVBoxLayout* layout);
void addButtonPwd(QHBoxLayout* layout);
2022-06-13 11:21:44 +08:00
void changeSelfPassword();
void resetUserPassword();
QString mUserID;
QString mUserPwd;
QString mRoleID;
QString mNewUserName;
bool mUserNameChanged;
bool mCommentChanged;
bool mRoleChanged;
AccountEditMode mMode;
ULineEdit* mLeUserCode;
ULineEdit* mLeUserName;
ULineEdit* mLeComment;
ULineEdit* mLePwd;
ULineEdit* mConfirmPwd;
2022-06-13 11:21:44 +08:00
QToolButton* mBtnPwd;
QLabel* mLblError;
QSqlTableModel* mRefModel;
2021-11-11 14:10:41 +08:00
};
#endif //GUI_ACCOUNTFORMDIALOG_H