feat: Add button can see the password in login dialog.

This commit is contained in:
sunwen
2024-05-27 11:27:02 +08:00
parent 8aff31858b
commit 0dcaa994c8
4 changed files with 37 additions and 2 deletions

View File

@@ -34,6 +34,7 @@ LoginDialog::LoginDialog(QWidget* aParent)
, mAccountEdit(new ULineEdit(mDialogFrame))
, mPasswordEdit(new ULineEdit(mDialogFrame))
, mLoginButton(nullptr)
, mShowPasswordButton(new QToolButton(this))
, mErrorMessage(new QLabel(this))
, mIsRunning(false)
, mHideClickCount(0)
@@ -122,15 +123,37 @@ void LoginDialog::initializeDialogFrame()
void LoginDialog::initializeEdit()
{
QWidget* accountEditArea = new QWidget();
accountEditArea->setObjectName("LoginEditArea");
QHBoxLayout* accountEditAreaLayout = new QHBoxLayout(accountEditArea);
mAccountEdit->setObjectName("combobox_UserName");
mAccountEdit->setPlaceholderText(tr("Username"));
mAccountEdit->setFocusPolicy(Qt::ClickFocus);
mDialogContentsLayout->addWidget(mAccountEdit);
accountEditAreaLayout->addWidget(mAccountEdit);
accountEditAreaLayout->addItem(new QSpacerItem(49,20,QSizePolicy::Fixed));
mDialogContentsLayout->addWidget(accountEditArea);
QWidget* passwordEditArea = new QWidget(this);
passwordEditArea->setObjectName("LoginEditArea");
QHBoxLayout* passwordEditAreaLayout = new QHBoxLayout(passwordEditArea);
mPasswordEdit->setObjectName("edt_Password");
mPasswordEdit->setEchoMode(QLineEdit::Password);
mPasswordEdit->setPlaceholderText(tr("Password"));
mPasswordEdit->setFocusPolicy(Qt::ClickFocus);
mDialogContentsLayout->addWidget(mPasswordEdit);
passwordEditAreaLayout->addWidget(mPasswordEdit);
passwordEditAreaLayout->addWidget(mShowPasswordButton);
mShowPasswordButton->setObjectName("ShowPasswordButton");
mDialogContentsLayout->addWidget(passwordEditArea);
connect(mShowPasswordButton, &QToolButton::pressed, [this]()
{
mPasswordEdit->setEchoMode(QLineEdit::Normal);
});
connect(mShowPasswordButton, &QToolButton::released, [this]()
{
mPasswordEdit->setEchoMode(QLineEdit::Password);
});
}
void LoginDialog::initializeLoginButton()

View File

@@ -54,6 +54,7 @@ private:
ULineEdit* mAccountEdit;
ULineEdit* mPasswordEdit;
QToolButton* mLoginButton;
QToolButton* mShowPasswordButton;
QLabel* mErrorMessage;
bool mIsRunning;
int mHideClickCount;