From beba95ccef0458be484ae6b0a57f8485eb4d784f Mon Sep 17 00:00:00 2001 From: Anika Raemer Date: Fri, 7 Dec 2018 19:18:57 +0100 Subject: [PATCH] show media title --- LenaPi/MediaProgress.qml | 8 ++++++++ LenaPi/models/MusicModel.cpp | 17 +++++++++++++++++ LenaPi/models/MusicModel.h | 5 +++++ 3 files changed, 30 insertions(+) diff --git a/LenaPi/MediaProgress.qml b/LenaPi/MediaProgress.qml index 3a124f9..35e948f 100644 --- a/LenaPi/MediaProgress.qml +++ b/LenaPi/MediaProgress.qml @@ -6,6 +6,14 @@ Item { id: container property var model + Label{ + anchors.left: progress.left + anchors.bottom: progress.top + font.pointSize: 9 + color: "grey" + text: model.pMediaTitle + } + Label{ anchors.right: progress.right anchors.bottom: progress.top diff --git a/LenaPi/models/MusicModel.cpp b/LenaPi/models/MusicModel.cpp index 387f8d9..2fbd3a9 100644 --- a/LenaPi/models/MusicModel.cpp +++ b/LenaPi/models/MusicModel.cpp @@ -38,6 +38,8 @@ void MusicModel::init(NavigationItemModel *item) mMedia->addMedia(new VlcMedia(dir.filePath(file), true, mVlc)); } } + + setMediaTitle(mMedia->at(0)); } void MusicModel::navigateBack() @@ -115,6 +117,11 @@ double MusicModel::getProgress() const return mCurrentMediaItemProgress; } +QString MusicModel::getMediaTitle() const +{ + return mMediaTitle; +} + QString MusicModel::getMediaLength() { return timeToString(mCurrentMediaItemLength); @@ -127,6 +134,8 @@ QString MusicModel::getTime() void MusicModel::onNextMediaSet(VlcMedia *media) { + setMediaTitle(media); + mHasNext = true; mHasPrevious = true; if(mMedia->at(0) == media){ @@ -175,3 +184,11 @@ QString MusicModel::timeToString(int time) QString secStr = sec < 10 ? "0"+QString::number(sec) : QString::number(sec); return QString::number(min) + ":" + secStr; } + +void MusicModel::setMediaTitle(VlcMedia *media) +{ + auto list = media->currentLocation().split("/"); + auto title = list.at(list.count() -1 ); + mMediaTitle = title.left(title.lastIndexOf(".")); + emit mediaTitleChanged(); +} diff --git a/LenaPi/models/MusicModel.h b/LenaPi/models/MusicModel.h index 76fee93..a680e31 100644 --- a/LenaPi/models/MusicModel.h +++ b/LenaPi/models/MusicModel.h @@ -17,6 +17,7 @@ class MusicModel : public QObject Q_PROPERTY(double pProgress READ getProgress NOTIFY progressChanged) Q_PROPERTY(QString pMediaLength READ getMediaLength NOTIFY mediaLengthChanged) Q_PROPERTY(QString pTime READ getTime NOTIFY progressChanged) + Q_PROPERTY(QString pMediaTitle READ getMediaTitle NOTIFY mediaTitleChanged) signals: void navigateTo(NavigationItemModel *item); @@ -31,6 +32,7 @@ signals: void isPlayingChanged(); void progressChanged(); void mediaLengthChanged(); + void mediaTitleChanged(); public: MusicModel(VlcInstance* instance, QObject *parent = Q_NULLPTR); @@ -54,6 +56,7 @@ public: double getProgress() const; + QString getMediaTitle() const; QString getMediaLength(); QString getTime(); @@ -65,6 +68,7 @@ public slots: private: void reset(); QString timeToString(int time); + void setMediaTitle(VlcMedia* media); bool mIsPlaying = false; bool mHasNext = false; @@ -72,6 +76,7 @@ private: int mCurrentMediaItemLength = 0; int mCurrentTime = 0; double mCurrentMediaItemProgress = 0; + QString mMediaTitle = QString(""); NavigationItemModel* mCurrentItem = Q_NULLPTR; VlcMediaList* mMedia = Q_NULLPTR; VlcInstance* mVlc;