AccountFormDialog button style and layout change.
This commit is contained in:
@@ -52,118 +52,23 @@ AccountFormDialog::AccountFormDialog(QWidget* parent, AccountEditMode mode, Qt::
|
|||||||
lbl_endline2->setObjectName("endline");
|
lbl_endline2->setObjectName("endline");
|
||||||
layout->addWidget(lbl_endline2);
|
layout->addWidget(lbl_endline2);
|
||||||
|
|
||||||
|
// add new mode
|
||||||
|
if (m_mode == New) {
|
||||||
//add password
|
//add password
|
||||||
QLabel *lbl_Pwd = new QLabel(this);
|
QLabel *lbl_Pwd = new QLabel(this);
|
||||||
lbl_Pwd->setText(tr("Password"));
|
lbl_Pwd->setText(tr("Password"));
|
||||||
layout->addWidget(lbl_Pwd);
|
layout->addWidget(lbl_Pwd);
|
||||||
|
|
||||||
// add new mode
|
|
||||||
if (m_mode == New)
|
|
||||||
{
|
|
||||||
le_Pwd = new QLineEdit(this);
|
le_Pwd = new QLineEdit(this);
|
||||||
le_Pwd->setPlaceholderText(tr("Input password"));
|
le_Pwd->setPlaceholderText(tr("Input password"));
|
||||||
le_Pwd->setEchoMode(QLineEdit::Password);
|
le_Pwd->setEchoMode(QLineEdit::Password);
|
||||||
layout->addWidget(le_Pwd);
|
layout->addWidget(le_Pwd);
|
||||||
|
m_RoleID = User::getRoleID("doctor");
|
||||||
}
|
}
|
||||||
else {//edit mode
|
|
||||||
btn_Pwd = new QPushButton(this);
|
|
||||||
btn_Pwd->setText(m_mode == Self ? tr("Change Password") : tr("Reset Password"));
|
|
||||||
layout->addWidget(btn_Pwd);
|
|
||||||
}
|
|
||||||
QLabel *lbl_endline3 = new QLabel(this);
|
QLabel *lbl_endline3 = new QLabel(this);
|
||||||
lbl_endline3->setObjectName("endline");
|
lbl_endline3->setObjectName("endline");
|
||||||
layout->addWidget(lbl_endline3);
|
layout->addWidget(lbl_endline3);
|
||||||
|
|
||||||
if (m_mode == Self)
|
|
||||||
{
|
|
||||||
//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(btn_Pwd, &QPushButton::clicked, [t = this]() {
|
|
||||||
ChangePasswordFormDialog dia(t->parentWidget());
|
|
||||||
dia.setWindowModality(Qt::WindowModal);
|
|
||||||
dia.exec();
|
|
||||||
});
|
|
||||||
connect(btn_Logout, &QAbstractButton::clicked, [=]() {
|
|
||||||
this->accept();
|
|
||||||
LOG_USER_OPERATION(Logout);
|
|
||||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestLogin, nullptr, nullptr);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//add change role
|
|
||||||
QLabel* lbl_Role = new QLabel(this);
|
|
||||||
lbl_Role->setText(tr("Change Role"));
|
|
||||||
btn_Role = new QPushButton(this);
|
|
||||||
layout->addWidget(lbl_Role);
|
|
||||||
layout->addWidget(btn_Role);
|
|
||||||
QLabel* lbl_endline0 = new QLabel(this);
|
|
||||||
lbl_endline0->setObjectName("endline");
|
|
||||||
layout->addWidget(lbl_endline0);
|
|
||||||
//set default value
|
|
||||||
if (m_mode == New) {
|
|
||||||
btn_Role->setText("doctor");
|
|
||||||
m_RoleID = User::getRoleID("doctor");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
connect(btn_Pwd, &QAbstractButton::clicked, [=]() {
|
|
||||||
AlertDialog dialog(this);
|
|
||||||
dialog.setButtonMode(OkAndCancel);
|
|
||||||
dialog.setWindowModality(Qt::WindowModal);
|
|
||||||
dialog.setAlertMessage(tr("Reset password to \"123456\" ?"));
|
|
||||||
if (dialog.exec() == Accepted)
|
|
||||||
{
|
|
||||||
User user;
|
|
||||||
dialog.setButtonMode(OkOnly);
|
|
||||||
if (!User::getUser(m_UserID, user)) {
|
|
||||||
dialog.setAlertMessage(tr("Inner error, can't find reference user!"));
|
|
||||||
dialog.exec();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!user.resetPassword())
|
|
||||||
{
|
|
||||||
dialog.setAlertMessage(tr("Submit change to database fail!"));
|
|
||||||
dialog.exec();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
connect(btn_Role, &QAbstractButton::clicked, [=]() {
|
|
||||||
SelectDialog selectDialog(this);
|
|
||||||
selectDialog.setAvailableDates(User::getAllRoleName());
|
|
||||||
selectDialog.setSelectedValue(btn_Role->text());
|
|
||||||
selectDialog.setWindowModality(Qt::WindowModal);
|
|
||||||
// submit change
|
|
||||||
if (selectDialog.exec() == Accepted)
|
|
||||||
{
|
|
||||||
if (selectDialog.getSelectedValue() != btn_Role->text())
|
|
||||||
{
|
|
||||||
QString newRoleID = User::getRoleID(selectDialog.getSelectedValue());
|
|
||||||
btn_Role->setText(selectDialog.getSelectedValue());
|
|
||||||
m_RoleID = newRoleID;
|
|
||||||
qDebug() << "new Role ID:" << newRoleID;
|
|
||||||
this->roleChanged = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//add Comment
|
//add Comment
|
||||||
QLabel *lbl_Comment = new QLabel(this);
|
QLabel *lbl_Comment = new QLabel(this);
|
||||||
lbl_Comment->setText(tr("Comment"));
|
lbl_Comment->setText(tr("Comment"));
|
||||||
@@ -178,6 +83,81 @@ AccountFormDialog::AccountFormDialog(QWidget* parent, AccountEditMode mode, Qt::
|
|||||||
lbl_error->setObjectName("warn");
|
lbl_error->setObjectName("warn");
|
||||||
lbl_error->setVisible(false);
|
lbl_error->setVisible(false);
|
||||||
layout->addWidget(lbl_error);
|
layout->addWidget(lbl_error);
|
||||||
|
|
||||||
|
|
||||||
|
QHBoxLayout* hlayout = new QHBoxLayout;
|
||||||
|
layout->addLayout(hlayout);
|
||||||
|
|
||||||
|
//add logout
|
||||||
|
// QLabel *lbl_Logout = new QLabel(this);
|
||||||
|
// lbl_Logout->setText(tr("Logout"));
|
||||||
|
if (m_mode == Self)
|
||||||
|
{
|
||||||
|
QToolButton *btn_Logout = new QToolButton(this);
|
||||||
|
btn_Logout->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||||
|
btn_Logout->setIcon(QIcon(":/icons/logout.png"));
|
||||||
|
btn_Logout->setIconSize({30, 30});
|
||||||
|
btn_Logout->setText(tr("Logout"));
|
||||||
|
btn_Logout->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
|
||||||
|
btn_Logout->setObjectName("editvalBtn");
|
||||||
|
|
||||||
|
hlayout->addWidget(btn_Logout);
|
||||||
|
connect(btn_Logout, &QAbstractButton::clicked, [=]() {
|
||||||
|
this->accept();
|
||||||
|
LOG_USER_OPERATION(Logout);
|
||||||
|
EventCenter::Default()->triggerEvent(GUIEvents::RequestLogin, nullptr, nullptr);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// load current user data
|
||||||
|
if (m_mode == Self && User::Current()) {
|
||||||
|
le_UserCode->setText(User::Current()->getUserCode());
|
||||||
|
le_UserName->setText(User::Current()->getUserName());
|
||||||
|
m_UserID = User::Current()->getUserID();
|
||||||
|
m_UserPwd = User::Current()->getPassword();
|
||||||
|
}
|
||||||
|
if (m_mode != New) {
|
||||||
|
btn_Pwd = new QToolButton(this);
|
||||||
|
btn_Pwd->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||||
|
btn_Pwd->setObjectName("editvalBtn");
|
||||||
|
btn_Pwd->setIcon(QIcon(":/icons/edit.png"));
|
||||||
|
btn_Pwd->setIconSize({30, 30});
|
||||||
|
btn_Pwd->setText(m_mode == Self ? tr("Change Password") : tr("Reset Password"));
|
||||||
|
btn_Pwd->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||||
|
hlayout->addWidget(btn_Pwd);
|
||||||
|
QLabel *lbl_endline9 = new QLabel(this);
|
||||||
|
lbl_endline9->setFixedHeight(2);
|
||||||
|
lbl_endline9->setObjectName("endline");
|
||||||
|
layout->addWidget(lbl_endline9);
|
||||||
|
if (m_mode == Self) {
|
||||||
|
connect(btn_Pwd, &QPushButton::clicked, [=]() {
|
||||||
|
ChangePasswordFormDialog dia(this->parentWidget());
|
||||||
|
dia.setWindowModality(Qt::WindowModal);
|
||||||
|
dia.exec();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
connect(btn_Pwd, &QAbstractButton::clicked, [=]() {
|
||||||
|
AlertDialog dialog(this);
|
||||||
|
dialog.setButtonMode(OkAndCancel);
|
||||||
|
dialog.setWindowModality(Qt::WindowModal);
|
||||||
|
dialog.setAlertMessage(tr("Reset password to \"123456\" ?"));
|
||||||
|
if (dialog.exec() == Accepted) {
|
||||||
|
User user;
|
||||||
|
dialog.setButtonMode(OkOnly);
|
||||||
|
if (!User::getUser(m_UserID, user)) {
|
||||||
|
dialog.setAlertMessage(tr("Inner error, can't find reference user!"));
|
||||||
|
dialog.exec();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!user.resetPassword()) {
|
||||||
|
dialog.setAlertMessage(tr("Submit change to database fail!"));
|
||||||
|
dialog.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
connect(le_Comment, &QLineEdit::textChanged, [=](const QString &text) {
|
connect(le_Comment, &QLineEdit::textChanged, [=](const QString &text) {
|
||||||
commentChanged = true;
|
commentChanged = true;
|
||||||
});
|
});
|
||||||
@@ -300,10 +280,6 @@ void AccountFormDialog::setAccountInformation(const QMap<QString, QVariant>& val
|
|||||||
le_Comment->setText(values["Comment"].toString());
|
le_Comment->setText(values["Comment"].toString());
|
||||||
m_UserID = values["UserID"].toString();
|
m_UserID = values["UserID"].toString();
|
||||||
m_UserPwd = values["Password"].toString();
|
m_UserPwd = values["Password"].toString();
|
||||||
if (btn_Role) {
|
|
||||||
m_RoleID = values["RoleID"].toString();
|
|
||||||
btn_Role->setText(User::getRoleName(m_RoleID));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountFormDialog::warn(QString msg) {
|
void AccountFormDialog::warn(QString msg) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#define GUI_ACCOUNTFORMDIALOG_H
|
#define GUI_ACCOUNTFORMDIALOG_H
|
||||||
class QLabel;
|
class QLabel;
|
||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
class QPushButton;
|
class QToolButton;
|
||||||
class QSqlTableModel;
|
class QSqlTableModel;
|
||||||
#include "GUIFormBaseDialog.h"
|
#include "GUIFormBaseDialog.h"
|
||||||
|
|
||||||
@@ -39,8 +39,8 @@ private:
|
|||||||
QLineEdit* le_UserName = nullptr;
|
QLineEdit* le_UserName = nullptr;
|
||||||
QLineEdit* le_Comment = nullptr;
|
QLineEdit* le_Comment = nullptr;
|
||||||
QLineEdit* le_Pwd = nullptr;
|
QLineEdit* le_Pwd = nullptr;
|
||||||
QPushButton* btn_Pwd = nullptr;
|
QToolButton* btn_Pwd = nullptr;
|
||||||
QPushButton* btn_Role = nullptr;
|
|
||||||
QLabel* lbl_error = nullptr;
|
QLabel* lbl_error = nullptr;
|
||||||
QSqlTableModel* refmodel = nullptr;
|
QSqlTableModel* refmodel = nullptr;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user