QML: Click on album shows the alternatives and saves them
[mussorgsky] / src / qml / albumModel.py
1 # -*- coding: utf-8 -*-
2 import os
3 import sys
4 from PySide import QtCore
5 from PySide import QtGui
6 from PySide import QtDeclarative
7
8 from albumItem import AlbumItem
9
10 class AlbumModel (QtCore.QAbstractListModel):
11     COLUMNS = ('album', )
12
13     def __init__ (self, data):
14         QtCore.QAbstractListModel.__init__ (self)
15         self._albums = data
16         self.setRoleNames (dict(enumerate(AlbumModel.COLUMNS)))
17
18     def rowCount (self, parent=QtCore.QModelIndex()):
19         return len (self._albums)
20
21     def data (self, index, role):
22         if index.isValid () and role == AlbumModel.COLUMNS.index ('album'):
23             return self._albums[index.row ()]
24         return None
25
26     def updateThumb (self, row, url):
27         assert row >= 0 and row < len (self._albums)
28         self._albums[row].album_art = url