Add ViewStepItem ctor overload that takes a callback.
Needed when a ViewStep doesn't exist yet when the VSI is created.
This commit is contained in:
parent
171248ad4f
commit
9d5ab4bf98
@ -23,13 +23,24 @@
|
||||
#include "viewpages/ViewStep.h"
|
||||
|
||||
|
||||
ViewStepItem::ViewStepItem( const Calamares::ViewStep* step, ProgressTreeItem* parent )
|
||||
ViewStepItem::ViewStepItem( const QString& prettyName,
|
||||
std::function< const Calamares::ViewStep*() > accessor,
|
||||
ProgressTreeItem* parent )
|
||||
: ProgressTreeItem( parent )
|
||||
, m_step( 0 )
|
||||
, m_prettyName( prettyName )
|
||||
{
|
||||
m_accessor = accessor;
|
||||
}
|
||||
|
||||
|
||||
ViewStepItem::ViewStepItem( const Calamares::ViewStep* step,
|
||||
ProgressTreeItem* parent )
|
||||
: ProgressTreeItem( parent )
|
||||
{
|
||||
m_step = step;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ViewStepItem::appendChild( ProgressTreeItem* item )
|
||||
{
|
||||
@ -43,8 +54,10 @@ ViewStepItem::data( int role ) const
|
||||
if ( role == ProgressTreeModel::ProgressTreeItemRole )
|
||||
return this;
|
||||
if ( role == Qt::DisplayRole )
|
||||
return m_step->prettyName();
|
||||
return m_step ? m_step->prettyName() : m_prettyName;
|
||||
if ( role == ProgressTreeModel::ProgressTreeItemCurrentRole )
|
||||
return Calamares::ViewManager::instance()->currentStep() == m_step;
|
||||
return m_step ?
|
||||
( Calamares::ViewManager::instance()->currentStep() == m_step ) :
|
||||
( Calamares::ViewManager::instance()->currentStep() == m_accessor() );
|
||||
return QVariant();
|
||||
}
|
||||
|
@ -21,6 +21,8 @@
|
||||
|
||||
#include "ProgressTreeItem.h"
|
||||
|
||||
#include <functional>
|
||||
|
||||
namespace Calamares
|
||||
{
|
||||
class ViewStep;
|
||||
@ -29,13 +31,20 @@ class ViewStep;
|
||||
class ViewStepItem : public ProgressTreeItem
|
||||
{
|
||||
public:
|
||||
explicit ViewStepItem( const Calamares::ViewStep* step, ProgressTreeItem* parent = nullptr );
|
||||
explicit ViewStepItem( const QString& prettyName,
|
||||
std::function< const Calamares::ViewStep*() > accessor,
|
||||
ProgressTreeItem* parent = nullptr );
|
||||
|
||||
explicit ViewStepItem( const Calamares::ViewStep* step,
|
||||
ProgressTreeItem* parent = nullptr );
|
||||
|
||||
void appendChild( ProgressTreeItem* item ) override;
|
||||
|
||||
QVariant data( int role ) const override;
|
||||
|
||||
private:
|
||||
std::function< const Calamares::ViewStep*() > m_accessor;
|
||||
QString m_prettyName;
|
||||
const Calamares::ViewStep* m_step;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user