From 3b1c5a1db9dd07d511a239018f4765a05f8931f8 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 6 Sep 2013 19:05:34 +0000 Subject: fixed 'repeat playlist' feature git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3683 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/playlistmanager.cpp | 5 +++++ src/qmmpui/playstate.cpp | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp index 6acd9b94b..dbeeed16e 100644 --- a/src/qmmpui/playlistmanager.cpp +++ b/src/qmmpui/playlistmanager.cpp @@ -176,6 +176,7 @@ PlayListModel *PlayListManager::createPlayList(const QString &name) m_models.append(model); model->prepareForRepeatablePlaying(m_repeatable); model->prepareForShufflePlaying(m_shuffle); + model->prepareGroups(m_groups_enabled); connect(model, SIGNAL(nameChanged(QString)), SIGNAL(playListsChanged())); if (m_autosave_playlist) connect(model, SIGNAL(countChanged()), m_timer, SLOT(start())); @@ -365,6 +366,10 @@ void PlayListManager::readPlayLists() connect(model, SIGNAL(nameChanged(QString)), SIGNAL(playListsChanged())); if (m_autosave_playlist) connect(model, SIGNAL(countChanged()), m_timer, SLOT(start())); + if(m_repeatable) + model->prepareForRepeatablePlaying(true); + if(m_shuffle) + model->prepareForShufflePlaying(true); } } diff --git a/src/qmmpui/playstate.cpp b/src/qmmpui/playstate.cpp index f16f4c85c..7744e56bb 100644 --- a/src/qmmpui/playstate.cpp +++ b/src/qmmpui/playstate.cpp @@ -163,9 +163,13 @@ int NormalPlayState::nextIndex() if (m_model->currentIndex() == m_model->count() - 1) { if (m_model->isRepeatableList()) - return 0; - else - return -1; + { + if(m_model->isTrack(0)) + return 0; + else if(m_model->isTrack(1)) + return 1; + } + return -1; } if(m_model->isTrack(m_model->currentIndex() + 1)) return m_model->currentIndex() + 1; -- cgit v1.2.3-13-gbd6f