From a4682db9872e14c953c1de3a1084a7baea816890 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 23 Feb 2021 16:05:48 +0100 Subject: [PATCH] [finished] Tidy up notification-at-end (and allow failed notifications) --- src/modules/finished/Config.cpp | 5 +++++ src/modules/finished/FinishedViewStep.cpp | 12 ++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/modules/finished/Config.cpp b/src/modules/finished/Config.cpp index a749b0176..5119da942 100644 --- a/src/modules/finished/Config.cpp +++ b/src/modules/finished/Config.cpp @@ -96,6 +96,11 @@ Config::doRestart() void Config::doNotify( bool hasFailed ) { + if ( !notifyOnFinished() ) + { + return; + } + QDBusInterface notify( "org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications" ); if ( notify.isValid() ) diff --git a/src/modules/finished/FinishedViewStep.cpp b/src/modules/finished/FinishedViewStep.cpp index 70eb4127a..3f9fd3aab 100644 --- a/src/modules/finished/FinishedViewStep.cpp +++ b/src/modules/finished/FinishedViewStep.cpp @@ -25,7 +25,6 @@ FinishedViewStep::FinishedViewStep( QObject* parent ) , m_installFailed( false ) { auto jq = Calamares::JobQueue::instance(); - connect( jq, &Calamares::JobQueue::failed, m_widget, &FinishedPage::onInstallationFailed ); connect( jq, &Calamares::JobQueue::failed, this, &FinishedViewStep::onInstallationFailed ); emit nextStatusChanged( true ); @@ -86,11 +85,8 @@ FinishedViewStep::isAtEnd() const void FinishedViewStep::onActivate() { - if ( !m_installFailed ) - { - m_config->doNotify(); - connect( qApp, &QApplication::aboutToQuit, m_config, &Config::doRestart ); - } + m_config->doNotify( m_installFailed ); + connect( qApp, &QApplication::aboutToQuit, m_config, &Config::doRestart ); } @@ -103,9 +99,9 @@ FinishedViewStep::jobs() const void FinishedViewStep::onInstallationFailed( const QString& message, const QString& details ) { - Q_UNUSED( message ) - Q_UNUSED( details ) m_installFailed = true; + m_config->setRestartNowMode( Config::RestartMode::Never ); + m_widget->onInstallationFailed( message, details ); } void