diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/qt5/horizon.qrc | 2 | ||||
-rw-r--r-- | ui/qt5/resources/finish-high.png | bin | 0 -> 437322 bytes | |||
-rw-r--r-- | ui/qt5/resources/finish-low.png | bin | 0 -> 114486 bytes | |||
-rw-r--r-- | ui/qt5/runner/finishedpage.cc | 42 | ||||
-rw-r--r-- | ui/qt5/runner/finishedpage.hh | 4 |
5 files changed, 45 insertions, 3 deletions
diff --git a/ui/qt5/horizon.qrc b/ui/qt5/horizon.qrc index 46dbccd..58272c1 100644 --- a/ui/qt5/horizon.qrc +++ b/ui/qt5/horizon.qrc @@ -8,6 +8,8 @@ <file>resources/software-low.png</file> <file>resources/acct-high.png</file> <file>resources/acct-low.png</file> + <file>resources/finish-high.png</file> + <file>resources/finish-low.png</file> <file alias="resources/status-current-high.svg">../../assets/status-current-high.svg</file> <file alias="resources/status-current-low.svg">../../assets/status-current-low.svg</file> <file alias="resources/status-issue-high.svg">../../assets/status-issue-high.svg</file> diff --git a/ui/qt5/resources/finish-high.png b/ui/qt5/resources/finish-high.png Binary files differnew file mode 100644 index 0000000..729d6bf --- /dev/null +++ b/ui/qt5/resources/finish-high.png diff --git a/ui/qt5/resources/finish-low.png b/ui/qt5/resources/finish-low.png Binary files differnew file mode 100644 index 0000000..46c18c8 --- /dev/null +++ b/ui/qt5/resources/finish-low.png diff --git a/ui/qt5/runner/finishedpage.cc b/ui/qt5/runner/finishedpage.cc index 153f703..933a372 100644 --- a/ui/qt5/runner/finishedpage.cc +++ b/ui/qt5/runner/finishedpage.cc @@ -12,6 +12,46 @@ #include "finishedpage.hh" -FinishedPage::FinishedPage(QWidget *parent) : QWizardPage(parent) { +#include <QFileDialog> +#include <QLabel> +#include <QMessageBox> +#include <QPushButton> +#include <QVBoxLayout> + +FinishedPage::FinishedPage(QWidget *parent) : HorizonWizardPage(parent) { setTitle(tr("Adélie Linux Successfully Installed")); + loadWatermark("finish"); + + QLabel *descLabel = new QLabel(tr( + "Congratulations!\n\n" + "Adélie Linux has been successfully installed on this computer. " + "Be sure to read our Handbooks to learn how to get the most out of your new operating environment.\n\n" + "Remember to eject your installation media (CD, DVD, USB drive).\n\n" + "We hope you enjoy using Adélie.\n\nChoose \"Finish\" to restart your computer.")); + descLabel->setWordWrap(true); + + QPushButton *owo = new QPushButton(tr("&Save Installation Data")); + owo->setWhatsThis(tr("Saves the HorizonScript and log files associated with this installation.")); + owo->setAutoDefault(false); + owo->setDefault(false); + connect(owo, &QPushButton::clicked, [=]{ + bool success = true; + + QString dir = QFileDialog::getExistingDirectory(this, tr("Choose Directory"), "/target/root"); + if(dir.size() > 0) { + success = QFile::copy("/etc/horizon/installfile", dir + QDir::separator() + "installfile"); + if(success) success = QFile::copy("/var/log/horizon/executor.log", dir + QDir::separator() + "install.log"); + } + + if(!success) { + QMessageBox::critical(this, tr("Could Not Save Installation Data"), tr("Unable to save installation data to %1.").arg(dir)); + } + }); + + QVBoxLayout *layout = new QVBoxLayout; + layout->addWidget(descLabel); + layout->addStretch(); + layout->addWidget(owo, 0, Qt::AlignCenter); + + setLayout(layout); } diff --git a/ui/qt5/runner/finishedpage.hh b/ui/qt5/runner/finishedpage.hh index 4a97b28..3cdb236 100644 --- a/ui/qt5/runner/finishedpage.hh +++ b/ui/qt5/runner/finishedpage.hh @@ -13,9 +13,9 @@ #ifndef FINISHEDPAGE_HH #define FINISHEDPAGE_HH -#include <QWizardPage> +#include "../horizonwizardpage.hh" -class FinishedPage : public QWizardPage { +class FinishedPage : public HorizonWizardPage { public: FinishedPage(QWidget *parent = nullptr); }; |