aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-09-06 19:05:34 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-09-06 19:05:34 +0000
commit3b1c5a1db9dd07d511a239018f4765a05f8931f8 (patch)
treecfc349e53610bc95747c468243482b15bfc2df66 /src/qmmpui
parent70637af7415d4b318355eaf670611331908530f2 (diff)
downloadqmmp-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.cpp5
-rw-r--r--src/qmmpui/playstate.cpp10
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;