[welcome] Restructure requirements checking

- Move widget behavior into its own container / widget class
 - Change the RequirementsChecker class to just check the
   requirements, returning a results list
 - Connect from the module manager to the results widget.
This commit is contained in:
Adriaan de Groot 2017-12-02 09:56:03 -05:00
parent b6fed964ce
commit bd27dda474
9 changed files with 251 additions and 177 deletions

View file

@ -22,10 +22,13 @@
#include "ui_WelcomePage.h"
#include "CalamaresVersion.h"
#include "checker/CheckerContainer.h"
#include "checker/RequirementsChecker.h"
#include "utils/Logger.h"
#include "utils/CalamaresUtilsGui.h"
#include "utils/Retranslator.h"
#include "modulesystem/ModuleManager.h"
#include "ViewManager.h"
#include <QApplication>
@ -39,11 +42,13 @@
#include "Branding.h"
WelcomePage::WelcomePage( RequirementsChecker* requirementsChecker, QWidget* parent )
WelcomePage::WelcomePage( QWidget* parent )
: QWidget( parent )
, ui( new Ui::WelcomePage )
, m_requirementsChecker( requirementsChecker )
, m_checkingWidget( new CheckerContainer( this ) )
{
connect( Calamares::ModuleManager::instance(), &Calamares::ModuleManager::requirementsResult, m_checkingWidget, &CheckerContainer::requirementsChecked );
connect( Calamares::ModuleManager::instance(), &Calamares::ModuleManager::requirementsComplete, m_checkingWidget, &CheckerContainer::requirementsComplete );
ui->setupUi( this );
ui->verticalLayout->insertSpacing( 1, CalamaresUtils::defaultFontHeight() * 2 );
@ -102,7 +107,7 @@ WelcomePage::WelcomePage( RequirementsChecker* requirementsChecker, QWidget* par
mb.exec();
} );
ui->verticalLayout->insertWidget( 3, m_requirementsChecker->widget() );
ui->verticalLayout->insertWidget( 3, m_checkingWidget);
}
@ -257,3 +262,7 @@ WelcomePage::focusInEvent( QFocusEvent* e )
e->accept();
}
bool WelcomePage::verdict() const
{
return m_checkingWidget->verdict();
}