finished navigation including music player and navigate back

functionality
This commit is contained in:
Anika Raemer 2018-10-23 21:26:29 +02:00
parent d6cb29ae7b
commit 6f5c9138a8
12 changed files with 213 additions and 11 deletions

View file

@ -3,15 +3,21 @@
#include <QDir>
#include <QDebug>
#include "../models/NavigationItemModel.h"
#include "../models/NavigationListModel.h"
#include <models/NavigationItemModel.h>
#include <models/NavigationListModel.h>
#include <models/UiStateModel.h>
#include <controllers/MusicController.h>
///@todo impelement reaction to item's clicked signal; implement back navigation
NavigationController::NavigationController(QObject *parent) : QObject(parent),
mRootItem(new NavigationItemModel(this)),
mNavList(new NavigationListModel(this))
mNavList(new NavigationListModel(this)),
mUiState(new UiStateModel(this)),
mMusicController(new MusicController(this))
{
connect(mMusicController, &MusicController::navigateTo, [this](NavigationItemModel* item) {
mUiState->showNavigation();
mNavList->navigateTo(item);
});
}
void NavigationController::init(const QString &rootPath)
@ -29,11 +35,14 @@ void NavigationController::setContext(QQmlContext *context)
{
mContext = context;
setContextProperties();
mMusicController->setContext(mContext);
}
void NavigationController::setContextProperties()
{
if(!mContext) return;
mContext->setContextProperty("navigationList", mNavList);
mContext->setContextProperty("uiStateModel", mUiState);
}
void NavigationController::add(const QString &path, NavigationItemModel *parentItem)
@ -63,5 +72,8 @@ void NavigationController::onNavigationRequest()
if(item->hasChildren())
mNavList->setModelItems(item->getChildren());
///@todo else {mMusicController->initPlayer(item); mUiStateModel->showMusicPlayer();}
else {
mMusicController->initPlayer(item);
mUiState->showMusicPlayer();
}
}