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()))