show media title
This commit is contained in:
parent
2ddeee2d73
commit
beba95ccef
3 changed files with 30 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue