aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistmodel.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-11-26 05:02:51 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-11-26 05:02:51 +0000
commitb67a746b18fecb139bfbbd52635dcec56da06ac5 (patch)
tree2de7550fe960bd2dc28a8b004482a07e652427b0 /src/qmmpui/playlistmodel.cpp
parent81ce1a88424aece4b638fd12c4ceb5b8cbadc2b7 (diff)
downloadqmmp-b67a746b18fecb139bfbbd52635dcec56da06ac5.tar.gz
qmmp-b67a746b18fecb139bfbbd52635dcec56da06ac5.tar.bz2
qmmp-b67a746b18fecb139bfbbd52635dcec56da06ac5.zip
added new api functions: PlayListParser::savePlayList and
PlayListParser::loadPlaylist git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3929 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
-rw-r--r--src/qmmpui/playlistmodel.cpp53
1 files changed, 6 insertions, 47 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index cd45d8cb2..3e930198f 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -809,60 +809,19 @@ void PlayListModel::doCurrentVisibleRequest()
void PlayListModel::loadPlaylist(const QString &f_name)
{
- if(!QFile::exists(f_name))
- return;
- PlayListFormat* prs = PlayListParser::findByPath(f_name);
- if(!prs)
- return;
-
- QFile file(f_name);
- if (!file.open(QIODevice::ReadOnly))
- {
- qWarning("PlayListModel: %s", qPrintable(file.errorString()));
- return;
- }
-
- //clear();
- QStringList list = prs->decode(QTextStream(&file).readAll());
- if(list.isEmpty())
- {
- qWarning("PlayListModel: error opening %s",qPrintable(f_name));
- }
- for (int i = 0; i < list.size(); ++i)
- {
- if(list.at(i).contains("://"))
- continue;
-
- if (QFileInfo(list.at(i)).isRelative())
- list[i].prepend(QFileInfo(f_name).canonicalPath () + QDir::separator ());
- }
+ QStringList list = PlayListParser::loadPlaylist(f_name);
m_loader->add(list);
- file.close();
}
-void PlayListModel::savePlaylist(const QString & f_name)
+void PlayListModel::savePlaylist(const QString &f_name)
{
- PlayListFormat* prs = PlayListParser::findByPath(f_name);
- if (!prs)
- return;
-
- QFile file(f_name);
- if (file.open(QIODevice::WriteOnly))
+ QList <PlayListTrack *> songs;
+ for(int i = 0; i < m_container->count(); ++i)
{
- QTextStream ts(&file);
- QList <PlayListTrack *> songs;
- for(int i = 0; i < m_container->count(); ++i)
- {
- if(!isTrack(i))
- continue;
+ if(isTrack(i))
songs << m_container->track(i);
- }
- ts << prs->encode(songs);
- file.close();
}
- else
- qWarning("Error opening %s",f_name.toLocal8Bit().data());
-
+ PlayListParser::savePlayList(songs, f_name);
}
bool PlayListModel::isRepeatableList() const