From 83301f7d3943cc55b6dc1cdc5a503d1fdb128b29 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 13 Aug 2013 15:01:53 +0000 Subject: fixed saving of current track git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3589 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/playlistmanager.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp index ba644024a..f6774e4b4 100644 --- a/src/qmmpui/playlistmanager.cpp +++ b/src/qmmpui/playlistmanager.cpp @@ -278,7 +278,7 @@ bool PlayListManager::isShuffle() const void PlayListManager::readPlayLists() { QString line, param, value; - int s = 0, row = 0, pl = 0; + int s = 0, current = 0, pl = 0; QList tracks; QFile file(QDir::homePath() +"/.qmmp/playlist.txt"); file.open(QIODevice::ReadOnly); @@ -300,19 +300,18 @@ void PlayListManager::readPlayLists() pl = value.toInt(); else if(param == "playlist") { - if(!m_models.isEmpty()) { m_models.last()->add(tracks); - m_models.last()->setCurrent(row); + m_models.last()->setCurrent(tracks.at(qBound(0, current, tracks.count()-1))); } tracks.clear(); - row = 0; + current = 0; m_models << new PlayListModel(value, this); } else if (param == "current") { - row = value.toInt(); + current = value.toInt(); } else if (param == "file") { @@ -346,7 +345,7 @@ void PlayListManager::readPlayLists() if(!m_models.isEmpty()) { m_models.last()->add(tracks); - m_models.last()->setCurrent(row); + m_models.last()->setCurrent(tracks.at(qBound(0, current, tracks.count()-1))); } else m_models << new PlayListModel(tr("Playlist"),this); @@ -372,7 +371,7 @@ void PlayListManager::writePlayLists() { QList items = model->items(); file.write(QString("playlist=%1\n").arg(model->name()).toUtf8()); - file.write(QString("current=%1\n").arg(model->currentIndex()).toUtf8()); + file.write(QString("current=%1\n").arg(model->numberOfTrack(model->currentIndex())).toUtf8()); foreach(PlayListItem* m, items) { if(m->isGroup()) -- cgit v1.2.3-13-gbd6f