aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-01-20 19:28:29 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-01-20 19:28:29 +0000
commit5ae6aa8f58bdaf887f3b419c31a69435d5fb0a02 (patch)
tree458a5163fe46330fd1c0036702c53c523d87edac /src/qmmpui
parent6d2b72595c1cd4d4f48d114134dbc0fc1baccd2c (diff)
downloadqmmp-5ae6aa8f58bdaf887f3b419c31a69435d5fb0a02.tar.gz
qmmp-5ae6aa8f58bdaf887f3b419c31a69435d5fb0a02.tar.bz2
qmmp-5ae6aa8f58bdaf887f3b419c31a69435d5fb0a02.zip
fixed m3u parsing
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2021 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/playlistmodel.cpp43
1 files changed, 27 insertions, 16 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 2df8d9ef2..015a0548e 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -812,24 +812,35 @@ void PlayListModel::doCurrentVisibleRequest()
void PlayListModel::loadPlaylist(const QString &f_name)
{
PlaylistFormat* prs = PlaylistParser::instance()->findByPath(f_name);
- if (prs)
+ if(!prs)
{
- QFile file(f_name);
- if (file.open(QIODevice::ReadOnly))
- {
- //clear();
- QStringList list = prs->decode(QTextStream(&file).readAll());
- for (int i = 0; i < list.size(); ++i)
- {
- if (QFileInfo(list.at(i)).isRelative() && !list.at(i).contains("://"))
- QString path = list[i].prepend(QFileInfo(f_name).canonicalPath () + QDir::separator ());
- }
- m_loader->loadFiles(list);
- file.close();
- }
- else
- qWarning("Error opening %s",f_name.toLocal8Bit().data());
+ qWarning("PlayListModel: unsupported playlist format");
+ 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 ());
}
+ m_loader->loadFiles(list);
+ file.close();
}
void PlayListModel::savePlaylist(const QString & f_name)