[libcalamares] Remove runaround through free function

- Call into a method directly to do the work of adding
  results from a single module.
main
Adriaan de Groot 5 years ago
parent b7c60cec66
commit 9b0ea3f63d

@ -52,18 +52,6 @@ registerMetatypes()
}
}
static void
check( Module* const& m, RequirementsChecker* c )
{
RequirementsList l = m->checkRequirements();
if ( l.count() > 0 )
{
c->addCheckedRequirements( l );
}
c->requirementsProgress(
QObject::tr( "Requirements checking for module <i>%1</i> is complete." ).arg( m->name() ) );
}
RequirementsChecker::RequirementsChecker( QVector< Module* > modules, RequirementsModel* model, QObject* parent )
: QObject( parent )
, m_modules( std::move( modules ) )
@ -88,7 +76,7 @@ RequirementsChecker::run()
for ( const auto& module : m_modules )
{
Watcher* watcher = new Watcher( this );
watcher->setFuture( QtConcurrent::run( check, module, this ) );
watcher->setFuture( QtConcurrent::run( this, &RequirementsChecker::addCheckedRequirements, module ) );
watcher->setObjectName( module->name() );
m_watchers.append( watcher );
connect( watcher, &Watcher::finished, this, &RequirementsChecker::finished );
@ -122,10 +110,17 @@ RequirementsChecker::finished()
}
void
RequirementsChecker::addCheckedRequirements( RequirementsList l )
RequirementsChecker::addCheckedRequirements( Module* m )
{
m_model->addRequirementsList( l );
cDebug() << "Added" << l.count() << "requirement results";
RequirementsList l = m->checkRequirements();
cDebug() << "Got" << l.count() << "requirement results from" << m->name();
if ( l.count() > 0 )
{
m_model->addRequirementsList( l );
}
requirementsProgress(
tr( "Requirements checking for module <i>%1</i> is complete." ).arg( m->name() ) );
emit requirementsResult( l );
}

@ -49,7 +49,7 @@ public Q_SLOTS:
void run();
/// @brief Called when requirements are reported by a module
void addCheckedRequirements( RequirementsList );
void addCheckedRequirements( Module* );
/// @brief Called when all requirements have been checked
void finished();

Loading…
Cancel
Save