More logic to edit the song metadata
[mussorgsky] / src / songItem.py
index 3048c89..6c75977 100644 (file)
@@ -9,12 +9,15 @@ class SongItem (QtCore.QObject):
         self.__title = title
         self.__album = album
         self.__artist = artist
+        self.dirty = False
 
     def _title (self):
         return self.__title
     def _setTitle (self, value):
-        self.__title = value
-        self.title_changed.emit ()
+        if value != self.__title:
+            self.dirty = True
+            self.__title = value
+            self.title_changed.emit ()
 
     title_changed = QtCore.Signal ()
     title = QtCore.Property (unicode, _title, _setTitle, notify=title_changed)
@@ -23,8 +26,10 @@ class SongItem (QtCore.QObject):
     def _album (self):
         return self.__album
     def _setAlbum (self, value):
-        self.__album = value
-        self.album_changed.emit ()
+        if value != self.__album:
+            self.dirty = True
+            self.__album = value
+            self.album_changed.emit ()
 
     album_changed = QtCore.Signal ()
     album = QtCore.Property (unicode, _album, _setAlbum, notify=album_changed)
@@ -33,6 +38,7 @@ class SongItem (QtCore.QObject):
     def _artist (self):
         return self.__artist
     def _setArtist (self, value):
+        self.dirty = True
         self.__artist = value
         self.artist_changed.emit ()