mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Show profile descriptions
This commit is contained in:
parent
ef10150149
commit
f7eef4f54c
@ -245,9 +245,18 @@ def get_conversion_options(input_fmt, output_fmt, book_id, db):
|
||||
def profiles():
|
||||
ans = getattr(profiles, 'ans', None)
|
||||
if ans is None:
|
||||
def desc(profile):
|
||||
w, h = profile.screen_size
|
||||
if w >= 10000:
|
||||
ss = _('unlimited')
|
||||
else:
|
||||
ss = _('%(width)d x %(height)d pixels') % dict(width=w, height=h)
|
||||
ss = _('Screen size: %s') % ss
|
||||
return {'name': profile.name, 'description': ('%s [%s]' % (profile.description, ss))}
|
||||
|
||||
ans = profiles.ans = {}
|
||||
ans['input'] = {p.short_name: {'name': p.name} for p in input_profiles()}
|
||||
ans['output'] = {p.short_name: {'name': p.name} for p in output_profiles()}
|
||||
ans['input'] = {p.short_name: desc(p) for p in input_profiles()}
|
||||
ans['output'] = {p.short_name: desc(p) for p in output_profiles()}
|
||||
return ans
|
||||
|
||||
|
||||
|
@ -20,6 +20,7 @@ add_extra_css(def():
|
||||
style += build_rule(sel + '.simple-group > label > *', display='table-cell', padding_bottom='1ex', padding_right='1rem')
|
||||
style += build_rule(sel + 'label.vertical', display='block')
|
||||
style += build_rule(sel + 'label.vertical > *', display='block', padding_bottom='1ex', padding_right='1rem')
|
||||
style += build_rule(sel + '[data-profile]', margin_left='2em', text_indent='-2em', font_size='smaller', margin_bottom='1ex')
|
||||
return style
|
||||
)
|
||||
|
||||
@ -280,6 +281,15 @@ def heuristics(container):
|
||||
# Page setup {{{
|
||||
@ep
|
||||
def page_setup(container):
|
||||
def show_profile_desc(name):
|
||||
profile = get(name)
|
||||
data = profiles.input if name is 'input_profile' else profiles.output
|
||||
profile = data[profile]
|
||||
container_for_option(name).parentNode.querySelector('[data-profile="{}"'.format(
|
||||
'input' if name is 'input_profile' else 'output')).textContent = indent + profile.description
|
||||
|
||||
add_listener('input_profile', show_profile_desc)
|
||||
add_listener('output_profile', show_profile_desc)
|
||||
g = E.div(class_='simple-group')
|
||||
container.appendChild(g)
|
||||
g.appendChild(float_spin('margin_left', _('Left page margin'), unit='pt', step=0.1, min=-1, max=200))
|
||||
@ -287,9 +297,12 @@ def page_setup(container):
|
||||
g.appendChild(float_spin('margin_right', _('Right page margin'), unit='pt', step=0.1, min=-1, max=200))
|
||||
g.appendChild(float_spin('margin_bottom', _('Bottom page margin'), unit='pt', step=0.1, min=-1, max=200))
|
||||
g.appendChild(choices('input_profile', _('&Input profile:'), {name: profiles.input[name].name for name in profiles.input}))
|
||||
g.appendChild(E.div(data_profile='input'))
|
||||
g.appendChild(choices('output_profile', _('&Output profile:'), {name: profiles.output[name].name for name in profiles.output}))
|
||||
g.appendChild(E.div(data_profile='output'))
|
||||
# }}}
|
||||
|
||||
|
||||
def create_option_group(group_name, profiles_, container, get_option_value_, get_option_default_value_, is_option_disabled_, get_option_help_):
|
||||
nonlocal get_option_value, get_option_default_value, is_option_disabled, container_id, registry, listeners, get_option_help, profiles
|
||||
get_option_value, get_option_default_value, is_option_disabled, get_option_help = get_option_value_, get_option_default_value_, is_option_disabled_, get_option_help_
|
||||
|
Loading…
x
Reference in New Issue
Block a user