[packagechooser] Add selection modes
- Introduce different selection modes (most don't work yet) - Use model data in the main widget
This commit is contained in:
parent
86e2e6242f
commit
2272d2ab43
@ -58,9 +58,11 @@ PackageChooserPage::currentChanged( const QModelIndex& index )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui->productName->setText( QString::number( index.row() ) );
|
const auto* model = ui->products->model();
|
||||||
ui->productScreenshot->hide();
|
|
||||||
ui->productDescription->setText( "derp" );
|
ui->productName->setText( model->data( index, PackageListModel::NameRole ).toString() );
|
||||||
|
ui->productScreenshot->setPixmap( model->data( index, PackageListModel::ScreenshotRole ).value< QPixmap >() );
|
||||||
|
ui->productDescription->setText( model->data( index, PackageListModel::DescriptionRole ).toString() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,10 +83,18 @@ PackageListModel::data( const QModelIndex& index, int role ) const
|
|||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( role == Qt::DisplayRole )
|
if ( role == Qt::DisplayRole /* Also PackageNameRole */ )
|
||||||
{
|
{
|
||||||
return m_packages[ row ].name;
|
return m_packages[ row ].name;
|
||||||
}
|
}
|
||||||
|
else if ( role == DescriptionRole )
|
||||||
|
{
|
||||||
|
return m_packages[ row ].description;
|
||||||
|
}
|
||||||
|
else if ( role == ScreenshotRole )
|
||||||
|
{
|
||||||
|
return m_packages[ row ].screenshot;
|
||||||
|
}
|
||||||
|
|
||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
@ -70,6 +70,13 @@ public:
|
|||||||
int rowCount( const QModelIndex& index ) const override;
|
int rowCount( const QModelIndex& index ) const override;
|
||||||
QVariant data( const QModelIndex& index, int role ) const override;
|
QVariant data( const QModelIndex& index, int role ) const override;
|
||||||
|
|
||||||
|
enum Roles : int
|
||||||
|
{
|
||||||
|
NameRole = Qt::DisplayRole,
|
||||||
|
DescriptionRole = Qt::UserRole,
|
||||||
|
ScreenshotRole
|
||||||
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PackageList m_packages;
|
PackageList m_packages;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user