summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Hodapp <jim.hodapp@canonical.com>2015-11-27 09:39:28 -0500
committerYoann Lopes <yoann.lopes@theqtcompany.com>2015-12-18 18:49:10 +0000
commit170a217b3e2fb1688ae876ca60b1beab0331b123 (patch)
tree31067e20d33c124fd05709ed6f6c7a480b2c22f1
parent8dddfe3f43606b385f48e8142c8ecb70d6c103a3 (diff)
Add moveItem(from, to) to QMediaPlaylist.
Change-Id: Ic3c2ab35529ba5056b7f0d172a434e586e6cf03d Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
-rw-r--r--src/imports/multimedia/qdeclarativeplaylist.cpp14
-rw-r--r--src/imports/multimedia/qdeclarativeplaylist_p.h1
-rw-r--r--src/multimedia/playback/qmedianetworkplaylistprovider.cpp10
-rw-r--r--src/multimedia/playback/qmedianetworkplaylistprovider_p.h1
-rw-r--r--src/multimedia/playback/qmediaplaylist.cpp14
-rw-r--r--src/multimedia/playback/qmediaplaylist.h1
-rw-r--r--src/multimedia/playback/qmediaplaylistprovider.cpp14
-rw-r--r--src/multimedia/playback/qmediaplaylistprovider_p.h1
8 files changed, 56 insertions, 0 deletions
diff --git a/src/imports/multimedia/qdeclarativeplaylist.cpp b/src/imports/multimedia/qdeclarativeplaylist.cpp
index 3432bf237..75be64b81 100644
--- a/src/imports/multimedia/qdeclarativeplaylist.cpp
+++ b/src/imports/multimedia/qdeclarativeplaylist.cpp
@@ -479,6 +479,20 @@ bool QDeclarativePlaylist::insertItems(int index, const QList<QUrl> &sources)
}
/*!
+ \qmlmethod bool QtMultimedia::Playlist::moveItem(from, to)
+
+ Moves the item at index position \a from to index position \a to.
+
+ Returns true if the item is moved successfully.
+
+ \since 5.7
+*/
+bool QDeclarativePlaylist::moveItem(int from, int to)
+{
+ return m_playlist->moveMedia(from, to);
+}
+
+/*!
\qmlmethod bool QtMultimedia::Playlist::removeItem(index)
Removed the item at the given \a index from the playlist.
diff --git a/src/imports/multimedia/qdeclarativeplaylist_p.h b/src/imports/multimedia/qdeclarativeplaylist_p.h
index 295cbb100..66674ebb7 100644
--- a/src/imports/multimedia/qdeclarativeplaylist_p.h
+++ b/src/imports/multimedia/qdeclarativeplaylist_p.h
@@ -155,6 +155,7 @@ public Q_SLOTS:
bool addItems(const QList<QUrl> &sources);
bool insertItem(int index, const QUrl &source);
bool insertItems(int index, const QList<QUrl> &sources);
+ bool moveItem(int from, int to);
bool removeItem(int index);
bool removeItems(int start, int end);
bool clear();
diff --git a/src/multimedia/playback/qmedianetworkplaylistprovider.cpp b/src/multimedia/playback/qmedianetworkplaylistprovider.cpp
index 88c253494..d7630640c 100644
--- a/src/multimedia/playback/qmedianetworkplaylistprovider.cpp
+++ b/src/multimedia/playback/qmedianetworkplaylistprovider.cpp
@@ -198,6 +198,16 @@ bool QMediaNetworkPlaylistProvider::insertMedia(int pos, const QList<QMediaConte
return true;
}
+bool QMediaNetworkPlaylistProvider::moveMedia(int from, int to)
+{
+ Q_D(QMediaNetworkPlaylistProvider);
+
+ Q_UNUSED(from);
+ Q_UNUSED(to);
+
+ return true;
+}
+
bool QMediaNetworkPlaylistProvider::removeMedia(int fromPos, int toPos)
{
Q_D(QMediaNetworkPlaylistProvider);
diff --git a/src/multimedia/playback/qmedianetworkplaylistprovider_p.h b/src/multimedia/playback/qmedianetworkplaylistprovider_p.h
index 84e34c7ce..6fbdfe59b 100644
--- a/src/multimedia/playback/qmedianetworkplaylistprovider_p.h
+++ b/src/multimedia/playback/qmedianetworkplaylistprovider_p.h
@@ -69,6 +69,7 @@ public:
virtual bool addMedia(const QList<QMediaContent> &items);
virtual bool insertMedia(int pos, const QMediaContent &content);
virtual bool insertMedia(int pos, const QList<QMediaContent> &items);
+ virtual bool moveMedia(int from, int to);
virtual bool removeMedia(int pos);
virtual bool removeMedia(int start, int end);
virtual bool clear();
diff --git a/src/multimedia/playback/qmediaplaylist.cpp b/src/multimedia/playback/qmediaplaylist.cpp
index 06813592e..5f65a1884 100644
--- a/src/multimedia/playback/qmediaplaylist.cpp
+++ b/src/multimedia/playback/qmediaplaylist.cpp
@@ -377,6 +377,20 @@ bool QMediaPlaylist::insertMedia(int pos, const QList<QMediaContent> &items)
}
/*!
+ Move the item from position \a from to position \a to.
+
+ Returns true if the operation is successful, otherwise false.
+
+ \since 5.7
+*/
+bool QMediaPlaylist::moveMedia(int from, int to)
+{
+ QMediaPlaylistProvider *playlist = d_func()->playlist();
+ return playlist->moveMedia(qBound(0, from, playlist->mediaCount()),
+ qBound(0, to, playlist->mediaCount()));
+}
+
+/*!
Remove the item from the playlist at position \a pos.
Returns true if the operation is successful, otherwise return false.
diff --git a/src/multimedia/playback/qmediaplaylist.h b/src/multimedia/playback/qmediaplaylist.h
index 1388ac10f..e076877b7 100644
--- a/src/multimedia/playback/qmediaplaylist.h
+++ b/src/multimedia/playback/qmediaplaylist.h
@@ -85,6 +85,7 @@ public:
bool addMedia(const QList<QMediaContent> &items);
bool insertMedia(int index, const QMediaContent &content);
bool insertMedia(int index, const QList<QMediaContent> &items);
+ bool moveMedia(int from, int to);
bool removeMedia(int pos);
bool removeMedia(int start, int end);
bool clear();
diff --git a/src/multimedia/playback/qmediaplaylistprovider.cpp b/src/multimedia/playback/qmediaplaylistprovider.cpp
index fc3619ff3..d9c989c85 100644
--- a/src/multimedia/playback/qmediaplaylistprovider.cpp
+++ b/src/multimedia/playback/qmediaplaylistprovider.cpp
@@ -207,6 +207,20 @@ bool QMediaPlaylistProvider::insertMedia(int position, const QList<QMediaContent
return true;
}
+/*!
+ Move the media from position \a from to position \a to.
+
+ Returns true if the operation is successful, otherwise false.
+
+ \since 5.7
+*/
+bool QMediaPlaylistProvider::moveMedia(int from, int to)
+{
+ Q_UNUSED(from);
+ Q_UNUSED(to);
+
+ return false;
+}
/*!
Removes the media at \a position from a playlist.
diff --git a/src/multimedia/playback/qmediaplaylistprovider_p.h b/src/multimedia/playback/qmediaplaylistprovider_p.h
index 57436d30e..94b59186b 100644
--- a/src/multimedia/playback/qmediaplaylistprovider_p.h
+++ b/src/multimedia/playback/qmediaplaylistprovider_p.h
@@ -81,6 +81,7 @@ public:
virtual bool addMedia(const QList<QMediaContent> &contentList);
virtual bool insertMedia(int index, const QMediaContent &content);
virtual bool insertMedia(int index, const QList<QMediaContent> &content);
+ virtual bool moveMedia(int from, int to);
virtual bool removeMedia(int pos);
virtual bool removeMedia(int start, int end);
virtual bool clear();