Browse Source

[ui] Add toggle for unblinding password fields

0.16
Thomas Snider 7 years ago
parent
commit
ff35de8f03
  1. 10
      src/qt/askpassphrasedialog.cpp
  2. 1
      src/qt/askpassphrasedialog.h
  3. 7
      src/qt/forms/askpassphrasedialog.ui

10
src/qt/askpassphrasedialog.cpp

@ -70,6 +70,7 @@ AskPassphraseDialog::AskPassphraseDialog(Mode _mode, QWidget *parent) : @@ -70,6 +70,7 @@ AskPassphraseDialog::AskPassphraseDialog(Mode _mode, QWidget *parent) :
break;
}
textChanged();
connect(ui->toggleShowPasswordButton, SIGNAL(toggled(bool)), this, SLOT(toggleShowPassword(bool)));
connect(ui->passEdit1, SIGNAL(textChanged(QString)), this, SLOT(textChanged()));
connect(ui->passEdit2, SIGNAL(textChanged(QString)), this, SLOT(textChanged()));
connect(ui->passEdit3, SIGNAL(textChanged(QString)), this, SLOT(textChanged()));
@ -234,6 +235,15 @@ bool AskPassphraseDialog::event(QEvent *event) @@ -234,6 +235,15 @@ bool AskPassphraseDialog::event(QEvent *event)
return QWidget::event(event);
}
void AskPassphraseDialog::toggleShowPassword(bool show)
{
ui->toggleShowPasswordButton->setDown(show);
const auto mode = show ? QLineEdit::Normal : QLineEdit::Password;
ui->passEdit1->setEchoMode(mode);
ui->passEdit2->setEchoMode(mode);
ui->passEdit3->setEchoMode(mode);
}
bool AskPassphraseDialog::eventFilter(QObject *object, QEvent *event)
{
/* Detect Caps Lock.

1
src/qt/askpassphrasedialog.h

@ -43,6 +43,7 @@ private: @@ -43,6 +43,7 @@ private:
private Q_SLOTS:
void textChanged();
void secureClearPassFields();
void toggleShowPassword(bool);
protected:
bool event(QEvent *event);

7
src/qt/forms/askpassphrasedialog.ui

@ -93,6 +93,13 @@ @@ -93,6 +93,13 @@
</widget>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="toggleShowPasswordButton">
<property name="text">
<string>Show password</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="capsLabel">
<property name="font">
<font>

Loading…
Cancel
Save