summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <wyskas@gmail.com>2010-02-10 19:52:15 +0100
committerAnton Khirnov <wyskas@gmail.com>2010-02-11 08:36:36 +0100
commite9f2b1ad2f951d72e1b0396bc9a74ed14b61acc3 (patch)
tree5f12001fca142f1583f1099229c53c7d209b342e
parentc33e547911585ac0ef7c34edeb2ac70054df7a1d (diff)
Playlist: use PlaylistEntryRef.
-rw-r--r--nephilim/plugins/Playlist.py17
-rw-r--r--nephilim/song.py2
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'