From d3e8e19fc608cc2a07837d8441cc0b1964158230 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Sun, 7 Jul 2024 18:11:04 +0100 Subject: [PATCH] Make the template tester available by right-clicking in a template text box use metadata from selected books if possible. --- src/calibre/gui2/dialogs/template_line_editor.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/dialogs/template_line_editor.py b/src/calibre/gui2/dialogs/template_line_editor.py index b979e14ccc..a8b22ebf45 100644 --- a/src/calibre/gui2/dialogs/template_line_editor.py +++ b/src/calibre/gui2/dialogs/template_line_editor.py @@ -8,6 +8,7 @@ __docformat__ = 'restructuredtext en' from qt.core import QLineEdit +from calibre import prints from calibre.gui2.dialogs.template_dialog import TemplateDialog @@ -19,7 +20,18 @@ class TemplateLineEditor(QLineEdit): def __init__(self, parent): QLineEdit.__init__(self, parent) - self.mi = None + try: + from calibre.gui2.ui import get_gui + gui = get_gui() + view = gui.library_view + db = gui.current_db + mi = [] + for _id in view.get_selected_ids()[:5]: + mi.append(db.new_api.get_metadata(_id)) + self.mi = mi + except Exception as e: + prints(f'TemplateLineEditor: exception fetching metadata: {str(e)}') + self.mi = None self.setClearButtonEnabled(True) def set_mi(self, mi):