mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
mobile/statistics: export ChartListModel to QML
For QML, the roles have to be associated dynamically with name. Moreover, the model has to be registered as a QML type to make it accessible from QML. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
e5c30e042b
commit
46bb242c69
3 changed files with 15 additions and 0 deletions
|
@ -60,6 +60,18 @@ Qt::ItemFlags ChartListModel::flags(const QModelIndex &index) const
|
|||
: Qt::ItemIsSelectable | Qt::ItemIsEnabled;
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> ChartListModel::roleNames() const
|
||||
{
|
||||
QHash<int, QByteArray> roles;
|
||||
roles[Qt::DisplayRole] = "display";
|
||||
roles[IconRole] = "icon";
|
||||
roles[IconSizeRole] = "iconSize";
|
||||
roles[ChartNameRole] = "chartName";
|
||||
roles[IsHeaderRole] = "isHeader";
|
||||
roles[Qt::UserRole] = "id";
|
||||
return roles;
|
||||
}
|
||||
|
||||
QVariant ChartListModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
int row = index.row();
|
||||
|
|
|
@ -44,6 +44,7 @@ private:
|
|||
QFont itemFont;
|
||||
QFont headerFont;
|
||||
std::vector<Item> items;
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
int rowCount(const QModelIndex &parent) const override;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
Qt::ItemFlags flags(const QModelIndex &index) const override;
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "mobile-widgets/qmlmanager.h"
|
||||
#include "mobile-widgets/qmlinterface.h"
|
||||
#include "mobile-widgets/statsmanager.h"
|
||||
#include "stats/chartlistmodel.h"
|
||||
#include "qt-models/divesummarymodel.h"
|
||||
#include "qt-models/gpslistmodel.h"
|
||||
#include "qt-models/messagehandlermodel.h"
|
||||
|
@ -212,6 +213,7 @@ static void register_qml_types(QQmlEngine *engine)
|
|||
register_qml_type<QMLProfile>("QMLProfile");
|
||||
register_qml_type<DiveImportedModel>("DCImportModel");
|
||||
register_qml_type<DiveSummaryModel>("DiveSummaryModel");
|
||||
register_qml_type<ChartListModel>("ChartListModel");
|
||||
#endif // not SUBSURFACE_MOBILE
|
||||
|
||||
register_qml_type<MapWidgetHelper>("MapWidgetHelper");
|
||||
|
|
Loading…
Reference in a new issue