mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Linux installer: Install application and mimetype icons in multiple sizes. Fixes #1489654 [A few misc patches](https://bugs.launchpad.net/calibre/+bug/1489654)
This commit is contained in:
parent
40666c900c
commit
541a426361
@ -776,35 +776,36 @@ class PostInstall:
|
|||||||
env['LD_LIBRARY_PATH'] = os.pathsep.join(npaths)
|
env['LD_LIBRARY_PATH'] = os.pathsep.join(npaths)
|
||||||
cc = partial(check_call, env=env)
|
cc = partial(check_call, env=env)
|
||||||
|
|
||||||
with TemporaryDirectory() as tdir, CurrentDir(tdir), \
|
with TemporaryDirectory() as tdir, CurrentDir(tdir), PreserveMIMEDefaults():
|
||||||
PreserveMIMEDefaults():
|
|
||||||
render_img('mimetypes/lrf.png', 'calibre-lrf.png')
|
def install_single_icon(iconsrc, basename, size, context, is_last_icon=False):
|
||||||
cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True)
|
filename = '%s-%s.png' % (basename, size)
|
||||||
self.icon_resources.append(('mimetypes', 'application-lrf', '128'))
|
render_img(iconsrc, filename, width=int(size), height=int(size))
|
||||||
cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True)
|
cmd = ['xdg-icon-resource', 'install', '--noupdate', '--context', context, '--size', str(size), filename, basename]
|
||||||
self.icon_resources.append(('mimetypes', 'application-lrs',
|
if is_last_icon:
|
||||||
'128'))
|
del cmd[2]
|
||||||
render_img('mimetypes/mobi.png', 'calibre-mobi.png')
|
cc(cmd)
|
||||||
cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-mobi.png application-x-mobipocket-ebook', shell=True)
|
self.icon_resources.append((context, basename, str(size)))
|
||||||
self.icon_resources.append(('mimetypes', 'application-x-mobipocket-ebook', '128'))
|
|
||||||
render_img('mimetypes/tpz.png', 'calibre-tpz.png')
|
def install_icons(iconsrc, basename, context, is_last_icon=False):
|
||||||
cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-tpz.png application-x-topaz-ebook', shell=True)
|
sizes = (16, 32, 48, 64, 128, 256)
|
||||||
self.icon_resources.append(('mimetypes', 'application-x-topaz-ebook', '128'))
|
for size in sizes:
|
||||||
render_img('mimetypes/azw2.png', 'calibre-azw2.png')
|
install_single_icon(iconsrc, basename, size, context, is_last_icon and size is sizes[-1])
|
||||||
cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-azw2.png application-x-kindle-application', shell=True)
|
|
||||||
self.icon_resources.append(('mimetypes', 'application-x-kindle-application', '128'))
|
icons = filter(None, [x.strip() for x in '''\
|
||||||
render_img('mimetypes/azw3.png', 'calibre-azw3.png')
|
mimetypes/lrf.png application-lrf mimetypes
|
||||||
cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-azw3.png application-x-mobi8-ebook', shell=True)
|
mimetypes/lrf.png text-lrs mimetypes
|
||||||
self.icon_resources.append(('mimetypes', 'application-x-mobi8-ebook', '128'))
|
mimetypes/mobi.png application-x-mobipocket-ebook mimetypes
|
||||||
render_img('lt.png', 'calibre-gui.png', width=256, height=256)
|
mimetypes/tpz.png application-x-topaz-ebook mimetypes
|
||||||
cc('xdg-icon-resource install --noupdate --size 256 calibre-gui.png calibre-gui', shell=True)
|
mimetypes/azw2.png application-x-kindle-application mimetypes
|
||||||
self.icon_resources.append(('apps', 'calibre-gui', '256'))
|
mimetypes/azw3.png application-x-mobi8-ebook mimetypes
|
||||||
render_img('viewer.png', 'calibre-viewer.png', width=256, height=256)
|
lt.png calibre-gui apps
|
||||||
cc('xdg-icon-resource install --noupdate --size 256 calibre-viewer.png calibre-viewer', shell=True)
|
viewer.png calibre-viewer apps
|
||||||
self.icon_resources.append(('apps', 'calibre-viewer', '256'))
|
tweak.png calibre-ebook-edit apps
|
||||||
render_img('tweak.png', 'calibre-ebook-edit.png', width=256, height=256)
|
'''.splitlines()])
|
||||||
cc('xdg-icon-resource install --size 256 calibre-ebook-edit.png calibre-ebook-edit', shell=True)
|
for line in icons:
|
||||||
self.icon_resources.append(('apps', 'calibre-ebook-edit', '256'))
|
iconsrc, basename, context = line.split()
|
||||||
|
install_icons(iconsrc, basename, context, is_last_icon=line is icons[-1])
|
||||||
|
|
||||||
mimetypes = set()
|
mimetypes = set()
|
||||||
for x in all_input_formats():
|
for x in all_input_formats():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user