From e6d92db6220dc36584c011f7386f66ec3c47ac5f Mon Sep 17 00:00:00 2001 From: John Schember Date: Mon, 11 Jan 2010 20:15:38 -0500 Subject: [PATCH] Impliment Bug #4529: Support Delete key for format list in metadata single dialog. --- src/calibre/gui2/dialogs/metadata_single.py | 3 ++- src/calibre/gui2/widgets.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index 84a394eafd..cef56e361d 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -171,7 +171,7 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): if self._add_formats(paths): event.accept() - def remove_format(self, x): + def remove_format(self, x=None): rows = self.formats.selectionModel().selectedRows(0) for row in rows: self.formats.takeItem(row.row()) @@ -327,6 +327,7 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): self.deduce_author_sort) self.connect(self.formats, SIGNAL('itemDoubleClicked(QListWidgetItem*)'), self.show_format) + self.connect(self.formats, SIGNAL('delete_format()'), self.remove_format) self.connect(self.button_set_cover, SIGNAL('clicked()'), self.set_cover) self.connect(self.button_set_metadata, SIGNAL('clicked()'), self.set_metadata_from_format) diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index e276d2dcb2..b1267bd772 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -137,6 +137,13 @@ class FormatList(QListWidget): def dragMoveEvent(self, event): event.acceptProposedAction() + def keyPressEvent(self, event): + if event.key() == Qt.Key_Delete: + self.emit(SIGNAL('delete_format()')) + else: + QListWidget.keyPressEvent(self, event) + + class ImageView(QLabel): MAX_WIDTH = 400