def __init__ (self, albumItem):
QtCore.QAbstractListModel.__init__ (self)
self.albumItem = albumItem
-
+ self.__searchString = self.albumItem.artist + " " + self.albumItem.title
self.startOffset = 2
self._alternatives = [
CoverItem (self.albumItem.album_art, initialImage=True),
return None
def updateData (self, row, url):
+ print "updating", row, "to", url
position = row + self.startOffset
assert position >= 0 and position < len (self._alternatives)
- self._alternatives[position].url = url
+ if url == None:
+ self._alternatives[position].url = "images/broken.png"
+ self._alternatives[position].broken = True
+ else:
+ self._alternatives[position].url = url
def getData (self, row):
assert row >= 0 and row < len (self._alternatives)
return self._alternatives[row]
+ def reset (self):
+ for i in range (self.startOffset, len (self._alternatives)):
+ self._alternatives[i].reset ()
+
+
def cleanCache (self):
"""
The model contains the urls of the downloaded alternatives.
# This url can be None if the image didn't finish downloading
if self._alternatives[i].url and os.path.exists (self._alternatives[i].url):
os.remove (self._alternatives[i].url)
+
+ def _searchString (self):
+ return self.albumItem.artist + " " + self.albumItem.title
+ def _setSearchString (self, searchStr):
+ self.searchString = searchStr
+ searchString_changed.emit ()
+
+ searchString_changed = QtCore.Signal ()
+ searchString = QtCore.Property (unicode, _searchString, _setSearchString, notify=searchString_changed)