diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-01-20 19:28:29 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-01-20 19:28:29 +0000 |
| commit | 5ae6aa8f58bdaf887f3b419c31a69435d5fb0a02 (patch) | |
| tree | 458a5163fe46330fd1c0036702c53c523d87edac /src/qmmpui/playlistmodel.cpp | |
| parent | 6d2b72595c1cd4d4f48d114134dbc0fc1baccd2c (diff) | |
| download | qmmp-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/playlistmodel.cpp')
| -rw-r--r-- | src/qmmpui/playlistmodel.cpp | 43 |
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) |
