From 124c1e11613ec1691f9b6ff9754152a0f40e369c Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Fri, 29 Nov 2019 17:55:06 -0600 Subject: Qt UI: Allow passphrase to be viewed in UserAccountWidget --- ui/qt5/useraccountwidget.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'ui/qt5') diff --git a/ui/qt5/useraccountwidget.cc b/ui/qt5/useraccountwidget.cc index 8caf6fb..85fd71d 100644 --- a/ui/qt5/useraccountwidget.cc +++ b/ui/qt5/useraccountwidget.cc @@ -12,7 +12,9 @@ #include "useraccountwidget.hh" +#include #include +#include #include UserAccountWidget::UserAccountWidget(QWidget *parent) @@ -41,6 +43,24 @@ UserAccountWidget::UserAccountWidget(QWidget *parent) passphrase->setPlaceholderText(tr("Passphrase")); passphrase->setToolTip(tr("This user's passphrase")); passphrase->setWhatsThis(tr("The passphrase will be used to log in to the computer.")); + QAction *togglePass = passphrase->addAction(QIcon::fromTheme("visibility"), + QLineEdit::TrailingPosition); + togglePass->setToolTip(tr("Show the passphrase")); + togglePass->setData(true); + connect(togglePass, &QAction::triggered, + [=](void) { + if(togglePass->data().toBool() == true) { + togglePass->setData(false); + togglePass->setIcon(QIcon::fromTheme("hint")); + togglePass->setToolTip(tr("Hide the passphrase")); + passphrase->setEchoMode(QLineEdit::Normal); + } else { + togglePass->setData(true); + togglePass->setIcon(QIcon::fromTheme("visibility")); + togglePass->setToolTip(tr("Show the passphrase")); + passphrase->setEchoMode(QLineEdit::Password); + } + }); passAdminLayout->addWidget(passphrase); adminTick = new QCheckBox(tr("Admin")); -- cgit v1.2.3-60-g2f50