diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-08-05 13:14:32 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-08-05 13:14:32 +0000 |
| commit | 664d78f03b2ae95368c70ca8a45cc746a1612ccd (patch) | |
| tree | d6983ddd4375108e4725e5a78417f3adaf7722fc /src/qmmpui/playstate.cpp | |
| parent | f8202ba35a4daf0f71c1cc81e46a655a8149cccf (diff) | |
| download | qmmp-664d78f03b2ae95368c70ca8a45cc746a1612ccd.tar.gz qmmp-664d78f03b2ae95368c70ca8a45cc746a1612ccd.tar.bz2 qmmp-664d78f03b2ae95368c70ca8a45cc746a1612ccd.zip | |
fixed some regressions
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3567 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/playstate.cpp')
| -rw-r--r-- | src/qmmpui/playstate.cpp | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/src/qmmpui/playstate.cpp b/src/qmmpui/playstate.cpp index 6676bc074..b06f1e659 100644 --- a/src/qmmpui/playstate.cpp +++ b/src/qmmpui/playstate.cpp @@ -115,21 +115,22 @@ NormalPlayState::NormalPlayState(PlayListModel * model) : PlayState(model) bool NormalPlayState::next() { - int item_count = m_model->items().count(); - - if(!item_count) + if(!m_model->count()) return false; - if (m_model->isRepeatableList() && m_model->currentIndex() == item_count - 1) + if (m_model->isRepeatableList() && m_model->currentIndex() == m_model->count() - 1) { - if(item_count >= 1 && m_model->track(0)) + if(m_model->track(0)) return m_model->setCurrent(0); - else if(item_count >= 2 && m_model->track(1)) + else if(m_model->count() >= 2 && m_model->track(1)) return m_model->setCurrent(1); + else + return false; } - else if(m_model->track((m_model->currentIndex() + 1))) + + if(m_model->track((m_model->currentIndex() + 1))) return m_model->setCurrent(m_model->currentIndex() + 1); - else if(m_model->currentIndex() + 2 >= item_count) + else if(m_model->currentIndex() + 2 > m_model->count() - 1) return false; else if(m_model->track(m_model->currentIndex() + 2)) return m_model->setCurrent(m_model->currentIndex() + 2); @@ -138,50 +139,45 @@ bool NormalPlayState::next() bool NormalPlayState::previous() { - int item_count = m_model->items().count(); - - if(!item_count) + if(!m_model->count()) return false; if(m_model->isRepeatableList()) { - if(m_model->currentIndex() == 1 && m_model->track(0)) - return m_model->setCurrent(0); - else if(m_model->currentIndex() == 1 && !m_model->track(0)) - return (m_model->setCurrent(m_model->currentIndex() - 1)); + if(m_model->currentIndex() == 1 && !m_model->isTrack(0)) + return (m_model->setCurrent(m_model->count() - 1)); else if(m_model->currentIndex() == 0) - return m_model->setCurrent(m_model->currentIndex() - 1); + return m_model->setCurrent(m_model->count() - 1); } - if(m_model->currentIndex() == 0) + if(m_model->currentIndex() == 1 && !m_model->isTrack(0)) return false; - else if(m_model->track(m_model->currentIndex() - 1)) + else if(m_model->currentIndex() == 0) + return false; + else if(m_model->isTrack(m_model->currentIndex() - 1)) return m_model->setCurrent(m_model->currentIndex() - 1); - else if(m_model->currentIndex() >= 2 && m_model->track(m_model->currentIndex() - 2)) + else if(m_model->currentIndex() >= 2 && m_model->isTrack(m_model->currentIndex() - 2)) return m_model->setCurrent(m_model->currentIndex() - 2); - return false; } int NormalPlayState::nextIndex() { - int item_count = m_model->items().count(); - if(!item_count) + if(!m_model->count()) return -1; - if (m_model->currentIndex() == item_count - 1) + if (m_model->currentIndex() == m_model->count() - 1) { if (m_model->isRepeatableList()) return 0; else return -1; } - if(m_model->track(m_model->currentIndex() + 1)) + if(m_model->isTrack(m_model->currentIndex() + 1)) return m_model->currentIndex() + 1; - else if(m_model->currentIndex() + 2 >= m_model->count()) + else if(m_model->currentIndex() + 2 > m_model->count() - 1) return -1; - else if(m_model->track(m_model->currentIndex() + 2)) + else if(m_model->isTrack(m_model->currentIndex() + 2)) return m_model->currentIndex() + 2; return -1; } - |
