Example #1
0
 def edit_cb_title_template(self):
     t = TemplateDialog(self,
                        self.opt_cover_browser_title_template.text(),
                        fm=self.gui.current_db.field_metadata)
     t.setWindowTitle(_('Edit template for caption'))
     if t.exec():
         self.opt_cover_browser_title_template.setText(t.rule[1])
Example #2
0
    def show_template_editor(self, *args):
        view = self.gui.current_view()
        if view is not self.gui.library_view:
            return error_dialog(
                self.gui, _('No template tester available'),
                _('Template tester is not available for books '
                  'on the device.')).exec()

        rows = view.selectionModel().selectedRows()
        if not rows:
            return error_dialog(self.gui,
                                _('No books selected'),
                                _('At least one book must be selected'),
                                show=True)
        mi = []
        db = view.model().db
        for row in rows:
            if row.isValid():
                mi.append(
                    db.new_api.get_proxy_metadata(
                        db.data.index_to_id(row.row())))
        if mi:
            t = TemplateDialog(self.gui,
                               self.previous_text,
                               mi,
                               text_is_placeholder=self.first_time)
            t.setWindowTitle(_('Template tester'))
            if t.exec() == QDialog.DialogCode.Accepted:
                self.previous_text = t.rule[1]
                self.first_time = False
Example #3
0
 def do_open_editor(self):
     t = TemplateDialog(self,
                        self.opt_template.text(),
                        fm=self.field_metadata)
     t.setWindowTitle(_('Edit template'))
     if t.exec():
         self.opt_template.set_value(t.rule[1])
Example #4
0
 def change_template(self, which):
     from calibre.gui2.dialogs.template_dialog import TemplateDialog
     from calibre.gui2.ui import get_gui
     gui = get_gui()
     if gui is None:
         from calibre.ebooks.metadata.book.base import field_metadata
     else:
         field_metadata = gui.current_db.new_api.field_metadata
     attr = which + '_template'
     templ = getattr(self, attr).text()
     d = TemplateDialog(self, templ, mi=self.mi, fm=field_metadata)
     if d.exec() == QDialog.DialogCode.Accepted:
         templ = d.rule[1]
         getattr(self, attr).setText(templ)
         self.emit_changed()
Example #5
0
 def createEditor(self, parent, option, index):
     from calibre.gui2.dialogs.template_dialog import TemplateDialog
     m = index.model()
     mi = m.db.get_metadata(index.row(), index_is_id=False)
     if check_key_modifier(Qt.KeyboardModifier.ControlModifier):
         text = ''
     else:
         text = m.custom_columns[m.column_map[index.column()]]['display']['composite_template']
     editor = TemplateDialog(parent, text, mi)
     editor.setWindowTitle(_("Edit template"))
     editor.textbox.setTabChangesFocus(False)
     editor.textbox.setTabStopWidth(20)
     d = editor.exec()
     if d:
         m.setData(index, (editor.rule[1]), Qt.ItemDataRole.EditRole)
     return None
Example #6
0
 def st_test_template(self):
     if self.mi:
         self.st_replace_button_clicked()
         all_funcs = copy.copy(formatter_functions().get_functions())
         for n, f in self.st_funcs.items():
             all_funcs[n] = f
         t = TemplateDialog(self.gui,
                            self.st_previous_text,
                            mi=self.mi,
                            fm=self.fm,
                            text_is_placeholder=self.st_first_time,
                            all_functions=all_funcs)
         t.setWindowTitle(_('Template tester'))
         if t.exec() == QDialog.DialogCode.Accepted:
             self.st_previous_text = t.rule[1]
             self.st_first_time = False
     else:
         error_dialog(self.gui,
                      _('Template functions'),
                      _('Cannot "test" when no books are selected'),
                      show=True)
Example #7
0
 def edit_template(self):
     t = TemplateDialog(self, self.template)
     t.setWindowTitle(_('Edit template'))
     if t.exec():
         self.t.setText(t.rule[1])
 def open_editor(self):
     t = TemplateDialog(self, self.text(), mi=self.mi)
     t.setWindowTitle(_('Edit template'))
     if t.exec():
         self.setText(t.rule[1])