aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/playlistparser.cpp')
-rw-r--r--src/qmmpui/playlistparser.cpp19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/qmmpui/playlistparser.cpp b/src/qmmpui/playlistparser.cpp
index 6cf3dbadd..2aac76bda 100644
--- a/src/qmmpui/playlistparser.cpp
+++ b/src/qmmpui/playlistparser.cpp
@@ -23,6 +23,7 @@
#include <QList>
#include <QDir>
#include <QApplication>
+#include <algorithm>
#include <qmmp/qmmp.h>
#include "playlistformat.h"
#include "playlistparser.h"
@@ -72,12 +73,9 @@ bool PlayListParser::isPlayList(const QString &url)
PlayListFormat *PlayListParser::findByMime(const QString &mime)
{
loadFormats();
- for(PlayListFormat *format : qAsConst(*m_formats))
- {
- if(format->properties().contentTypes.contains(mime))
- return format;
- }
- return nullptr;
+ auto it = std::find_if(m_formats->cbegin(), m_formats->cend(),
+ [mime](PlayListFormat *format) { return format->properties().contentTypes.contains(mime); } );
+ return it == m_formats->cend() ? nullptr : *it;
}
PlayListFormat *PlayListParser::findByPath(const QString &filePath)
@@ -161,12 +159,9 @@ QList<PlayListTrack *> PlayListParser::loadPlaylist(const QString &f_name)
QList<PlayListTrack *> PlayListParser::loadPlaylist(const QString &fmt, const QByteArray &content)
{
- for(PlayListFormat *p : qAsConst(*m_formats))
- {
- if(p->properties().shortName == fmt)
- return p->decode(content);
- }
- return QList<PlayListTrack *>();
+ auto it = std::find_if(m_formats->cbegin(), m_formats->cend(),
+ [fmt](PlayListFormat *format) { return format->properties().shortName == fmt; } );
+ return it == m_formats->cend() ? QList<PlayListTrack *>() : (*it)->decode(content);
}
void PlayListParser::loadFormats()