From a8e83108d1de115700bbf2706028b439b6a5e9cc Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Tue, 13 Apr 2021 13:15:50 +0100 Subject: [PATCH] Enhancement #1923504: Edit column dialog: Load template currently saved in tester --- .../gui2/actions/show_template_tester.py | 3 +++ src/calibre/gui2/dialogs/template_dialog.py | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/actions/show_template_tester.py b/src/calibre/gui2/actions/show_template_tester.py index 1f8b98bc5a..5147558c52 100644 --- a/src/calibre/gui2/actions/show_template_tester.py +++ b/src/calibre/gui2/actions/show_template_tester.py @@ -25,6 +25,9 @@ class ShowTemplateTesterAction(InterfaceAction): self.first_time = True self.qaction.triggered.connect(self.show_template_editor) + def last_template_text(self): + return self.previous_text + def show_template_editor(self, *args): view = self.gui.current_view() if view is not self.gui.library_view: diff --git a/src/calibre/gui2/dialogs/template_dialog.py b/src/calibre/gui2/dialogs/template_dialog.py index c497dde424..d30a65911b 100644 --- a/src/calibre/gui2/dialogs/template_dialog.py +++ b/src/calibre/gui2/dialogs/template_dialog.py @@ -386,7 +386,7 @@ class TemplateDialog(QDialog, Ui_TemplateDialog): self.remove_all_button.clicked.connect(self.remove_all_button_pressed) self.set_all_button.clicked.connect(self.set_all_button_pressed) - self.load_button.clicked.connect(self.load_template) + self.load_button.clicked.connect(self.load_template_from_file) self.save_button.clicked.connect(self.save_template) self.textbox.setWordWrapMode(QTextOption.WordWrap) @@ -475,13 +475,25 @@ class TemplateDialog(QDialog, Ui_TemplateDialog): else QTextOption.WordWrap) ca.triggered.connect(lambda: self.textbox.setWordWrapMode(to_what)) m.addSeparator() + ca = m.addAction(_('Load template from the Template tester')) + ca.triggered.connect(self.load_last_template_text) + m.addSeparator() ca = m.addAction(_('Load template from file')) - ca.triggered.connect(self.load_template) + ca.triggered.connect(self.load_template_from_file) ca = m.addAction(_('Save template to file')) ca.triggered.connect(self.save_template) m.exec_(self.textbox.mapToGlobal(point)) - def load_template(self): + def load_last_template_text(self): + from calibre.customize.ui import find_plugin + tt = find_plugin('Template Tester') + if tt and tt.actual_plugin_: + self.textbox.setPlainText(tt.actual_plugin_.last_template_text()) + else: + # I don't think we can get here, but just in case ... + self.textbox.setPlainText(_('No Template tester text is available')) + + def load_template_from_file(self): filename = choose_files(self, 'template_dialog_save_templates', _('Load template from file'), filters=[