diff options
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; |
