summaryrefslogtreecommitdiff
path: root/ui/qt5/commitpage.cc
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-12-06 04:49:30 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-12-06 04:49:30 -0600
commitd3728b38b12b2f9762ba26fc6fc302cb79f7ee6c (patch)
tree3c0d47166a89110fa504aa1557f69de6e89073bc /ui/qt5/commitpage.cc
parentd71a5c29f6d22d2fb18bd483333eaf37b827fd0d (diff)
downloadhorizon-d3728b38b12b2f9762ba26fc6fc302cb79f7ee6c.tar.gz
horizon-d3728b38b12b2f9762ba26fc6fc302cb79f7ee6c.tar.bz2
horizon-d3728b38b12b2f9762ba26fc6fc302cb79f7ee6c.tar.xz
horizon-d3728b38b12b2f9762ba26fc6fc302cb79f7ee6c.zip
Qt UI: Implement UI.Writeout and UI.Commit requirements
Diffstat (limited to 'ui/qt5/commitpage.cc')
-rw-r--r--ui/qt5/commitpage.cc95
1 files changed, 95 insertions, 0 deletions
diff --git a/ui/qt5/commitpage.cc b/ui/qt5/commitpage.cc
new file mode 100644
index 0000000..f144ade
--- /dev/null
+++ b/ui/qt5/commitpage.cc
@@ -0,0 +1,95 @@
+/*
+ * commitpage.cc - Implementation of the UI.Commit 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 "commitpage.hh"
+
+#include "datetimepage.hh"
+#include "util/keymaps.hh"
+#include <algorithm>
+
+#include <QLabel>
+#include <QVariant>
+#include <QVBoxLayout>
+
+CommitPage::CommitPage(QWidget *parent) : HorizonWizardPage(parent) {
+ setTitle(tr("Begin Installation"));
+ loadWatermark("intro");
+
+ QLabel *descLabel = new QLabel(tr(
+ "We have gathered all the information needed to begin installing Adélie Linux to your computer. "
+ "Choose 'Install' when you are ready to begin the installation procedure."));
+ descLabel->setWordWrap(true);
+
+ choices = new QLabel;
+ choices->setFrameStyle(QFrame::Panel | QFrame::Sunken);
+ choices->setTextFormat(Qt::RichText);
+
+ QVBoxLayout *layout = new QVBoxLayout;
+ layout->addWidget(descLabel);
+ layout->addSpacing(10);
+ layout->addWidget(choices);
+
+ setLayout(layout);
+}
+
+void CommitPage::initializePage() {
+ QString netString, zoneString, softString;
+
+ auto iterator = valid_keymaps.begin();
+ Q_ASSERT(field("keymap").toUInt() <= valid_keymaps.size());
+ std::advance(iterator, field("keymap").toUInt());
+
+ if(horizonWizard()->network && horizonWizard()->net_dhcp &&
+ horizonWizard()->interfaces.size() > 1) {
+ QString iface = QString::fromStdString(horizonWizard()->chosen_auto_iface);
+ netString = tr("Enabled (via %1)").arg(iface);
+ } else {
+ netString = horizonWizard()->network ? tr("Enabled") : tr("Disabled");
+ }
+
+ zoneString = dynamic_cast<DateTimePage *>(
+ horizonWizard()->page(HorizonWizard::Page_DateTime)
+ )->selectedTimeZone();
+
+ switch(horizonWizard()->pkgtype) {
+ case HorizonWizard::Standard:
+ softString = tr("Standard");
+ break;
+ case HorizonWizard::Mobile:
+ softString = tr("Mobile");
+ break;
+ case HorizonWizard::Compact:
+ softString = tr("Compact");
+ break;
+ case HorizonWizard::TextOnly:
+ softString = tr("Text-Only");
+ break;
+ case HorizonWizard::Custom:
+ /* XXX TODO maybe show packages selected? too lengthy? */
+ softString = tr("Custom");
+ break;
+ }
+
+ choices->setText(tr("<br>\n"
+ "<p><b>Keyboard Layout</b>: %1</p>\n"
+ "<p><b>Networking</b>: %2</p>\n"
+ "<p><b>Time Zone</b>: %3</p>\n"
+ "<p><b>Software Selection</b>: %4</p>\n"
+ "<p><b>Hostname</b>: %5</p>\n"
+ "<p><b>Root Passphrase</b>: <i>[saved]</i></p>\n"
+ "<br>")
+ .arg(QString::fromStdString(*iterator))
+ .arg(netString)
+ .arg(zoneString)
+ .arg(softString)
+ .arg(field("hostname").toString()));
+}