summaryrefslogtreecommitdiff
path: root/nephilim/plugins/Playlist.py
diff options
context:
space:
mode:
Diffstat (limited to 'nephilim/plugins/Playlist.py')
-rw-r--r--nephilim/plugins/Playlist.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/nephilim/plugins/Playlist.py b/nephilim/plugins/Playlist.py
index 44d7a40..d8147bc 100644
--- a/nephilim/plugins/Playlist.py
+++ b/nephilim/plugins/Playlist.py
@@ -44,6 +44,14 @@ class PlaylistWidget(QtGui.QWidget):
plugin = None
playlist = None
+ class PlaylistSongItem(QtGui.QTreeWidgetItem):
+ # public
+ id = -1
+
+ def __init__(self, id):
+ QtGui.QTreeWidgetItem.__init__(self)
+ self.id = id
+
def __init__(self, plugin):
QtGui.QWidget.__init__(self)
self.plugin = plugin
@@ -55,7 +63,6 @@ class PlaylistWidget(QtGui.QWidget):
self.layout().setMargin(0)
self.layout().addWidget(self.playlist)
-
class Playlist(QtGui.QTreeWidget):
song = None
plugin = None
@@ -80,23 +87,22 @@ class PlaylistWidget(QtGui.QWidget):
self.plugin.settings.setValue(self.plugin.name + '/header_state', QVariant(self.header().saveState()))
def _song_activated(self, item):
- self.plugin.mpclient.play(item.data(0, QtCore.Qt.UserRole).toPyObject().id())
+ self.plugin.mpclient.play(item.id)
def fill(self):
columns = self.plugin.settings.value(self.plugin.name + '/columns').toStringList()
self.clear()
- for song in self.plugin.mpclient.playlist():
- item = QtGui.QTreeWidgetItem()
+ for song in self.plugin.mpclient.playlistinfo():
+ item = PlaylistWidget.PlaylistSongItem(song['id'])
for i in range(len(columns)):
- item.setText(i, unicode(song.tag(str(columns[i]))))
- item.setData(0, QtCore.Qt.UserRole, QVariant(song))
+ item.setText(i, unicode(song[str(columns[i])]))
self.addTopLevelItem(item)
def keyPressEvent(self, event):
if event.matches(QtGui.QKeySequence.Delete):
ids = []
for item in self.selectedItems():
- ids.append(item.data(0, QtCore.Qt.UserRole).toPyObject().id())
+ ids.append(item.id)
self.plugin.mpclient.delete(ids)
else: