EndOfMedia doesn't fire reliably with setLoops(1). Instead,
use Infinite loops and detect the loop restart via position
jumping from near-end back to 0. Pause and emit play_next
when in Next mode. Toggle takes effect immediately.
- Grabs video position before opening slideshow and seeks to it
- Use closed signal from closeEvent instead of destroyed for
reliable preview restoration on slideshow close
- Video errors now logged instead of opening in system player
- Slideshow event filter only intercepts keys/scroll when its
window is active, fixing up/down skipping in main app
Major restructure of the favorites/library system:
- Rename "Favorites" to "Bookmarks" throughout (DB API, GUI, signals)
- Add Library tab for browsing saved files on disk with sorting
- Decouple bookmark from save — independent operations now
- Two indicators on thumbnails: star (bookmarked), green dot (saved)
- Both indicators QSS-controllable (qproperty-bookmarkedColor/savedColor)
- Unbookmarking no longer deletes saved files
- Saving no longer auto-bookmarks
- Library tab: folder sidebar, sort by date/name/size, async thumbnails
- DB table kept as "favorites" internally for migration safety
- Clicking the seek bar jumps to that position (both preview and slideshow)
- Scroll wheel adjusts volume when viewing video (both preview and slideshow)
- Filetype shown in the info bar below preview (e.g. JPG, WEBM, PNG)
- Up/Down in grid's last incomplete row moves to last post instead
of triggering page turn
- Preview panel set to NoFocus so clicking it doesn't steal
keyboard focus from the grid
- Add multi-select right-click menu in favorites (save all, unsave
all, move all, unfavorite all)
- Slideshow toolbar buttons show post state: Favorite/Unfavorite,
Save enabled/disabled, Unsave enabled/disabled
- State updates after every favorite/save/unsave action
- Slideshow mode now supports video (webm/mp4) and GIFs
- Arrow keys navigate posts in both preview and slideshow (including videos)
- , and . seek 5s back/forward in videos
- Main preview video pauses when slideshow opens (no double audio)
- Fix focus stealing by video player widgets in slideshow
- Add "Slideshow Mode" to preview right-click context menu
- Fix arrow key propagation in fullscreen/slideshow view
- Flatten Fusion dark mode buttons with stylesheet
- Fix Save button width, fix spinbox arrows on dark theme
Supports Danbooru, Gelbooru, Moebooru, and e621. Features include tag search
with autocomplete, favorites with folders, save-to-library, video playback,
drag-and-drop, multi-select, custom CSS theming, and cross-platform support.