From 96740acb4c9ab5211be234eb3ae5c244d8df2fde Mon Sep 17 00:00:00 2001 From: pax Date: Sun, 5 Apr 2026 16:39:39 -0500 Subject: [PATCH] Show correct tags in info panel for Library and Bookmarks Library looks up metadata from library_meta table by post ID. Bookmarks creates a Post from the bookmark's stored tags/score/rating. --- booru_viewer/gui/app.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/booru_viewer/gui/app.py b/booru_viewer/gui/app.py index fb572cd..469db4d 100644 --- a/booru_viewer/gui/app.py +++ b/booru_viewer/gui/app.py @@ -1117,13 +1117,48 @@ class BooruApp(QMainWindow): def _on_library_selected(self, path: str) -> None: self._set_preview_media(path, Path(path).name) self._update_fullscreen(path, Path(path).name) + # Show metadata in info panel + stem = Path(path).stem + if stem.isdigit() and self._info_panel.isVisible(): + meta = self._db.get_library_meta(int(stem)) + if meta: + from ..core.api.base import Post + p = Post( + id=int(stem), file_url=meta.get("file_url", ""), + preview_url=None, tags=meta.get("tags", ""), + score=meta.get("score", 0), rating=meta.get("rating"), + source=meta.get("source"), tag_categories={}, + ) + self._info_panel.set_post(p) def _on_library_activated(self, path: str) -> None: self._set_preview_media(path, Path(path).name) self._update_fullscreen(path, Path(path).name) + stem = Path(path).stem + if stem.isdigit() and self._info_panel.isVisible(): + meta = self._db.get_library_meta(int(stem)) + if meta: + from ..core.api.base import Post + p = Post( + id=int(stem), file_url=meta.get("file_url", ""), + preview_url=None, tags=meta.get("tags", ""), + score=meta.get("score", 0), rating=meta.get("rating"), + source=meta.get("source"), tag_categories={}, + ) + self._info_panel.set_post(p) def _on_bookmark_selected(self, fav) -> None: self._status.showMessage(f"Bookmark #{fav.post_id}") + # Show bookmark tags in info panel + if self._info_panel.isVisible(): + from ..core.api.base import Post + p = Post( + id=fav.post_id, file_url=fav.file_url or "", + preview_url=fav.preview_url, tags=fav.tags or "", + score=fav.score or 0, rating=fav.rating, + source=fav.source, tag_categories={}, + ) + self._info_panel.set_post(p) self._on_bookmark_activated(fav) def _on_bookmark_activated(self, fav) -> None: