diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-12-06 04:49:30 -0600 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-12-06 04:49:30 -0600 |
commit | d3728b38b12b2f9762ba26fc6fc302cb79f7ee6c (patch) | |
tree | 3c0d47166a89110fa504aa1557f69de6e89073bc /ui/qt5/commitpage.cc | |
parent | d71a5c29f6d22d2fb18bd483333eaf37b827fd0d (diff) | |
download | horizon-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.cc | 95 |
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())); +} |