#ifndef NAVIGATIONCONTROLLER_H #define NAVIGATIONCONTROLLER_H #include #include class NavigationItemModel; class NavigationListModel; class UiStateModel; class MusicController; class NavigationController : public QObject { Q_OBJECT public: NavigationController(QObject *parent = Q_NULLPTR); void init(const QString & rootPath); void setContext(QQmlContext* context); private: void setContextProperties(); void add(const QString & path, NavigationItemModel* parentItem); bool checkContent(const QString& path); NavigationItemModel* mRootItem; NavigationListModel* mNavList; UiStateModel* mUiState; MusicController* mMusicController; QString mRootPath = "."; QQmlContext* mContext = Q_NULLPTR; private slots: void onNavigationRequest(); }; #endif // NAVIGATIONCONTROLLER_H