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
+
+
+