summaryrefslogtreecommitdiff
path: root/ui/qt5/rootpwpage.cc
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-11-20 22:41:59 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-11-27 11:19:04 -0600
commit357387e664f78cd3727fbbd53178ae6b57257138 (patch)
tree545f2babe278e3a4d34812fdcd5446183bb56a16 /ui/qt5/rootpwpage.cc
parent8e85922cfe40b1a49b82c0f24138995321346500 (diff)
downloadhorizon-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.cc59
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());
+}