From a5019465a52dbbe17c625c1c1045427c5059fe9e Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 19 Sep 2009 10:49:10 +0200 Subject: Playlist: support for moving songs with drag&drop --- nephilim/common.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'nephilim/common.py') diff --git a/nephilim/common.py b/nephilim/common.py index 7d6ba06..e3af3ef 100644 --- a/nephilim/common.py +++ b/nephilim/common.py @@ -146,3 +146,35 @@ class MetadataFetcher(QtCore.QObject): pass self.rep.abort() self.rep = None + +class SongsMimeData(QtCore.QMimeData): + # private + __songs = None + __plistsongs = None + + def set_songs(self, songs): + self.__songs = songs + + def songs(self): + return self.__songs + + def set_plistsongs(self, songs): + self.__plistsongs = songs + + def plistsongs(self): + return self.__plistsongs + + def formats(self): + types = QtCore.QMimeData.formats(self) + if self.__songs: + types += MIMETYPES['songs'] + if self.__plistsongs: + types += MIMETYPES['plistsongs'] + return types + + def hasFormat(self, format): + if format == MIMETYPES['songs'] and self.__songs: + return True + elif format == MIMETYPES['plistsongs'] and self.__plistsongs: + return True + return QtCore.QMimeData.hasFormat(self, format) -- cgit v1.2.3