Fix bug #1193763 - Save to device template generates exception for custom column names.

This commit is contained in:
Charles Haley 2013-06-25 08:20:07 +02:00
parent f58b8aee4f
commit 230ef564ee
4 changed files with 9 additions and 4 deletions

View File

@ -262,6 +262,8 @@ class TemplateDialog(QDialog, Ui_TemplateDialog):
self.mi.rating = 4.0
self.mi.tags = [_('Tag 1'), _('Tag 2')]
self.mi.languages = ['eng']
if fm is not None:
self.mi.set_all_user_metadata(fm.custom_field_metadata())
# Remove help icon on title bar
icon = self.windowIcon()

View File

@ -24,7 +24,7 @@ class SaveTemplate(QWidget, Ui_Form):
Ui_Form.__init__(self)
self.setupUi(self)
def initialize(self, name, default, help):
def initialize(self, name, default, help, field_metadata):
variables = sorted(FORMAT_ARG_DESCS.keys())
rows = []
for var in variables:
@ -36,6 +36,7 @@ class SaveTemplate(QWidget, Ui_Form):
table = u'<table>%s</table>'%(u'\n'.join(rows))
self.template_variables.setText(table)
self.field_metadata = field_metadata
self.opt_template.initialize(name+'_template_history',
default, help)
self.opt_template.editTextChanged.connect(self.changed)
@ -44,7 +45,7 @@ class SaveTemplate(QWidget, Ui_Form):
self.open_editor.clicked.connect(self.do_open_editor)
def do_open_editor(self):
t = TemplateDialog(self, self.opt_template.text())
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])

View File

@ -34,7 +34,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
ConfigWidgetBase.initialize(self)
self.save_template.blockSignals(True)
self.save_template.initialize('save_to_disk', self.proxy['template'],
self.proxy.help('template'))
self.proxy.help('template'),
self.gui.library_view.model().db.field_metadata)
self.save_template.blockSignals(False)
def restore_defaults(self):

View File

@ -44,7 +44,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
ConfigWidgetBase.initialize(self)
self.send_template.blockSignals(True)
self.send_template.initialize('send_to_device', self.proxy['send_template'],
self.proxy.help('send_template'))
self.proxy.help('send_template'),
self.gui.library_view.model().db.field_metadata)
self.send_template.blockSignals(False)
def restore_defaults(self):