From 04f0270f9a5f28ec1d2fa029d7ee78c8d0e5f9b2 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Mon, 10 Feb 2020 10:55:42 -0600 Subject: Qt UI: Improvements to the Runner's Error Page --- ui/qt5/CMakeLists.txt | 3 +++ ui/qt5/runner/errorpage.cc | 47 ++++++++++++++++++++++++++++++++++++++-------- ui/qt5/runner/errorpage.hh | 1 + 3 files changed, 43 insertions(+), 8 deletions(-) (limited to 'ui/qt5') diff --git a/ui/qt5/CMakeLists.txt b/ui/qt5/CMakeLists.txt index cc56ed4..a8779fd 100644 --- a/ui/qt5/CMakeLists.txt +++ b/ui/qt5/CMakeLists.txt @@ -72,4 +72,7 @@ IF(INSTALL) add_executable(horizon-run-qt5 ${RUN_QT_SOURCES}) target_link_libraries(horizon-run-qt5 Qt5::Widgets) target_compile_definitions(horizon-run-qt5 PRIVATE IN_RUNNER) + IF("cxx_std_17" IN_LIST CMAKE_CXX_COMPILE_FEATURES) + set_property(TARGET horizon-run-qt5 PROPERTY CXX_STANDARD 17) + ENDIF() ENDIF(INSTALL) diff --git a/ui/qt5/runner/errorpage.cc b/ui/qt5/runner/errorpage.cc index f645a10..73ea1dc 100644 --- a/ui/qt5/runner/errorpage.cc +++ b/ui/qt5/runner/errorpage.cc @@ -31,6 +31,8 @@ ErrorPage::ErrorPage(QWidget *parent) : HorizonWizardPage(parent) { descLabel = new QLabel(tr("I am Error.")); descLabel->setWordWrap(true); + deetLabel = new QLabel; + deetLabel->setWordWrap(true); QPushButton *viewLog = new QPushButton(tr("&View Log")); viewLog->setWhatsThis(tr("Opens a log viewer, in which you can examine the contents of the installation log file.")); @@ -70,6 +72,7 @@ ErrorPage::ErrorPage(QWidget *parent) : HorizonWizardPage(parent) { QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(descLabel); layout->addStretch(); + layout->addWidget(deetLabel); layout->addLayout(buttonLayout); setLayout(layout); @@ -82,28 +85,56 @@ void ErrorPage::initializePage() { descLabel->setText(tr( "An issue occurred while preparing this computer for installation.\n\n" "This almost always indicates a corrupted installation medium, or a hardware fault.\n\n" - "Try creating a new installation medium. If that doesn't work, you will need to have your computer serviced.\n\n" - "Technical Details: A failure in the Prepare phase means the Executor process failed to start, crashed during initialisation, or encountered an early parsing failure in the HorizonScript.")); + "Try creating a new installation medium. If that doesn't work, you may need to have your computer serviced.")); + deetLabel->setText(tr( + "Details: A failure during the Prepare phase means the Executor process failed to start, " + "crashed during initialisation, or encountered an early parsing failure in the HorizonScript.")); break; case ExecutePage::Validate: descLabel->setText(tr( - "An issue occurred while validating the installation script.\n\n" - "If you used the System Installation Wizard, you have encountered a bug in the wizard. " + "An issue occurred while validating the installation script.")); + deetLabel->setText(tr( + "Details: If you used the System Installation Wizard, you have encountered a bug in the wizard. " "Please choose \"Save Script/Log...\" and follow the instructions at https://horizon.adelielinux.org/bug to report this issue.\n\n" "If you wrote the script yourself, you have made a syntax error.")); break; case ExecutePage::Disk: descLabel->setText(tr( "An issue occurred while manipulating this computer's hard disk(s).\n\n" - "This may indicate a disk is read-only, an issue with the disk's controller or cabling, or a failing disk.\n\n" - "Ensure you have selected the correct hard disk drive. " + "Ensure you have selected the correct hard disk drive.")); + deetLabel->setText(tr( + "Details: This may indicate a disk is read-only, an issue with the disk's controller or cabling, or a failing disk.\n\n" "If the correct disk is selected, check the cabling from the drive to the controller, and the controller to the computer.\n\n" - "Otherwise, ensure the disk is not physically damaged.")); + "Otherwise, ensure the disk is not physically damaged.\n\n" + "Review the log file for more information.")); break; - case ExecutePage::PreMeta: case ExecutePage::Net: + descLabel->setText(tr( + "An issue occurred while configuring this computer's network connection(s).\n\n" + "Ensure your networking equipment is powered on, including any modems, routers, or switches.\n\n" + "Also ensure that all cabling is firmly connected.")); + deetLabel->setText(tr( + "Details: The system could not correctly configure the network based on the information provided. " + "This may be due to a configuration error, a cabling/equipment issue, or your network adaptor may require firmware. " + "Review the log file for more information.")); + break; case ExecutePage::Pkg: + descLabel->setText(tr("An issue occurred while installing packages.")); + deetLabel->setText(tr( + "Details: This failure typically indicates an issue connecting to the network. " + "Ensure your network configuration is correct.\n\n" + "You may be attempting to install a version or edition of Adélie Linux that your mirror does not provide.\n\n" + "Rarely, this may indicate an issue with your installation media, " + "or that software you have selected for installation is no longer available.")); + break; + case ExecutePage::PreMeta: +#if __cplusplus >= 201703L + [[ fallthrough ]]; +#endif case ExecutePage::PostMeta: + descLabel->setText(tr("An issue occurred while configuring this computer.")); + deetLabel->setText(tr("Details: This typically means writing a configuration file has failed. " + "Review the log file for more information.")); break; } } diff --git a/ui/qt5/runner/errorpage.hh b/ui/qt5/runner/errorpage.hh index 0cb59af..f6600a4 100644 --- a/ui/qt5/runner/errorpage.hh +++ b/ui/qt5/runner/errorpage.hh @@ -22,6 +22,7 @@ public: void initializePage(); private: QLabel *descLabel; + QLabel *deetLabel; }; #endif /* !ERRORPAGE_HH */ -- cgit v1.2.3-70-g09d2