Bulk conversion dialog: Fix page margin settings being ignored when converting to DOCX

This commit is contained in:
Kovid Goyal 2016-06-04 16:26:33 +05:30
parent 0d810cc05d
commit dba833795f
3 changed files with 17 additions and 7 deletions

View File

@ -831,14 +831,17 @@ OptionRecommendation(name='search_replace',
if help is not None:
return help.replace('%default', str(rec.recommended_value))
def merge_plugin_recommendations(self):
for source in (self.input_plugin, self.output_plugin):
for name, val, level in source.recommendations:
def merge_plugin_recs(self, plugin):
for name, val, level in plugin.recommendations:
rec = self.get_option_by_name(name)
if rec is not None and rec.level <= level:
rec.recommended_value = val
rec.level = level
def merge_plugin_recommendations(self):
for source in (self.input_plugin, self.output_plugin):
self.merge_plugin_recs(source)
def merge_ui_recommendations(self, recommendations):
'''
Merge recommendations from the UI. As long as the UI recommendation

View File

@ -70,8 +70,8 @@ class BulkConfig(Config):
output_path = 'dummy.'+output_format
log = Log()
log.outputs = []
self.plumber = Plumber(input_path, output_path, log,
merge_plugin_recs=False)
self.plumber = Plumber(input_path, output_path, log, merge_plugin_recs=False)
self.plumber.merge_plugin_recs(self.plumber.output_plugin)
def widget_factory(cls):
return cls(self.stack, self.plumber.get_option_by_name,

View File

@ -196,6 +196,13 @@ class QueueBulk(QProgressDialog):
combined_recs[item[0]] = item[1]
save_specifics(self.db, book_id, combined_recs)
lrecs = list(combined_recs.to_recommendations())
from calibre.customize.ui import plugin_for_output_format
op = plugin_for_output_format(self.output_format)
if op and op.recommendations:
prec = {x[0] for x in op.recommendations}
for i, r in enumerate(list(lrecs)):
if r[0] in prec:
lrecs[i] = (r[0], r[1], OptionRecommendation.HIGH)
cover_file = create_cover_file(self.db, book_id)