diff --git a/src/calibre/gui2/tweak_book/editor/widget.py b/src/calibre/gui2/tweak_book/editor/widget.py index 2e4af3088d..c4997352ee 100644 --- a/src/calibre/gui2/tweak_book/editor/widget.py +++ b/src/calibre/gui2/tweak_book/editor/widget.py @@ -221,8 +221,14 @@ class Editor(QMainWindow): def _build_insert_tag_button_menu(self): m = self.insert_tag_menu m.clear() - for name in tprefs['insert_tag_mru']: + names = tprefs['insert_tag_mru'] + for name in names: m.addAction(name, partial(self.insert_tag, name)) + if names: + m.addSeparator() + m = m.addMenu(_('Remove from this menu')) + for name in names: + m.addAction(name, partial(self.remove_insert_tag, name)) def insert_tag(self, name): self.editor.insert_tag(name) @@ -235,6 +241,15 @@ class Editor(QMainWindow): tprefs['insert_tag_mru'] = mru self._build_insert_tag_button_menu() + def remove_insert_tag(self, name): + mru = tprefs['insert_tag_mru'] + try: + mru.remove(name) + except ValueError: + pass + tprefs['insert_tag_mru'] = mru + self._build_insert_tag_button_menu() + def set_request_completion(self, callback=None, doc_name=None): self.editor.request_completion = callback self.editor.completion_doc_name = doc_name