aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-08-06 12:13:13 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-08-06 12:13:13 +0000
commit883075834d6225933db812abcefcca0481d4a3da (patch)
tree5d895783e3d3b819de32a6cd594642e90373605d
parent0400576a8c05ad71c7d3a8b0d411da970704643a (diff)
downloadqmmp-883075834d6225933db812abcefcca0481d4a3da.tar.gz
qmmp-883075834d6225933db812abcefcca0481d4a3da.tar.bz2
qmmp-883075834d6225933db812abcefcca0481d4a3da.zip
fixed "save playlist" action
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3571 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmpui/playlistmodel.cpp31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 6bb043963..c60c7da00 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -891,22 +891,27 @@ void PlayListModel::loadPlaylist(const QString &f_name)
void PlayListModel::savePlaylist(const QString & f_name)
{
- /*PlayListFormat* prs = PlayListParser::findByPath(f_name);
- if (prs)
+ PlayListFormat* prs = PlayListParser::findByPath(f_name);
+ if (!prs)
+ return;
+
+ QFile file(f_name);
+ if (file.open(QIODevice::WriteOnly))
{
- QFile file(f_name);
- if (file.open(QIODevice::WriteOnly))
+ QTextStream ts(&file);
+ QList <PlayListTrack *> songs;
+ for(int i = 0; i < m_container.count(); ++i)
{
- QTextStream ts(&file);
- QList <PlayListItem *> songs;
- foreach(PlayListItem* item, m_items)
- songs << item;
- ts << prs->encode(songs);
- file.close();
+ if(!isTrack(i))
+ continue;
+ songs << m_container.track(i);
}
- else
- qWarning("Error opening %s",f_name.toLocal8Bit().data());
- }*/
+ ts << prs->encode(songs);
+ file.close();
+ }
+ else
+ qWarning("Error opening %s",f_name.toLocal8Bit().data());
+
}
bool PlayListModel::isRepeatableList() const