feat: Add button can see the password in login dialog.
This commit is contained in:
BIN
src/icons/eye.png
Normal file
BIN
src/icons/eye.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
@@ -332,10 +332,21 @@ QDialog#loginForm QLineEdit {
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
QDialog#loginForm QWidget#LoginEditArea {
|
||||
background: transparent;
|
||||
min-height: 110px;
|
||||
max-height: 110px;
|
||||
}
|
||||
|
||||
QDialog#loginForm QLineEdit:enabled {
|
||||
background-color: #515151
|
||||
}
|
||||
|
||||
QDialog#loginForm QToolButton#ShowPasswordButton{
|
||||
qproperty-icon:url(":/icons/eye.png");
|
||||
qproperty-iconSize:30px 30px;
|
||||
}
|
||||
|
||||
QDialog#loginForm QToolButton#btnlogin {
|
||||
min-height: 100px;
|
||||
max-height: 100px;
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -54,6 +54,7 @@ private:
|
||||
ULineEdit* mAccountEdit;
|
||||
ULineEdit* mPasswordEdit;
|
||||
QToolButton* mLoginButton;
|
||||
QToolButton* mShowPasswordButton;
|
||||
QLabel* mErrorMessage;
|
||||
bool mIsRunning;
|
||||
int mHideClickCount;
|
||||
|
||||
Reference in New Issue
Block a user