reset playlist to first track on stop
This commit is contained in:
parent
39a0356a51
commit
a483a380d6
2 changed files with 21 additions and 5 deletions
|
|
@ -33,7 +33,7 @@ void MusicPlayer::init(NavigationItemModel *item)
|
||||||
mCurrentItem = item;
|
mCurrentItem = item;
|
||||||
emit coverImageSourceChanged();
|
emit coverImageSourceChanged();
|
||||||
|
|
||||||
clearMediaList();
|
clearPlaylist();
|
||||||
|
|
||||||
readMedia(mCurrentItem->getPath());
|
readMedia(mCurrentItem->getPath());
|
||||||
}
|
}
|
||||||
|
|
@ -55,6 +55,7 @@ void MusicPlayer::stopMusic()
|
||||||
{
|
{
|
||||||
if(isPlaying()){
|
if(isPlaying()){
|
||||||
stop();
|
stop();
|
||||||
|
resetPlaylistToFirstTrack();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,10 +67,16 @@ void MusicPlayer::playNext()
|
||||||
|
|
||||||
void MusicPlayer::playPrevious()
|
void MusicPlayer::playPrevious()
|
||||||
{
|
{
|
||||||
if(!hasPrevious()) return;
|
if(!hasPrevious()) return; // checks if playlist exists
|
||||||
playlist()->previous();
|
playlist()->previous();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MusicPlayer::resetPlaylistToFirstTrack()
|
||||||
|
{
|
||||||
|
if(!playlist() && !playlist()->isEmpty()) return;
|
||||||
|
playlist()->setCurrentIndex(0);
|
||||||
|
}
|
||||||
|
|
||||||
bool MusicPlayer::isPlaying() const
|
bool MusicPlayer::isPlaying() const
|
||||||
{
|
{
|
||||||
return state() == State::PlayingState;
|
return state() == State::PlayingState;
|
||||||
|
|
@ -117,7 +124,7 @@ QString MusicPlayer::getTime()
|
||||||
return timeToString(position());
|
return timeToString(position());
|
||||||
}
|
}
|
||||||
|
|
||||||
void MusicPlayer::clearMediaList()
|
void MusicPlayer::clearPlaylist()
|
||||||
{
|
{
|
||||||
if(playlist()){
|
if(playlist()){
|
||||||
playlist()->clear();
|
playlist()->clear();
|
||||||
|
|
|
||||||
|
|
@ -62,9 +62,18 @@ public slots:
|
||||||
void playPrevious();
|
void playPrevious();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void reset();
|
/**
|
||||||
void clearMediaList();
|
* @brief Resets playlist to first track if playlist exists and is non-empty
|
||||||
|
*/
|
||||||
|
void resetPlaylistToFirstTrack();
|
||||||
|
void clearPlaylist();
|
||||||
void readMedia(const QString& path);
|
void readMedia(const QString& path);
|
||||||
|
/**
|
||||||
|
* @brief Transforms time in milliseconds into a string
|
||||||
|
* @param time Time in ms
|
||||||
|
* @return
|
||||||
|
* @todo use QDateTime
|
||||||
|
*/
|
||||||
QString timeToString(int time);
|
QString timeToString(int time);
|
||||||
|
|
||||||
int mCurrentMediaItemLength = 0;
|
int mCurrentMediaItemLength = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue