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"
|
#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 )
|
: ProgressTreeItem( parent )
|
||||||
{
|
{
|
||||||
m_step = step;
|
m_step = step;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ViewStepItem::appendChild( ProgressTreeItem* item )
|
ViewStepItem::appendChild( ProgressTreeItem* item )
|
||||||
{
|
{
|
||||||
@ -43,8 +54,10 @@ ViewStepItem::data( int role ) const
|
|||||||
if ( role == ProgressTreeModel::ProgressTreeItemRole )
|
if ( role == ProgressTreeModel::ProgressTreeItemRole )
|
||||||
return this;
|
return this;
|
||||||
if ( role == Qt::DisplayRole )
|
if ( role == Qt::DisplayRole )
|
||||||
return m_step->prettyName();
|
return m_step ? m_step->prettyName() : m_prettyName;
|
||||||
if ( role == ProgressTreeModel::ProgressTreeItemCurrentRole )
|
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();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#include "ProgressTreeItem.h"
|
#include "ProgressTreeItem.h"
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
namespace Calamares
|
namespace Calamares
|
||||||
{
|
{
|
||||||
class ViewStep;
|
class ViewStep;
|
||||||
@ -29,13 +31,20 @@ class ViewStep;
|
|||||||
class ViewStepItem : public ProgressTreeItem
|
class ViewStepItem : public ProgressTreeItem
|
||||||
{
|
{
|
||||||
public:
|
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;
|
void appendChild( ProgressTreeItem* item ) override;
|
||||||
|
|
||||||
QVariant data( int role ) const override;
|
QVariant data( int role ) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
std::function< const Calamares::ViewStep*() > m_accessor;
|
||||||
|
QString m_prettyName;
|
||||||
const Calamares::ViewStep* m_step;
|
const Calamares::ViewStep* m_step;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user