#ifndef NAVIGATIONCONTROLLER_H #define NAVIGATIONCONTROLLER_H #include #include class NavigationItemModel; class NavigationListModel; class UiStateModel; class MusicController; class NavigationController : public QObject { Q_OBJECT public: explicit NavigationController(QObject *parent = 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 = nullptr; private slots: void onNavigationRequest(); }; #endif // NAVIGATIONCONTROLLER_H