| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -27,6 +27,7 @@ Config::Config( QObject* parent )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    : QObject( parent )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    , m_languages( CalamaresUtils::Locale::availableTranslations() )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    , m_filtermodel( std::make_unique< QSortFilterProxyModel >() )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    , m_requirementsChecker( std::make_unique< GeneralRequirements >( this ) )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    initLanguages();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -38,14 +39,16 @@ Config::Config( QObject* parent )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Config::retranslate()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    m_genericWelcomeMessage = genericWelcomeMessage().arg( Calamares::Branding::instance()->versionedName() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const auto* branding = Calamares::Branding::instance();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const auto* settings = Calamares::Settings::instance();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    m_genericWelcomeMessage = genericWelcomeMessage().arg( branding ? branding->versionedName() : QString() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    emit genericWelcomeMessageChanged( m_genericWelcomeMessage );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const auto* r = requirementsModel();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ( !r->satisfiedRequirements() )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ( r && !r->satisfiedRequirements() )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        QString message;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        const bool setup = Calamares::Settings::instance()->isSetupMode();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        const bool setup = settings ? settings->isSetupMode() : false;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if ( !r->satisfiedMandatory() )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -70,13 +73,13 @@ Config::retranslate()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                  "might be disabled." );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        m_warningMessage = message.arg( Calamares::Branding::instance()->shortVersionedName() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        m_warningMessage = message.arg( branding ? branding->shortVersionedName() : QString() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        m_warningMessage = tr( "This program will ask you some questions and "
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                               "set up %2 on your computer." )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                               .arg( Calamares::Branding::instance()->productName() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                               .arg( branding ? branding->productName() : QString() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    emit warningMessageChanged( m_warningMessage );
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -91,7 +94,8 @@ Config::languagesModel() const
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Calamares::RequirementsModel*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Config::requirementsModel() const
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    return Calamares::ModuleManager::instance()->requirementsModel();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    auto* manager = Calamares::ModuleManager::instance();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    return manager ? manager->requirementsModel() : nullptr;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				QAbstractItemModel*
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -150,8 +154,6 @@ Config::initLanguages()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        QString name = m_languages->locale( matchedLocaleIndex ).name();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        cDebug() << Logger::SubEntry << "Matched with index" << matchedLocaleIndex << name;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CalamaresUtils::installTranslator( name, Calamares::Branding::instance()->translationsDirectory() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        setLocaleIndex( matchedLocaleIndex );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    else
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -190,7 +192,8 @@ Config::setLocaleIndex( int index )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    cDebug() << "Index" << index << "Selected locale" << selectedLocale;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QLocale::setDefault( selectedLocale );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    CalamaresUtils::installTranslator( selectedLocale, Calamares::Branding::instance()->translationsDirectory() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const auto* branding = Calamares::Branding::instance();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    CalamaresUtils::installTranslator( selectedLocale, branding ? branding->translationsDirectory() : QString() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ( Calamares::JobQueue::instance() && Calamares::JobQueue::instance()->globalStorage() )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CalamaresUtils::Locale::insertGS( *Calamares::JobQueue::instance()->globalStorage(),
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -240,17 +243,19 @@ Config::genericWelcomeMessage() const
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    QString message;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ( Calamares::Settings::instance()->isSetupMode() )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const auto* settings = Calamares::Settings::instance();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const auto* branding = Calamares::Branding::instance();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const bool welcomeStyle = branding ? branding->welcomeStyleCalamares() : true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ( settings ? settings->isSetupMode() : false )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        message = Calamares::Branding::instance()->welcomeStyleCalamares()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            ? tr( "<h1>Welcome to the Calamares setup program for %1</h1>" )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            : tr( "<h1>Welcome to %1 setup</h1>" );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        message = welcomeStyle ? tr( "<h1>Welcome to the Calamares setup program for %1</h1>" )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                               : tr( "<h1>Welcome to %1 setup</h1>" );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        message = Calamares::Branding::instance()->welcomeStyleCalamares()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            ? tr( "<h1>Welcome to the Calamares installer for %1</h1>" )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            : tr( "<h1>Welcome to the %1 installer</h1>" );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        message = welcomeStyle ? tr( "<h1>Welcome to the Calamares installer for %1</h1>" )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                               : tr( "<h1>Welcome to the %1 installer</h1>" );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    return message;
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -393,4 +398,15 @@ Config::setConfigurationMap( const QVariantMap& configurationMap )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ::setLanguageIcon( this, configurationMap );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ::setGeoIP( this, configurationMap );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ( configurationMap.contains( "requirements" )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         && configurationMap.value( "requirements" ).type() == QVariant::Map )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        m_requirementsChecker->setConfigurationMap( configurationMap.value( "requirements" ).toMap() );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        cWarning() << "no valid requirements map found in welcome "
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                      "module configuration.";
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |