diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-09-06 19:05:34 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-09-06 19:05:34 +0000 |
| commit | 3b1c5a1db9dd07d511a239018f4765a05f8931f8 (patch) | |
| tree | cfc349e53610bc95747c468243482b15bfc2df66 /src/qmmpui | |
| parent | 70637af7415d4b318355eaf670611331908530f2 (diff) | |
| download | qmmp-3b1c5a1db9dd07d511a239018f4765a05f8931f8.tar.gz qmmp-3b1c5a1db9dd07d511a239018f4765a05f8931f8.tar.bz2 qmmp-3b1c5a1db9dd07d511a239018f4765a05f8931f8.zip | |
fixed 'repeat playlist' feature
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3683 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui')
| -rw-r--r-- | src/qmmpui/playlistmanager.cpp | 5 | ||||
| -rw-r--r-- | src/qmmpui/playstate.cpp | 10 |
2 files changed, 12 insertions, 3 deletions
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; |
