From 7228e7c8b79cd4ae74c6abd12317b43a7b1e6334 Mon Sep 17 00:00:00 2001 From: Jim Hodapp Date: Mon, 26 Oct 2015 13:17:02 -0400 Subject: Added addItems to QML Playlist for batch adding of tracks. Change-Id: Ieb7df35ad9dd50bbc68e5305e0de9fb26c64b540 Reviewed-by: Yoann Lopes --- src/imports/multimedia/qdeclarativeplaylist.cpp | 23 +++++++++++++++++++++++ src/imports/multimedia/qdeclarativeplaylist_p.h | 1 + 2 files changed, 24 insertions(+) (limited to 'src/imports') diff --git a/src/imports/multimedia/qdeclarativeplaylist.cpp b/src/imports/multimedia/qdeclarativeplaylist.cpp index bb785aa98..c6ea1bd31 100644 --- a/src/imports/multimedia/qdeclarativeplaylist.cpp +++ b/src/imports/multimedia/qdeclarativeplaylist.cpp @@ -420,6 +420,29 @@ bool QDeclarativePlaylist::addItem(const QUrl &source) return m_playlist->addMedia(QMediaContent(source)); } +/*! + \qmlmethod bool QtMultimedia::Playlist::addItems(sources) + + Appends the list of URLs in \a sources to the playlist. + + Returns true if the \a sources are added successfully. + + \since 5.7 +*/ +bool QDeclarativePlaylist::addItems(const QList &sources) +{ + if (sources.isEmpty()) + return false; + + QList contents; + QList::const_iterator it = sources.constBegin(); + while (it != sources.constEnd()) { + contents.push_back(QMediaContent(*it)); + ++it; + } + return m_playlist->addMedia(contents); +} + /*! \qmlmethod bool QtMultimedia::Playlist::insertItem(index, source) diff --git a/src/imports/multimedia/qdeclarativeplaylist_p.h b/src/imports/multimedia/qdeclarativeplaylist_p.h index fd94135e6..2c6d01585 100644 --- a/src/imports/multimedia/qdeclarativeplaylist_p.h +++ b/src/imports/multimedia/qdeclarativeplaylist_p.h @@ -152,6 +152,7 @@ public Q_SLOTS: void load(const QUrl &location, const QString &format = QString()); bool save(const QUrl &location, const QString &format = QString()); bool addItem(const QUrl &source); + bool addItems(const QList &sources); bool insertItem(int index, const QUrl &source); bool removeItem(int index); bool clear(); -- cgit v1.2.3