#ifndef NAVIGATIONLISTMODEL_H #define NAVIGATIONLISTMODEL_H #include class NavigationItemModel; /** * @brief Model containing navigation items and handling navigation. * @todo Check whether we can use QAbstractListModel here! */ class NavigationListModel : public QObject { Q_OBJECT Q_PROPERTY( QList pModelItems READ getModelItems NOTIFY modelItemsChanged) Q_PROPERTY(bool pIsBackVisible READ isBackVisible NOTIFY modelItemsChanged) signals: void modelItemsChanged(); public: explicit NavigationListModel(QObject* parent = nullptr) : QObject(parent) { /* nothing */ } QList getModelItems(); void setModelItems(const QList& list); bool isBackVisible(); void navigateTo(NavigationItemModel* item); Q_INVOKABLE void navigateBack(); private: QList mItems; bool mIsBackVisible = false; }; #endif // NAVIGATIONLISTMODEL_H