FinishedPage: don't reboot on failure

If installation fails, and you end up on the last page, suppress the
reboot-now checkbox.

FIXES #605
This commit is contained in:
Adriaan de Groot 2017-07-03 11:04:23 -04:00 committed by Philip
parent 7991e4548b
commit 5d7db27c06
3 changed files with 27 additions and 1 deletions

View File

@ -39,6 +39,7 @@ FinishedPage::FinishedPage( QWidget* parent )
, ui( new Ui::FinishedPage )
, m_restartSetUp( false )
{
cDebug() << "FinishedPage()";
ui->setupUi( this );
ui->mainText->setAlignment( Qt::AlignCenter );
@ -83,6 +84,7 @@ FinishedPage::setRestartNowCommand( const QString& command )
void
FinishedPage::setUpRestart()
{
cDebug() << "FinishedPage::setUpRestart()";
if ( !m_restartSetUp )
{
connect( qApp, &QApplication::aboutToQuit,
@ -102,3 +104,14 @@ FinishedPage::focusInEvent( QFocusEvent* e )
e->accept();
}
void
FinishedPage::onInstallationFailed( const QString& message, const QString& details )
{
ui->mainText->setText( tr( "<h1>Installation Failed</h1><br/>"
"%1 has not been installed on your computer.<br/>"
"The error message was: %2." )
.arg(Calamares::Branding::instance()->
string( Calamares::Branding::VersionedName ) )
.arg( details ) );
setRestartNowEnabled( false );
}

View File

@ -38,6 +38,9 @@ public:
void setUpRestart();
public slots:
void onInstallationFailed( const QString& message, const QString& details );
protected:
void focusInEvent( QFocusEvent* e ) override; //choose the child widget to focus

View File

@ -17,8 +17,10 @@
*/
#include "FinishedViewStep.h"
#include "FinishedPage.h"
#include "JobQueue.h"
#include "utils/Logger.h"
#include <QVariantMap>
@ -26,6 +28,11 @@ FinishedViewStep::FinishedViewStep( QObject* parent )
: Calamares::ViewStep( parent )
, m_widget( new FinishedPage() )
{
cDebug() << "FinishedViewStep()";
connect( Calamares::JobQueue::instance(), &Calamares::JobQueue::failed,
m_widget, &FinishedPage::onInstallationFailed );
emit nextStatusChanged( true );
}
@ -47,6 +54,7 @@ FinishedViewStep::prettyName() const
QWidget*
FinishedViewStep::widget()
{
cDebug() << "FinishedViewStep::widget()";
return m_widget;
}
@ -94,6 +102,7 @@ FinishedViewStep::isAtEnd() const
void
FinishedViewStep::onActivate()
{
cDebug() << "FinishedViewStep::onActivate()";
m_widget->setUpRestart();
}
@ -101,6 +110,7 @@ FinishedViewStep::onActivate()
QList< Calamares::job_ptr >
FinishedViewStep::jobs() const
{
cDebug() << "FinishedViewStep::jobs";
return QList< Calamares::job_ptr >();
}