From e9f2b1ad2f951d72e1b0396bc9a74ed14b61acc3 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 10 Feb 2010 19:52:15 +0100 Subject: Playlist: use PlaylistEntryRef. --- nephilim/plugins/Playlist.py | 17 +++++++++-------- nephilim/song.py | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/nephilim/plugins/Playlist.py b/nephilim/plugins/Playlist.py index b51701c..a1b08a0 100644 --- a/nephilim/plugins/Playlist.py +++ b/nephilim/plugins/Playlist.py @@ -20,6 +20,7 @@ from PyQt4.QtCore import QVariant from ..plugin import Plugin from ..common import MIMETYPES, SongsMimeData +from ..song import PlaylistEntryRef class Playlist(Plugin): # public, const @@ -93,13 +94,13 @@ class PlaylistTree(QtGui.QTreeWidget): self.plugin.settings.setValue(self.plugin.name + '/header_state', QVariant(self.header().saveState())) def _song_activated(self, item): - self.plugin.mpclient.play(item.id) + self.plugin.mpclient.play(item.song['id']) def fill(self): columns = self.plugin.settings.value(self.plugin.name + '/columns').toStringList() self.clear() for song in self.plugin.mpclient.playlistinfo(): - item = PlaylistSongItem(song['id']) + item = PlaylistSongItem(PlaylistEntryRef(self.plugin.mpclient, song['id'])) for i in range(len(columns)): item.setText(i, unicode(song[str(columns[i])])) self.addTopLevelItem(item) @@ -108,7 +109,7 @@ class PlaylistTree(QtGui.QTreeWidget): if event.matches(QtGui.QKeySequence.Delete): ids = [] for item in self.selectedItems(): - ids.append(item.id) + ids.append(item.song['id']) self.plugin.mpclient.delete(ids) else: @@ -116,7 +117,7 @@ class PlaylistTree(QtGui.QTreeWidget): def mimeData(self, items): data = SongsMimeData() - data.set_plistsongs([items[0].id]) + data.set_plistsongs([items[0].song['id']]) return data def dropMimeData(self, parent, index, data, action): @@ -141,9 +142,9 @@ class PlaylistTree(QtGui.QTreeWidget): return [MIMETYPES['songs'], MIMETYPES['plistsongs']] class PlaylistSongItem(QtGui.QTreeWidgetItem): - # public - id = -1 + ### PUBLIC ### + song = None - def __init__(self, id): + def __init__(self, song): QtGui.QTreeWidgetItem.__init__(self) - self.id = id + self.song = song diff --git a/nephilim/song.py b/nephilim/song.py index cf2d157..454b53d 100644 --- a/nephilim/song.py +++ b/nephilim/song.py @@ -113,7 +113,7 @@ class PlaylistEntryRef: self.id = id def __getitem__(self, key): - return self.song()[key] + return self.id if key == 'id' else self.song()[key] def __nonzero__(self): return self.id != '-1' -- cgit v1.2.3