--- /dev/null
+from PySide import QtCore
+from PySide import QtGui
+from PySide import QtDeclarative
+
+from songItem import SongItem
+
+class SongsModel (QtCore.QAbstractListModel):
+ COLUMNS = ("song", )
+
+ def __init__ (self, songs):
+ QtCore.QAbstractListModel.__init__ (self)
+ self.setRoleNames (dict(enumerate(SongsModel.COLUMNS)))
+ self._alternatives = songs
+
+
+ def rowCount (self, parent=QtCore.QModelIndex()):
+ return len (self._alternatives)
+
+ def data (self, index, role):
+ if index.isValid () and role == SongsModel.COLUMNS.index ('song'):
+ return self._alternatives[index.row ()]
+ return None
+