[welcome] Config should not have its own RequirementsModel

- Use the one from ModuleManager
This commit is contained in:
Adriaan de Groot 2020-05-11 16:18:55 +02:00
parent 153757933a
commit fabe5ec439
4 changed files with 20 additions and 21 deletions

View File

@ -87,10 +87,13 @@ public:
/** /**
* @brief Starts asynchronous requirements checking for each module. * @brief Starts asynchronous requirements checking for each module.
* When this is done, the signal modulesChecked is emitted. * When this is done, the signal requirementsComplete is emitted.
*/ */
void checkRequirements(); void checkRequirements();
///@brief Gets the model that requirements-checking works on.
RequirementsModel* requirementsModel() { return m_requirementsModel; }
signals: signals:
void initDone(); void initDone();
void modulesLoaded(); /// All of the modules were loaded successfully void modulesLoaded(); /// All of the modules were loaded successfully

View File

@ -22,6 +22,7 @@
#include "Settings.h" #include "Settings.h"
#include "geoip/Handler.h" #include "geoip/Handler.h"
#include "locale/Lookup.h" #include "locale/Lookup.h"
#include "modulesystem/ModuleManager.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include "utils/Retranslator.h" #include "utils/Retranslator.h"
#include "utils/Variant.h" #include "utils/Variant.h"
@ -30,14 +31,8 @@
Config::Config( QObject* parent ) Config::Config( QObject* parent )
: QObject( parent ) : QObject( parent )
, m_requirementsModel( new Calamares::RequirementsModel( this ) )
, m_languages( CalamaresUtils::Locale::availableTranslations() ) , m_languages( CalamaresUtils::Locale::availableTranslations() )
{ {
connect( m_requirementsModel,
&Calamares::RequirementsModel::satisfiedRequirementsChanged,
this,
&Config::setIsNextEnabled );
initLanguages(); initLanguages();
CALAMARES_RETRANSLATE_SLOT( &Config::retranslate ) CALAMARES_RETRANSLATE_SLOT( &Config::retranslate )
@ -49,12 +44,13 @@ Config::retranslate()
m_genericWelcomeMessage = genericWelcomeMessage().arg( Calamares::Branding::instance()->versionedName() ); m_genericWelcomeMessage = genericWelcomeMessage().arg( Calamares::Branding::instance()->versionedName() );
emit genericWelcomeMessageChanged( m_genericWelcomeMessage ); emit genericWelcomeMessageChanged( m_genericWelcomeMessage );
if ( !m_requirementsModel->satisfiedRequirements() ) const auto* r = requirementsModel();
if ( !r->satisfiedRequirements() )
{ {
QString message; QString message;
const bool setup = Calamares::Settings::instance()->isSetupMode(); const bool setup = Calamares::Settings::instance()->isSetupMode();
if ( !m_requirementsModel->satisfiedMandatory() ) if ( !r->satisfiedMandatory() )
{ {
message = setup ? tr( "This computer does not satisfy the minimum " message = setup ? tr( "This computer does not satisfy the minimum "
"requirements for setting up %1.<br/>" "requirements for setting up %1.<br/>"
@ -95,6 +91,13 @@ Config::languagesModel() const
return m_languages; return m_languages;
} }
Calamares::RequirementsModel*
Config::requirementsModel() const
{
return Calamares::ModuleManager::instance()->requirementsModel();
}
QString QString
Config::languageIcon() const Config::languageIcon() const
{ {
@ -183,12 +186,6 @@ Config::setLocaleIndex( int index )
emit localeIndexChanged( m_localeIndex ); emit localeIndexChanged( m_localeIndex );
} }
Calamares::RequirementsModel&
Config::requirementsModel() const
{
return *m_requirementsModel;
}
void void
Config::setIsNextEnabled( bool isNextEnabled ) Config::setIsNextEnabled( bool isNextEnabled )
{ {

View File

@ -20,7 +20,6 @@
#define WELCOME_CONFIG_H #define WELCOME_CONFIG_H
#include "locale/LabelModel.h" #include "locale/LabelModel.h"
#include "modulesystem/Requirement.h"
#include "modulesystem/RequirementsModel.h" #include "modulesystem/RequirementsModel.h"
#include <QObject> #include <QObject>
@ -30,7 +29,7 @@ class Config : public QObject
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY( CalamaresUtils::Locale::LabelModel* languagesModel READ languagesModel CONSTANT FINAL ) Q_PROPERTY( CalamaresUtils::Locale::LabelModel* languagesModel READ languagesModel CONSTANT FINAL )
Q_PROPERTY( Calamares::RequirementsModel* requirementsModel MEMBER m_requirementsModel CONSTANT FINAL ) Q_PROPERTY( Calamares::RequirementsModel* requirementsModel READ requirementsModel CONSTANT FINAL )
Q_PROPERTY( QString languageIcon READ languageIcon CONSTANT FINAL ) Q_PROPERTY( QString languageIcon READ languageIcon CONSTANT FINAL )
@ -52,8 +51,6 @@ public:
void setConfigurationMap( const QVariantMap& ); void setConfigurationMap( const QVariantMap& );
Calamares::RequirementsModel& requirementsModel() const;
void setCountryCode( const QString& countryCode ); void setCountryCode( const QString& countryCode );
QString languageIcon() const; QString languageIcon() const;
@ -83,6 +80,9 @@ public slots:
CalamaresUtils::Locale::LabelModel* languagesModel() const; CalamaresUtils::Locale::LabelModel* languagesModel() const;
void retranslate(); void retranslate();
///@brief The **global** requirements model, from ModuleManager
Calamares::RequirementsModel* requirementsModel() const;
signals: signals:
void countryCodeChanged( QString countryCode ); void countryCodeChanged( QString countryCode );
void localeIndexChanged( int localeIndex ); void localeIndexChanged( int localeIndex );
@ -99,7 +99,6 @@ signals:
private: private:
void initLanguages(); void initLanguages();
Calamares::RequirementsModel* m_requirementsModel;
CalamaresUtils::Locale::LabelModel* m_languages; CalamaresUtils::Locale::LabelModel* m_languages;
QString m_languageIcon; QString m_languageIcon;

View File

@ -47,7 +47,7 @@
WelcomePage::WelcomePage( Config* conf, QWidget* parent ) WelcomePage::WelcomePage( Config* conf, QWidget* parent )
: QWidget( parent ) : QWidget( parent )
, ui( new Ui::WelcomePage ) , ui( new Ui::WelcomePage )
, m_checkingWidget( new CheckerContainer( conf->requirementsModel(), this ) ) , m_checkingWidget( new CheckerContainer( *(conf->requirementsModel()), this ) )
, m_languages( nullptr ) , m_languages( nullptr )
, m_conf( conf ) , m_conf( conf )
{ {