[vlc-commits] qml: add drag and drop support in MusicGenres
Prince Gupta
git at videolan.org
Thu Dec 10 09:34:59 UTC 2020
vlc | branch: master | Prince Gupta <guptaprince8832 at gmail.com> | Fri Nov 13 15:51:12 2020 +0530| [19cb9b2abd72f61aef1373ec24a361c64c40b5d3] | committer: Pierre Lamot
qml: add drag and drop support in MusicGenres
Signed-off-by: Pierre Lamot <pierre at videolabs.io>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=19cb9b2abd72f61aef1373ec24a361c64c40b5d3
---
modules/gui/qt/medialibrary/qml/MusicGenres.qml | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/modules/gui/qt/medialibrary/qml/MusicGenres.qml b/modules/gui/qt/medialibrary/qml/MusicGenres.qml
index c44c5e8f40..17c240733d 100644
--- a/modules/gui/qt/medialibrary/qml/MusicGenres.qml
+++ b/modules/gui/qt/medialibrary/qml/MusicGenres.qml
@@ -103,6 +103,27 @@ Widgets.NavigableFocusScope {
model: genreModel
}
+ Widgets.DragItem {
+ id: genreDragItem
+
+ function updateComponents(maxCovers) {
+ var items = selectionModel.selectedIndexes.slice(0, maxCovers).map(function (x){
+ return genreModel.getDataAt(x.row)
+ })
+ var title = items.map(function (item){ return item.name}).join(", ")
+ var covers = items.map(function (item) { return {artwork: item.cover || VLCStyle.noArtCover}})
+ return {
+ covers: covers,
+ title: title,
+ count: selectionModel.selectedIndexes.length
+ }
+ }
+
+ function insertIntoPlaylist(index) {
+ medialib.insertIntoPlaylist(index, genreModel.getIdsForIndexes(selectionModel.selectedIndexes))
+ }
+ }
+
/*
*define the intial position/selection
* This is done on activeFocus rather than Component.onCompleted because selectionModel.
@@ -145,6 +166,7 @@ Widgets.NavigableFocusScope {
pictureHeight: height
image: model.cover || VLCStyle.noArtAlbum
playCoverBorder.width: VLCStyle.dp(3, VLCStyle.scale)
+ dragItem: genreDragItem
onItemDoubleClicked: root.showAlbumView(model)
onItemClicked: gridView_id.leftClickOnItem(modifier, item.index)
@@ -239,6 +261,7 @@ Widgets.NavigableFocusScope {
focus: true
onActionForSelection: _actionAtIndex(selection)
navigationParent: root
+ dragItem: genreDragItem
sortModel: [
{ isPrimary: true, criteria: "cover", width: VLCStyle.listAlbumCover_width, headerDelegate: thumbnailHeader, colDelegate: thumbnailColumn },
More information about the vlc-commits
mailing list