diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index cdbb9e546..43308d3d6 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -119,18 +119,7 @@ ViewManager::insertViewStep( int before, ViewStep* step ) emit beginInsertRows( QModelIndex(), before, before ); m_steps.insert( before, step ); connect( step, &ViewStep::enlarge, this, &ViewManager::enlarge ); - // TODO: this can be a regular slot - connect( step, &ViewStep::nextStatusChanged, this, [this]( bool status ) { - ViewStep* vs = qobject_cast< ViewStep* >( sender() ); - if ( vs && currentStepValid() ) - { - if ( vs == m_steps.at( m_currentStep ) ) - { - m_nextEnabled = status; - emit nextEnabledChanged( m_nextEnabled ); - } - } - } ); + connect( step, &ViewStep::nextStatusChanged, this, &ViewManager::updateNextStatus ); if ( !step->widget() ) { @@ -250,6 +239,21 @@ ViewManager::onInitComplete() } } +void +ViewManager::updateNextStatus( bool status ) +{ + ViewStep* vs = qobject_cast< ViewStep* >( sender() ); + if ( vs && currentStepValid() ) + { + if ( vs == m_steps.at( m_currentStep ) ) + { + m_nextEnabled = status; + emit nextEnabledChanged( m_nextEnabled ); + } + } +} + + ViewStepList ViewManager::viewSteps() const { diff --git a/src/libcalamaresui/ViewManager.h b/src/libcalamaresui/ViewManager.h index 52ead698b..6c283cfbe 100644 --- a/src/libcalamaresui/ViewManager.h +++ b/src/libcalamaresui/ViewManager.h @@ -190,6 +190,9 @@ public Q_SLOTS: */ void onInitComplete(); + /// @brief Connected to ViewStep::nextStatusChanged for all steps + void updateNextStatus( bool enabled ); + signals: void currentStepChanged(); void enlarge( QSize enlarge ) const; // See ViewStep::enlarge()