diff --git a/app/gui.py b/app/gui.py index 19685dc..2ed5a20 100644 --- a/app/gui.py +++ b/app/gui.py @@ -1510,7 +1510,7 @@ class StoreDetailsPanel(QWidget): if lc is not None: rid, system = lc else: - rid, system = covers.stable_key(item["name"]), "games" + rid, system = covers.stable_key(item["name"]), item.get("system") or "games" self._set_cover(rid, system) def _set_cover(self, rid, system): @@ -2033,7 +2033,12 @@ class StorePage(QWidget): else: rid, system = covers.stable_key(it["name"]), it.get("system") or "games" if not covers.is_scrapable(system): - return # themes/DLC have no covers + # Themes/DLC aren't scraped, but a downloaded theme's preview is + # cached locally — show it when available. + p = covers.cover_path(rid, system) + if p.exists() and covers.file_is_image(p): + item.setIcon(QIcon(_fit_pixmap(QPixmap(str(p)), self.ICON_W, self.ICON_H))) + return p = covers.cover_path(rid, system) if p.exists() and covers.file_is_image(p): item.setIcon(QIcon(_fit_pixmap(QPixmap(str(p)), self.ICON_W, self.ICON_H)))