From 024a60ef207ab0dc7262acd44962f2daa9425f8f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 10 Apr 2025 08:49:23 +0530 Subject: [PATCH] Fix #2106093 [[Enhancement] Add 'Remove format' action to context menu](https://bugs.launchpad.net/calibre/+bug/2106093) --- src/calibre/gui2/metadata/basic_widgets.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index 5651ceaf69..667941cc24 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -890,6 +890,9 @@ class FormatList(_FormatList): action = EditAction(item, cm) action.edit_fmt.connect(self.edit_fmt, type=Qt.ConnectionType.QueuedConnection) cm.addAction(action) + ac = cm.addAction(QIcon.ic('trash.png'), _('&Remove {} format').format(item.ext.upper())) + ac.setObjectName(item.ext) + ac.triggered.connect(self.remove_cm_fmt) if item and originals: cm.addSeparator() @@ -904,6 +907,9 @@ class FormatList(_FormatList): cm.popup(event.globalPos()) event.accept() + def remove_cm_fmt(self): + self.remove_format(self.sender().objectName()) + def remove_format(self, fmt): for i in range(self.count()): f = self.item(i)