diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 7a0131f6c5..e7fb3f6b59 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -93,6 +93,17 @@ class IconResourceManager: finally: f.close() + @property + def user_theme_title(self): + q = QIcon.themeName() + if q in (self.default_dark_theme_name, self.default_light_theme_name): + return _('Default icons') + if q == self.user_dark_theme_name: + return self.user_icon_theme_metadata('dark')['title'] + if q == self.user_light_theme_name: + return self.user_icon_theme_metadata('light')['title'] + return self.user_icon_theme_metadata('any')['title'] + def initialize(self): if self.initialized: return diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py index 8b71e8f0a1..fc6064fa01 100644 --- a/src/calibre/gui2/preferences/look_feel.py +++ b/src/calibre/gui2/preferences/look_feel.py @@ -6,7 +6,6 @@ __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' import json - from collections import defaultdict from threading import Thread @@ -21,8 +20,8 @@ from calibre import human_readable from calibre.ebooks.metadata.book.render import DEFAULT_AUTHOR_LINK from calibre.constants import ismacos, iswindows from calibre.ebooks.metadata.sources.prefs import msprefs -from calibre.gui2 import default_author_link, choose_save_file, choose_files from calibre.gui2.custom_column_widgets import get_field_list as em_get_field_list +from calibre.gui2 import default_author_link, icon_resource_manager, choose_save_file, choose_files from calibre.gui2.dialogs.template_dialog import TemplateDialog from calibre.gui2.preferences import ConfigWidgetBase, test_widget, CommaSeparatedList from calibre.gui2.preferences.look_feel_ui import Ui_Form @@ -414,7 +413,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): r = self.register try: - self.icon_theme_title = json.loads(I('icon-theme.json', data=True))['name'] + self.icon_theme_title = icon_resource_manager.user_theme_title except Exception: self.icon_theme_title = _('Default icons') self.icon_theme.setText(_('Icon theme: %s') % self.icon_theme_title) @@ -871,7 +870,6 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): gprefs['cover_grid_texture'] = self.cg_bg_widget.btex if self.commit_icon_theme is not None: self.commit_icon_theme() - rr = True gprefs['default_author_link'] = self.default_author_link.value bcss = self.opt_book_details_css.toPlainText().encode('utf-8') defcss = P('templates/book_details.css', data=True, allow_user_override=False) diff --git a/src/calibre/gui2/preferences/look_feel.ui b/src/calibre/gui2/preferences/look_feel.ui index aa6e7ca374..f2a93aca12 100644 --- a/src/calibre/gui2/preferences/look_feel.ui +++ b/src/calibre/gui2/preferences/look_feel.ui @@ -150,7 +150,7 @@ - Change &icon theme (needs restart) + Change &icon theme