mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Handle plugin icon overrides in sub-folders
This commit is contained in:
parent
bfbb4f1c48
commit
93bec9e28b
@ -171,18 +171,19 @@ class IconResourceManager:
|
|||||||
sq = f'{sq}-for-{self.color_palette}-theme{ext}'
|
sq = f'{sq}-for-{self.color_palette}-theme{ext}'
|
||||||
if sq in self.override_items['']:
|
if sq in self.override_items['']:
|
||||||
ans = os.path.join(self.override_icon_path, sq)
|
ans = os.path.join(self.override_icon_path, sq)
|
||||||
elif len(parts) == 2:
|
else:
|
||||||
entries = self.override_items.get(parts[0], ())
|
subfolder = '/'.join(parts[:-1])
|
||||||
if not entries and self.override_icon_path and parts[0] not in self.override_items:
|
entries = self.override_items.get(subfolder, ())
|
||||||
|
if not entries and self.override_icon_path and subfolder not in self.override_items:
|
||||||
try:
|
try:
|
||||||
self.override_items[parts[0]] = entries = frozenset(os.listdir(os.path.join(self.override_icon_path, parts[0])))
|
self.override_items[subfolder] = entries = frozenset(os.listdir(os.path.join(self.override_icon_path, subfolder)))
|
||||||
except OSError:
|
except OSError:
|
||||||
self.override_items[parts[0]] = entries = frozenset()
|
self.override_items[subfolder] = entries = frozenset()
|
||||||
if entries:
|
if entries:
|
||||||
sq, ext = os.path.splitext(parts[1])
|
sq, ext = os.path.splitext(parts[-1])
|
||||||
sq = f'{sq}-for-{self.color_palette}-theme{ext}'
|
sq = f'{sq}-for-{self.color_palette}-theme{ext}'
|
||||||
if sq in entries:
|
if sq in entries:
|
||||||
ans = os.path.join(self.override_icon_path, parts[0], sq)
|
ans = os.path.join(self.override_icon_path, subfolder, sq)
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
def __call__(self, name):
|
def __call__(self, name):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user