summaryrefslogtreecommitdiff
path: root/nephilim
diff options
context:
space:
mode:
authorAnton Khirnov <wyskas@gmail.com>2009-08-20 14:25:12 +0200
committerAnton Khirnov <wyskas@gmail.com>2009-08-20 14:25:12 +0200
commitf45f0786053113f2143e81a193eb481e0069268c (patch)
tree50ba66aea34c0bead2182247a5faf5eea204298c /nephilim
parent368cf0ee36cce1c40b9299adf056d17ebca32e89 (diff)
AlbumCover: add a 'clear cover' action.
Diffstat (limited to 'nephilim')
-rw-r--r--nephilim/plugins/AlbumCover.py28
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