diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-11-20 22:41:59 -0600 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-11-27 11:19:04 -0600 |
commit | 357387e664f78cd3727fbbd53178ae6b57257138 (patch) | |
tree | 545f2babe278e3a4d34812fdcd5446183bb56a16 /ui/qt5/rootpwpage.cc | |
parent | 8e85922cfe40b1a49b82c0f24138995321346500 (diff) | |
download | horizon-357387e664f78cd3727fbbd53178ae6b57257138.tar.gz horizon-357387e664f78cd3727fbbd53178ae6b57257138.tar.bz2 horizon-357387e664f78cd3727fbbd53178ae6b57257138.tar.xz horizon-357387e664f78cd3727fbbd53178ae6b57257138.zip |
Qt UI: Add root passphrase page
Diffstat (limited to 'ui/qt5/rootpwpage.cc')
-rw-r--r-- | ui/qt5/rootpwpage.cc | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/ui/qt5/rootpwpage.cc b/ui/qt5/rootpwpage.cc new file mode 100644 index 0000000..ca7de32 --- /dev/null +++ b/ui/qt5/rootpwpage.cc @@ -0,0 +1,59 @@ +/* + * rootpwpage.cc - Implementation of the UI.Accounts.RootPW page + * horizon-qt5, the Qt 5 user interface for + * Project Horizon + * + * Copyright (c) 2019 Adélie Linux and contributors. All rights reserved. + * This code is licensed under the AGPL 3.0 license, as noted in the + * LICENSE-code file in the root directory of this repository. + * + * SPDX-License-Identifier: AGPL-3.0-only + */ + +#include "rootpwpage.hh" + +#include <QFormLayout> +#include <QLabel> +#include <QLineEdit> +#include <QVBoxLayout> + +RootPassphrasePage::RootPassphrasePage(QWidget *parent) + : HorizonWizardPage(parent) { + setTitle(tr("Set Root Passphrase")); + loadWatermark("acct"); + + QLabel *descLabel = new QLabel(tr( + "You need to set a root passphrase for this computer.\n\n" + "The root passphrase is used for system administration and recovery. " + "Be sure to write it down and keep it in a safe place.\n\n" + "The root passphrase must be at least 8 characters long, and can contain any mixture of letters, numbers, and symbols.")); + descLabel->setWordWrap(true); + + rootPW = new QLineEdit; + rootPW->setEchoMode(QLineEdit::Password); + rootPW->setWhatsThis(tr("Enter your desired root passphrase here.")); + connect(rootPW, &QLineEdit::textChanged, + this, &RootPassphrasePage::completeChanged); + registerField("rootpw", rootPW); + confirmPW = new QLineEdit; + confirmPW->setEchoMode(QLineEdit::Password); + confirmPW->setWhatsThis(tr( + "Confirm your desired root passphrase by typing it again here.")); + connect(confirmPW, &QLineEdit::textChanged, + this, &RootPassphrasePage::completeChanged); + QFormLayout *pwForm = new QFormLayout; + pwForm->addRow(tr("&Passphrase:"), rootPW); + pwForm->addRow(tr("&Confirm Passphrase:"), confirmPW); + + QVBoxLayout *mainLayout = new QVBoxLayout; + mainLayout->addWidget(descLabel); + mainLayout->addStretch(); + mainLayout->addLayout(pwForm); + mainLayout->addStretch(); + setLayout(mainLayout); +} + +bool RootPassphrasePage::isComplete() const { + return (rootPW->text().size() > 8 && + rootPW->text() == confirmPW->text()); +} |