diff --git a/icons/book.icns b/icons/book.icns index ee305dc9dd..47475449f0 100644 Binary files a/icons/book.icns and b/icons/book.icns differ diff --git a/icons/calibre.png b/icons/calibre.png index a70f318a44..1775d483c0 100644 Binary files a/icons/calibre.png and b/icons/calibre.png differ diff --git a/icons/ebook-edit.ico b/icons/ebook-edit.ico index 234df94a88..e499af829a 100644 Binary files a/icons/ebook-edit.ico and b/icons/ebook-edit.ico differ diff --git a/icons/favicon.ico b/icons/favicon.ico index 433b4f2d51..b8b7c1fd5e 100644 Binary files a/icons/favicon.ico and b/icons/favicon.ico differ diff --git a/icons/icns/make_iconsets.py b/icons/icns/make_iconsets.py index b804860994..a3a40b49eb 100644 --- a/icons/icns/make_iconsets.py +++ b/icons/icns/make_iconsets.py @@ -13,7 +13,7 @@ base = d(a(__file__)) os.chdir(base) imgsrc = j(d(d(base)), 'imgsrc') -sources = {'calibre':j(d(base), 'calibre.png'), 'ebook-edit':j(imgsrc, 'tweak.svg'), 'ebook-viewer':j(imgsrc, 'viewer.svg'), 'book':j(imgsrc, 'book.svg')} +sources = {'calibre':j(imgsrc, 'calibre.svg'), 'ebook-edit':j(imgsrc, 'tweak.svg'), 'ebook-viewer':j(imgsrc, 'viewer.svg'), 'book':j(imgsrc, 'book.svg')} for name, src in sources.iteritems(): iconset = name + '.iconset' @@ -39,7 +39,7 @@ for name, src in sources.iteritems(): os.remove(iname) for name in (iname, iname2x): if os.path.exists(name): - subprocess.check_call(['optipng', '-o7', name]) + subprocess.check_call(['optipng', '-o7', '-strip', 'all', name]) finally: os.chdir('..') diff --git a/icons/library.ico b/icons/library.ico index 32ce8b5d0d..b8b7c1fd5e 100644 Binary files a/icons/library.ico and b/icons/library.ico differ diff --git a/icons/make_ico_files.py b/icons/make_ico_files.py new file mode 100644 index 0000000000..8f1fc2fe7e --- /dev/null +++ b/icons/make_ico_files.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python2 +# vim:fileencoding=utf-8 +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2014, Kovid Goyal ' + +import os, shutil, subprocess + +d, j, a = (getattr(os.path, x) for x in ('dirname', 'join', 'abspath')) +base = d(a(__file__)) +os.chdir(base) + +imgsrc = j(d(base), 'imgsrc') +sources = {'library':j(imgsrc, 'calibre.svg'), 'ebook-edit':j(imgsrc, 'tweak.svg'), 'viewer':j(imgsrc, 'viewer.svg'), 'favicon':j(imgsrc, 'calibre.svg')} + +for name, src in sources.iteritems(): + os.mkdir('ico_temp') + try: + names = [] + for sz in (16, 32, 48, 256): + iname = os.path.join('ico_temp', '{0}x{0}.png'.format(sz)) + subprocess.check_call(['rsvg-convert', src, '-w', str(sz), '-h', str(sz), '-o', iname]) + subprocess.check_call(['optipng', '-o7', '-strip', 'all', iname]) + names.append(iname) + names[-1:-1] = ['-r'] + subprocess.check_call(['icotool', '-c', '--output=' + name+'.ico'] + names) + finally: + shutil.rmtree('ico_temp') diff --git a/icons/viewer.ico b/icons/viewer.ico index 4b5464c8ad..a4599ba598 100644 Binary files a/icons/viewer.ico and b/icons/viewer.ico differ diff --git a/imgsrc/calibre.svg b/imgsrc/calibre.svg new file mode 100644 index 0000000000..d3bbc7f7ef --- /dev/null +++ b/imgsrc/calibre.svg @@ -0,0 +1,758 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + CALIBRE + + + + + Kovid Goyal + + + + + + diff --git a/resources/content-server/calibre.png b/resources/content-server/calibre.png index a9a531de8f..97ae70e20b 100644 Binary files a/resources/content-server/calibre.png and b/resources/content-server/calibre.png differ diff --git a/resources/content_server/calibre.png b/resources/content_server/calibre.png index a9a531de8f..97ae70e20b 100644 Binary files a/resources/content_server/calibre.png and b/resources/content_server/calibre.png differ diff --git a/resources/images/library.png b/resources/images/library.png index cc7e8067e1..298675a647 100644 Binary files a/resources/images/library.png and b/resources/images/library.png differ diff --git a/resources/images/lt.png b/resources/images/lt.png index f99b7588a9..1e863add1f 100644 Binary files a/resources/images/lt.png and b/resources/images/lt.png differ diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index ffcb5a181d..20e15cb1ec 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -6,8 +6,7 @@ from functools import partial import apsw from PyQt5.Qt import ( - QCoreApplication, QIcon, QObject, QTimer, Qt, QSplashScreen, QBrush, - QColor, QPixmap) + QCoreApplication, QIcon, QObject, QTimer, Qt, QSplashScreen, QBrush, QColor) from calibre import prints, plugins, force_unicode from calibre.constants import (iswindows, __appname__, isosx, DEBUG, islinux, @@ -100,7 +99,7 @@ def init_qt(args): override = 'calibre-gui' if islinux else None app = Application(args, override_program_name=override) app.file_event_hook = EventAccumulator() - app.setWindowIcon(QIcon(I('lt.png'))) + app.setWindowIcon(QIcon(I('lt.png', allow_user_override=False))) return app, opts, args @@ -165,10 +164,8 @@ class SplashScreen(QSplashScreen): def __init__(self): self.drawn_once = False - QSplashScreen.__init__(self) - pmap = QPixmap(I('library.png')) - pmap.setDevicePixelRatio(getattr(self, 'devicePixelRatioF', self.devicePixelRatio)()) - self.setPixmap(pmap) + pmap = QIcon(I('library.png', allow_user_override=False)).pixmap(512, 512) + QSplashScreen.__init__(self, pmap) self.setWindowTitle(__appname__) def drawContents(self, painter): diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 8b0bb758fa..6a83ea11a4 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -261,9 +261,9 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ if config['systray_icon']: self.system_tray_icon = factory(app_id='com.calibre-ebook.gui').create_system_tray_icon(parent=self, title='calibre') if self.system_tray_icon is not None: - self.system_tray_icon.setIcon(QIcon(I('lt.png'))) + self.system_tray_icon.setIcon(QIcon(I('lt.png', allow_user_override=False))) if not (iswindows or isosx): - self.system_tray_icon.setIcon(QIcon.fromTheme('calibre-gui', QIcon(I('lt.png')))) + self.system_tray_icon.setIcon(QIcon.fromTheme('calibre-gui', self.system_tray_icon.icon())) self.system_tray_icon.setToolTip(self.jobs_button.tray_tooltip()) self.system_tray_icon.setVisible(True) self.jobs_button.tray_tooltip_updated.connect(self.system_tray_icon.setToolTip)