QML: Click on album shows the alternatives and saves them
[mussorgsky] / src / qml / coverModel.py
index d3d8578..e60600f 100644 (file)
@@ -14,10 +14,10 @@ class CoversModel (QtCore.QAbstractListModel):
     def __init__ (self):
         QtCore.QAbstractListModel.__init__ (self)
         self._alternatives = [
-             CoverItem ("images/button-red.png"),
-             CoverItem ("images/button-blue.png"),
-             CoverItem ("images/button-red.png"),
-             CoverItem ("images/button-blue.png")
+             CoverItem ("images/button-red.png", None),
+             CoverItem ("images/button-blue.png", None),
+             CoverItem ("images/button-red.png", None),
+             CoverItem ("images/button-blue.png", None)
             ]
         self.setRoleNames (dict(enumerate(CoversModel.COLUMNS)))
 
@@ -29,6 +29,21 @@ class CoversModel (QtCore.QAbstractListModel):
             return self._alternatives[index.row ()]
         return None
 
-    def updateData (self, row, url):
+    def updateData (self, row, url, thumb):
         assert row >= 0 and row < len (self._alternatives)
+        print "Replacing", self._alternatives[row].url, "with", url, "in row", row
         self._alternatives[row].url = url
+        self._alternatives[row].thumb = thumb
+
+    def resetAlternatives (self):
+        for row in range (0, len (self._alternatives)):
+            print "Removing cached images:"
+            print "  ", self._alternatives[row].url
+            print "  ", self._alternatives[row].thumb
+            os.remove (self._alternatives[row].url)
+            os.remove (self._alternatives[row].thumb)
+            if (row % 2) == 0:
+                self.updateData(row, "images/button-red.png", None)
+            else:
+                self.updateData(row, "images/button-blue.png", None)
+        print "Ok"