From 6bff175993299c9adeb1a24ed195690720598afa Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 17 Jul 2024 13:07:55 +0530 Subject: [PATCH] Icon theme creation dialog: Fix icons with light/dark variants that do not have light/dark variants in the builtin icons incorrectly being reported as missing. --- src/calibre/gui2/icon_theme.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/icon_theme.py b/src/calibre/gui2/icon_theme.py index aa94005d13..b7ecba7741 100644 --- a/src/calibre/gui2/icon_theme.py +++ b/src/calibre/gui2/icon_theme.py @@ -136,10 +136,15 @@ def read_theme_from_folder(path): name_map = read_images_from_folder(path) name_map.pop(THEME_COVER, None) name_map.pop('blank.png', None) - current_names = frozenset(current_image_map) - names = frozenset(name_map) + + def canonical_name(x): + return x.replace('-for-dark-theme', '').replace('-for-light-theme', '') + + current_names = set(map(canonical_name, current_image_map)) + names = set(map(canonical_name, name_map)) extra = names - current_names missing = current_names - names + missing.discard('blank.png') try: with open(os.path.join(path, THEME_METADATA), 'rb') as f: metadata = json.load(f)