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.
This commit is contained in:
parent
337d5d8087
commit
96740acb4c
@ -1117,13 +1117,48 @@ class BooruApp(QMainWindow):
|
|||||||
def _on_library_selected(self, path: str) -> None:
|
def _on_library_selected(self, path: str) -> None:
|
||||||
self._set_preview_media(path, Path(path).name)
|
self._set_preview_media(path, Path(path).name)
|
||||||
self._update_fullscreen(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:
|
def _on_library_activated(self, path: str) -> None:
|
||||||
self._set_preview_media(path, Path(path).name)
|
self._set_preview_media(path, Path(path).name)
|
||||||
self._update_fullscreen(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:
|
def _on_bookmark_selected(self, fav) -> None:
|
||||||
self._status.showMessage(f"Bookmark #{fav.post_id}")
|
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)
|
self._on_bookmark_activated(fav)
|
||||||
|
|
||||||
def _on_bookmark_activated(self, fav) -> None:
|
def _on_bookmark_activated(self, fav) -> None:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user