aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/PlaylistFormats/m3u/m3uplaylistformat.cpp39
-rw-r--r--src/qmmpui/playlistmodel.cpp43
2 files changed, 41 insertions, 41 deletions
diff --git a/src/plugins/PlaylistFormats/m3u/m3uplaylistformat.cpp b/src/plugins/PlaylistFormats/m3u/m3uplaylistformat.cpp
index ce126384a..314982c29 100644
--- a/src/plugins/PlaylistFormats/m3u/m3uplaylistformat.cpp
+++ b/src/plugins/PlaylistFormats/m3u/m3uplaylistformat.cpp
@@ -20,16 +20,11 @@
#include <QFileInfo>
#include <QtPlugin>
-
#include "m3uplaylistformat.h"
-bool M3UPlaylistFormat::hasFormat(const QString & f)
+bool M3UPlaylistFormat::hasFormat(const QString &f)
{
- foreach(QString s,m_supported_formats)
- if (f == s)
- return true;
-
- return false;
+ return m_supported_formats.contains(f);
}
QStringList M3UPlaylistFormat::getExtensions() const
@@ -46,26 +41,20 @@ QStringList M3UPlaylistFormat::decode(const QString & contents)
{
QStringList out;
QStringList splitted = contents.split("\n");
- if (!splitted.isEmpty())
+ if(splitted.isEmpty())
+ return QStringList();
+
+ foreach(QString str, splitted)
{
- foreach(QString str, splitted)
- {
- str = str.trimmed ();
- if (str.startsWith("#EXTM3U") || str.startsWith("#EXTINF:") || str.isEmpty())
- ;//TODO: Let's skip it for now...
- else if (str.startsWith("http://"))
- out << str;
- else if (!str.startsWith("#"))
- out << str;
- else
- qWarning("File %s does not exist", qPrintable(str));
- }
- return out;
+ str = str.trimmed ();
+ if (str.startsWith("#EXTM3U") || str.startsWith("#EXTINF:") || str.isEmpty())
+ continue;//TODO: Let's skip it for now..
+ else if (str.startsWith("#") || str.isEmpty())
+ continue;
+ else
+ out << str;
}
- else
- qWarning("Error parsing M3U format");
-
- return QStringList();
+ return out;
}
QString M3UPlaylistFormat::encode(const QList<PlayListItem*> & contents)
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)