diff --git a/src/modules/finished/FinishedPage.cpp b/src/modules/finished/FinishedPage.cpp index 609856975..87862e90c 100644 --- a/src/modules/finished/FinishedPage.cpp +++ b/src/modules/finished/FinishedPage.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -39,6 +40,7 @@ FinishedPage::FinishedPage( QWidget* parent ) , ui( new Ui::FinishedPage ) , m_restartSetUp( false ) { + cDebug() << "FinishedPage()"; ui->setupUi( this ); ui->mainText->setAlignment( Qt::AlignCenter ); @@ -83,6 +85,7 @@ FinishedPage::setRestartNowCommand( const QString& command ) void FinishedPage::setUpRestart() { + cDebug() << "FinishedPage::setUpRestart()"; if ( !m_restartSetUp ) { connect( qApp, &QApplication::aboutToQuit, @@ -102,3 +105,15 @@ FinishedPage::focusInEvent( QFocusEvent* e ) e->accept(); } +void +FinishedPage::onInstallationFailed( const QString& message, const QString& details ) +{ + Q_UNUSED( message ); + ui->mainText->setText( tr( "

Installation Failed


" + "%1 has not been installed on your computer.
" + "The error message was: %2." ) + .arg(Calamares::Branding::instance()-> + string( Calamares::Branding::VersionedName ) ) + .arg( details ) ); + setRestartNowEnabled( false ); +} diff --git a/src/modules/finished/FinishedPage.h b/src/modules/finished/FinishedPage.h index 31930a6f1..ba3e75667 100644 --- a/src/modules/finished/FinishedPage.h +++ b/src/modules/finished/FinishedPage.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -38,6 +39,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 diff --git a/src/modules/finished/FinishedViewStep.cpp b/src/modules/finished/FinishedViewStep.cpp index 1f5217f22..3c9bc042c 100644 --- a/src/modules/finished/FinishedViewStep.cpp +++ b/src/modules/finished/FinishedViewStep.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,8 +18,10 @@ */ #include "FinishedViewStep.h" - #include "FinishedPage.h" +#include "JobQueue.h" + +#include "utils/Logger.h" #include @@ -26,6 +29,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 +55,7 @@ FinishedViewStep::prettyName() const QWidget* FinishedViewStep::widget() { + cDebug() << "FinishedViewStep::widget()"; return m_widget; } @@ -94,6 +103,7 @@ FinishedViewStep::isAtEnd() const void FinishedViewStep::onActivate() { + cDebug() << "FinishedViewStep::onActivate()"; m_widget->setUpRestart(); } @@ -101,6 +111,7 @@ FinishedViewStep::onActivate() QList< Calamares::job_ptr > FinishedViewStep::jobs() const { + cDebug() << "FinishedViewStep::jobs"; return QList< Calamares::job_ptr >(); }