[libcalamaresui] Reporting on failures

- Provide information on failed modules
 - Disallow further progress when configuration is borked
This commit is contained in:
Adriaan de Groot 2018-06-13 05:11:31 -04:00
parent 3e24c3c58f
commit 9918dfb95f
6 changed files with 208 additions and 0 deletions

View file

@ -20,6 +20,7 @@
#include "ViewManager.h"
#include "utils/Logger.h"
#include "viewpages/BlankViewStep.h"
#include "viewpages/ViewStep.h"
#include "ExecutionViewStep.h"
#include "JobQueue.h"
@ -172,6 +173,20 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail
}
void
ViewManager::onInitFailed( const QStringList& modules)
{
QString title( tr( "Calamares Initialization Failed" ) );
QString description( tr( "Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 can not be installed." ) );
QStringList details;
details << QLatin1Literal("<ul>");
for( const auto& m : modules )
details << QLatin1Literal("<li>") << m << QLatin1Literal("</li>");
details << QLatin1Literal("</ul>");
insertViewStep( 0, new BlankViewStep( title, description.arg( *Calamares::Branding::ShortProductName ), details.join( QString() ) ) );
}
ViewStepList
ViewManager::viewSteps() const
{