diff --git a/src/modules/finished/FinishedPage.cpp b/src/modules/finished/FinishedPage.cpp
index 609856975..8ae459540 100644
--- a/src/modules/finished/FinishedPage.cpp
+++ b/src/modules/finished/FinishedPage.cpp
@@ -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( "
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..1129c69ce 100644
--- a/src/modules/finished/FinishedPage.h
+++ b/src/modules/finished/FinishedPage.h
@@ -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
diff --git a/src/modules/finished/FinishedViewStep.cpp b/src/modules/finished/FinishedViewStep.cpp
index 1f5217f22..1c3688c59 100644
--- a/src/modules/finished/FinishedViewStep.cpp
+++ b/src/modules/finished/FinishedViewStep.cpp
@@ -17,8 +17,10 @@
*/
#include "FinishedViewStep.h"
-
#include "FinishedPage.h"
+#include "JobQueue.h"
+
+#include "utils/Logger.h"
#include
@@ -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 >();
}