diff options
author | Anton Khirnov <wyskas@gmail.com> | 2009-08-20 14:25:12 +0200 |
---|---|---|
committer | Anton Khirnov <wyskas@gmail.com> | 2009-08-20 14:25:12 +0200 |
commit | f45f0786053113f2143e81a193eb481e0069268c (patch) | |
tree | 50ba66aea34c0bead2182247a5faf5eea204298c /nephilim | |
parent | 368cf0ee36cce1c40b9299adf056d17ebca32e89 (diff) |
AlbumCover: add a 'clear cover' action.
Diffstat (limited to 'nephilim')
-rw-r--r-- | nephilim/plugins/AlbumCover.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/nephilim/plugins/AlbumCover.py b/nephilim/plugins/AlbumCover.py index e5345d1..2df7c08 100644 --- a/nephilim/plugins/AlbumCover.py +++ b/nephilim/plugins/AlbumCover.py @@ -44,13 +44,10 @@ class AlbumCoverWidget(QtGui.QLabel): # popup menu self._menu = QtGui.QMenu("album") - refresh = self._menu.addAction('&Refresh cover.') - view_action = self._menu.addAction('&View in a separate window.') - save_action = self._menu.addAction('Save cover &as...') - - self.connect(refresh, QtCore.SIGNAL('triggered()'), self.plugin.refresh) - self.connect(view_action, QtCore.SIGNAL('triggered()'), self.__view_cover) - self.connect(save_action, QtCore.SIGNAL('triggered()'), self.__save_cover) + refresh = self._menu.addAction('&Refresh cover.', self.plugin.refresh) + view_action = self._menu.addAction('&View in a separate window.', self.__view_cover) + save_action = self._menu.addAction('Save cover &as...', self.__save_cover) + clear_action = self._menu.addAction('&Clear cover.', self.__clear_cover) def contextMenuEvent(self, event): event.accept() @@ -91,6 +88,11 @@ class AlbumCoverWidget(QtGui.QLabel): if file: self.plugin.save_cover_file(cover, file) + def __clear_cover(self): + self.plugin.delete_cover_file() + self.set_cover(None, None) + self.plugin.refresh() + class AlbumCover(Plugin): # public, read-only o = None @@ -400,6 +402,18 @@ class AlbumCover(Plugin): except IOError, e: self.logger.error('Error writing cover: %s', e) + def delete_cover_file(self, song = None): + """Delete a cover file for song. If song is not specified + current song is used.""" + if not song: + path = self.__cover_path + else: + path = misc.generate_metadata_path(song, self.settings.value(self.name + '/coverdir').toString(), + self.settings.value(self.name + '/covername').toString()) + if not QtCore.QFile.remove(path): + self.logger.error('Error removing file %s.'%path) + + def cover(self): if not self.o: return None |