From 66373d63bf2448ea66125ade6fec014ac34d4ce9 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Fri, 14 Feb 2025 22:13:29 +0000 Subject: [PATCH] Two changes: * Make selection of icon priority be what the documenation says. Falling back to the category icon was not implemented. * Clear the icon cache when the tag browser is reset. --- src/calibre/gui2/tag_browser/model.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/calibre/gui2/tag_browser/model.py b/src/calibre/gui2/tag_browser/model.py index c40f6325c1..f22587125f 100644 --- a/src/calibre/gui2/tag_browser/model.py +++ b/src/calibre/gui2/tag_browser/model.py @@ -158,6 +158,8 @@ class TagTreeItem: # {{{ cc = self.value_icon_cache.get(val_icon[0]) if cc is None: cc = QIcon.ic(os.path.join(self.icon_config_dir, val_icon[0])) + if cc.isNull(): + cc = self.category_custom_icons.get(self.tag.category, None) self.value_icon_cache[val_icon[0]] = cc self.icon = cc else: @@ -530,6 +532,7 @@ class TagsModel(QAbstractItemModel): # {{{ def reset_tag_browser(self): self.beginResetModel() + self.value_icon_cache = {} self.value_icons = self.prefs['tags_browser_value_icons'] hidden_cats = self.db.new_api.pref('tag_browser_hidden_categories', {}) self.hidden_categories = set()