From 1796385b346f0686f153db253977123a616f5e8e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 28 Oct 2021 21:05:06 +0530 Subject: [PATCH] Multiple sort dialog: Allow removing saved sorts via a sub-menu of the Load button --- src/calibre/gui2/dialogs/multisort.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/calibre/gui2/dialogs/multisort.py b/src/calibre/gui2/dialogs/multisort.py index a41f7bd049..50c0c7de64 100644 --- a/src/calibre/gui2/dialogs/multisort.py +++ b/src/calibre/gui2/dialogs/multisort.py @@ -162,12 +162,23 @@ class ChooseMultiSort(Dialog): for name in sorted(specs, key=primary_sort_key): ac = m.addAction(name, self.load_spec) ac.setObjectName(name) + m.addSeparator() + m = m.addMenu(_('Remove saved sort')) + for name in sorted(specs, key=primary_sort_key): + ac = m.addAction(name, self.remove_spec) + ac.setObjectName(name) def load_spec(self): name = self.sender().objectName() spec = self.saved_specs[name] self.apply_spec(spec) + def remove_spec(self): + name = self.sender().objectName() + q = self.saved_specs + if q.pop(name, None): + self.saved_specs = q + def iteritems(self): cl = self.column_list return (cl.item(i) for i in range(cl.count()))