From 7e8b0cafc63005abab451a59dc9012e7338b366e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 22 Aug 2015 21:30:38 +0530 Subject: [PATCH] Hook to create icon themes from Preferences->Misc --- src/calibre/gui2/icon_theme.py | 4 ++++ src/calibre/gui2/preferences/misc.py | 5 +++++ src/calibre/gui2/preferences/misc.ui | 19 +++++++++++++------ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/calibre/gui2/icon_theme.py b/src/calibre/gui2/icon_theme.py index a0585acbcd..18fca2c087 100644 --- a/src/calibre/gui2/icon_theme.py +++ b/src/calibre/gui2/icon_theme.py @@ -28,6 +28,8 @@ IMAGE_EXTENSIONS = {'png', 'jpg', 'jpeg'} THEME_COVER = 'icon-theme-cover.jpg' THEME_METADATA = 'metadata.json' +# Theme creation {{{ + def render_svg(filepath): must_use_qt(headless=False) pngpath = filepath[:-4] + '.png' @@ -304,6 +306,8 @@ def create_theme(folder=None, parent=None): with open(dest, 'wb') as f: f.write(raw) +# }}} + if __name__ == '__main__': from calibre.gui2 import Application app = Application([]) diff --git a/src/calibre/gui2/preferences/misc.py b/src/calibre/gui2/preferences/misc.py index 15351e7aac..7aca02c2c5 100644 --- a/src/calibre/gui2/preferences/misc.py +++ b/src/calibre/gui2/preferences/misc.py @@ -36,6 +36,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): ' conversion. Lower this number' ' if you want calibre to use less CPU.'))) self.device_detection_button.clicked.connect(self.debug_device_detection) + self.icon_theme_button.clicked.connect(self.create_icon_theme) self.button_open_config_dir.clicked.connect(self.open_config_dir) self.user_defined_device_button.clicked.connect(self.user_defined_device) proxies = get_proxies(debug=False) @@ -46,6 +47,10 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): txt = _('Using proxies:') + ''.join(lines) self.proxies.setText(txt) + def create_icon_theme(self): + from calibre.gui2.icon_theme import create_theme + create_theme(parent=self) + def debug_device_detection(self, *args): from calibre.gui2.preferences.device_debug import DebugDevice d = DebugDevice(self.gui, self) diff --git a/src/calibre/gui2/preferences/misc.ui b/src/calibre/gui2/preferences/misc.ui index 18d860dd82..56bd1c4b6b 100644 --- a/src/calibre/gui2/preferences/misc.ui +++ b/src/calibre/gui2/preferences/misc.ui @@ -17,7 +17,7 @@ - Max. simultaneous conversion/news download/plugin jobs: + Max. simultaneous conversion/&news download/plugin jobs: opt_worker_limit @@ -91,7 +91,7 @@ - + Qt::Vertical @@ -104,14 +104,14 @@ - + Open calibre &configuration directory - + Qt::Vertical @@ -124,7 +124,7 @@ - + @@ -134,7 +134,7 @@ - &Abort jobs that take more than: + Abort &jobs that take more than: opt_worker_max_time @@ -157,6 +157,13 @@ + + + + Create a calibre &icon theme + + +