finished navigation including music player and navigate back
functionality
This commit is contained in:
parent
d6cb29ae7b
commit
6f5c9138a8
12 changed files with 213 additions and 11 deletions
32
LenaPi/models/MusicModel.cpp
Normal file
32
LenaPi/models/MusicModel.cpp
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#include "MusicModel.h"
|
||||
|
||||
MusicModel::MusicModel(QObject *parent) : QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void MusicModel::init(NavigationItemModel *item)
|
||||
{
|
||||
mCurrentItem = item;
|
||||
emit currentItemChanged();
|
||||
}
|
||||
|
||||
void MusicModel::navigateBack()
|
||||
{
|
||||
emit navigateTo(mCurrentItem);
|
||||
}
|
||||
|
||||
void MusicModel::playPause()
|
||||
{
|
||||
mIsPlaying = !mIsPlaying;
|
||||
}
|
||||
|
||||
NavigationItemModel *MusicModel::getCurrentItem()
|
||||
{
|
||||
return mCurrentItem;
|
||||
}
|
||||
|
||||
bool MusicModel::isPlaying()
|
||||
{
|
||||
return mIsPlaying;
|
||||
}
|
||||
35
LenaPi/models/MusicModel.h
Normal file
35
LenaPi/models/MusicModel.h
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
#ifndef MUSICMODEL_H
|
||||
#define MUSICMODEL_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include <models/NavigationItemModel.h>
|
||||
|
||||
class MusicModel : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QObject* pCurrentItem READ getCurrentItem NOTIFY currentItemChanged)
|
||||
|
||||
signals:
|
||||
void navigateTo(NavigationItemModel *item);
|
||||
void currentItemChanged();
|
||||
|
||||
public:
|
||||
MusicModel(QObject *parent = Q_NULLPTR);
|
||||
|
||||
void init(NavigationItemModel* item);
|
||||
|
||||
Q_INVOKABLE void navigateBack();
|
||||
Q_INVOKABLE void playPause();
|
||||
|
||||
NavigationItemModel *getCurrentItem();
|
||||
|
||||
bool isPlaying();
|
||||
|
||||
private:
|
||||
bool mIsPlaying = false;
|
||||
NavigationItemModel* mCurrentItem = Q_NULLPTR;
|
||||
};
|
||||
|
||||
#endif // MUSICMODEL_H
|
||||
|
|
@ -7,6 +7,7 @@ NavigationItemModel::NavigationItemModel(QObject *parent) : QObject(parent),
|
|||
mImageSource("qrc:/default_image"),
|
||||
mParentItem(qobject_cast<NavigationItemModel*>(parent))
|
||||
{
|
||||
qRegisterMetaType<NavigationItemModel*>("NavigationItemModel*");
|
||||
}
|
||||
|
||||
QString NavigationItemModel::getImageSource() const
|
||||
|
|
|
|||
21
LenaPi/models/UiStateModel.cpp
Normal file
21
LenaPi/models/UiStateModel.cpp
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#include "UiStateModel.h"
|
||||
|
||||
UiStateModel::UiStateModel(QObject *parent) : QObject(parent)
|
||||
{
|
||||
showNavigation();
|
||||
}
|
||||
|
||||
QUrl UiStateModel::getSource() const
|
||||
{
|
||||
return mSource;
|
||||
}
|
||||
|
||||
void UiStateModel::showMusicPlayer(){
|
||||
mSource = QUrl("MusicPlayer.qml");
|
||||
emit sourceChanged();
|
||||
}
|
||||
|
||||
void UiStateModel::showNavigation(){
|
||||
mSource = QUrl("Navigation.qml");
|
||||
emit sourceChanged();
|
||||
}
|
||||
28
LenaPi/models/UiStateModel.h
Normal file
28
LenaPi/models/UiStateModel.h
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
#ifndef UISTATEMODEL_H
|
||||
#define UISTATEMODEL_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QUrl>
|
||||
|
||||
class UiStateModel : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QUrl pSource READ getSource NOTIFY sourceChanged)
|
||||
|
||||
signals:
|
||||
void sourceChanged();
|
||||
|
||||
public:
|
||||
UiStateModel(QObject *parent = Q_NULLPTR);
|
||||
|
||||
QUrl getSource() const;
|
||||
|
||||
void showMusicPlayer();
|
||||
void showNavigation();
|
||||
|
||||
private:
|
||||
QUrl mSource;
|
||||
};
|
||||
|
||||
#endif // UISTATEMODEL_H
|
||||
Loading…
Add table
Add a link
Reference in a new issue