show media title

This commit is contained in:
Anika Raemer 2018-12-07 19:18:57 +01:00
parent 2ddeee2d73
commit beba95ccef
3 changed files with 30 additions and 0 deletions

View file

@ -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

View file

@ -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();
}

View file

@ -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;