diff --git a/wobuzz/library/library.py b/wobuzz/library/library.py index eb9c044..f3f1045 100644 --- a/wobuzz/library/library.py +++ b/wobuzz/library/library.py @@ -1,7 +1,7 @@ #!/usr/bin/python3 import os -from PyQt6.QtWidgets import QTabWidget +from PyQt6.QtWidgets import QTabWidget, QAbstractItemView from ..player.playlist import Playlist from ..ui.library_dock import LibraryDock from ..ui.playlist import PlaylistView @@ -75,5 +75,7 @@ class Library: playlist_tabs: QTabWidget = library_dock.library_widget.playlist_tabs playlist_view = PlaylistView(playlist, library_dock) + playlist_view.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove) # enable drag n drop + playlist_tabs.addTab(playlist_view, playlist.title) diff --git a/wobuzz/player/playlist.py b/wobuzz/player/playlist.py index 07b305d..110adad 100644 --- a/wobuzz/player/playlist.py +++ b/wobuzz/player/playlist.py @@ -4,6 +4,7 @@ import os import threading from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import QAbstractItemView from .track import Track @@ -65,6 +66,11 @@ class Playlist: elif isinstance(self.load_from, list): # if it's created from tracks self.load_from_paths(self.load_from) + for dock_id in self.views: # enable drag and drop on every view + view = self.views[dock_id] + + view.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove) + def load_from_m3u(self, path): file = open(path, "r") m3u = file.read() diff --git a/wobuzz/ui/playlist.py b/wobuzz/ui/playlist.py index df5d6cd..8703bcd 100644 --- a/wobuzz/ui/playlist.py +++ b/wobuzz/ui/playlist.py @@ -24,7 +24,6 @@ class PlaylistView(QTreeWidget): playlist.views[id(dock)] = self - self.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection) self.setColumnCount(4)