6c1a98a827
QSS @palette/${} preprocessor + theme overhaul: themable popout overlays, slider square, mpv letterbox via QPalette, embedded controls under media, compact toolbar buttons
2026-04-07 14:41:00 -05:00
1712fc5836
Side-by-side +/- spinbox buttons + auto-derived dialog min height so cache fields can't clip
2026-04-07 14:40:22 -05:00
dded54c435
Selection border on thumbnails uses pen-aware QRectF + rounded corners (smooth, even, no off-by-one)
2026-04-07 14:40:16 -05:00
463f77d8bb
Make info panel tag colors QSS-targetable, delete dead theme.py + green palette constants
2026-04-07 13:15:31 -05:00
72150fc98b
Add BOORU_VIEWER_NO_HYPR_RULES + BOORU_VIEWER_NO_POPOUT_ASPECT_LOCK env vars for ricers with their own windowrules
2026-04-07 12:27:22 -05:00
33293dfbae
Wrap video Next loop to start of bookmarks/library list at end of media
2026-04-07 11:41:26 -05:00
6d3d27d9d5
Persist main window state — splitter sizes, geometry, floating, maximized; flush on close
2026-04-07 11:40:19 -05:00
389e455ac0
Fix Open in Browser/Default App on bookmarks and library tabs (route per active tab, drop random-cache fallback)
2026-04-07 11:37:24 -05:00
74f948a3e8
Speed up page loads — pre-fetch bookmarks/cache as sets, off-load PIL conversion to a worker
2026-04-07 11:36:23 -05:00
2b9bf22249
Refresh popout BL Tag menu when navigating between bookmarked posts
2026-04-07 11:13:46 -05:00
8ef40dc0fe
Restore popout windowed position on F11 exit (defer fit, disable Hyprland anim, dedupe video-params)
2026-04-07 11:13:43 -05:00
56cb5ce1df
Scroll tilt navigates one cell/post in grid, preview, and popout
2026-04-07 08:50:13 -05:00
92b7a16ab2
Restore popout position via hyprctl on first fit (Wayland ignores Qt setGeometry for child windows)
2026-04-06 21:36:40 -05:00
2f3161f974
Save popout position from hyprctl on close (Wayland can't report position to Qt)
2026-04-06 19:51:35 -05:00
7004f38668
Popout max height 90% of screen
2026-04-06 19:25:04 -05:00
37082a55c1
Consolidate popout sizing into single _fit_to_content function
2026-04-06 19:23:42 -05:00
f2a85bb634
Scale up landscape content if window too narrow (min 250px height)
2026-04-06 19:17:40 -05:00
803b5f5b24
Remove landscape minimum, respect user's saved window width with 85% height cap
2026-04-06 19:15:17 -05:00
4cf094f517
Revert user-resize tracking, keep simple min/max constraints
2026-04-06 19:14:08 -05:00
c0a189192e
Popout respects user resize per session, resets when stretched to minimum
2026-04-06 19:12:34 -05:00
1de6f02ed0
Bump landscape popout minimum to 45% of screen
2026-04-06 19:03:06 -05:00
0a1fbb7906
Landscape popout minimum width 35% of screen
2026-04-06 19:02:07 -05:00
aaf33dd7c7
Limit popout height to 85% of screen for portrait content
2026-04-06 19:00:22 -05:00
924e065e65
Set cached_path on bookmark thumbnails for drag and copy
2026-04-06 15:20:50 -05:00
0e6e7090ff
Unset keep_aspect_ratio before resize to allow aspect ratio changes
2026-04-06 15:15:10 -05:00
f295e51d59
Clamp popout to both screen width and height on aspect change
2026-04-06 15:07:43 -05:00
5e91e7ebb9
Fix popout overlay zone detection: map cursor to window coordinates
2026-04-06 14:16:23 -05:00
c6c4df1e77
Tighten popout overlay trigger zones to 40px
2026-04-06 14:14:51 -05:00
e01aa86063
Popout overlay: toolbar shows near top edge, controls near bottom
2026-04-06 14:13:40 -05:00
84726f9677
Clamp popout height to screen bounds on landscape-to-portrait transition
2026-04-06 14:00:32 -05:00
2fbf2f6472
0.2.0: mpv backend, popout viewer, preview toolbar, API retry, SearchState refactor
...
Video:
- Replace Qt Multimedia with mpv via python-mpv + OpenGL render API
- Hardware-accelerated decoding, frame-accurate seeking, proper EOF detection
- Translucent overlay controls in both preview and popout
- LC_NUMERIC=C for mpv locale compatibility
Popout viewer (renamed from slideshow):
- Floating toolbar + controls overlay with auto-hide (2s)
- Window auto-resizes to content aspect ratio on navigation
- Hyprland: hyprctl resizewindowpixel + keep_aspect_ratio prop
- Window geometry persisted to DB across sessions
- Smart F11 exit sizing (60% monitor, centered)
Preview toolbar:
- Bookmark, Save, BL Tag, BL Post, Popout buttons above preview
- Save opens folder picker menu, shows Save/Unsave state
- Blacklist actions have confirmation dialogs
- Per-tab button visibility (Library: Save + Popout only)
- Cross-tab state management with grid selection clearing
Search & pagination:
- SearchState dataclass replaces 8 scattered attrs + defensive getattr
- Media type filter dropdown (All/Animated/Video/GIF/Audio)
- API retry with backoff on 429/503/timeout
- Infinite scroll dedup fix (local seen set per backfill round)
- Prev/Next buttons hide at boundaries, "(end)" status indicator
Grid:
- Rubber band drag selection
- Saved/bookmarked dots update instantly across all tabs
- Library/bookmarks emit signals on file deletion for cross-tab sync
Settings & misc:
- Default site option
- Max thumbnail cache setting (500MB default)
- Source URLs clickable in info panel
- Long URLs truncated to prevent splitter blowout
- Bulk save no longer auto-bookmarks
2026-04-06 13:43:46 -05:00
b30a469dde
Slideshow defaults to fullscreen, remembers windowed size on F11
2026-04-06 01:27:17 -05:00
bda92a0a87
Instant infinite scroll drain, trigger 3 rows early
...
Old staggered drain (50ms per post) was added for visual polish but
made infinite scroll painfully slow — a 40-post page took 2 seconds
just to add to the grid. Thumbnails already load async via _fetch_thumbnail,
so the stagger was just delaying grid population for no real benefit.
Now all posts are added instantly in one pass with thumbnails filling in
as they arrive. Scroll trigger widened from 1 row to 3 rows from bottom
so the next page starts loading before you reach the end.
2026-04-06 01:01:53 -05:00
a93a8bc70f
Pause video when opening in external application
2026-04-05 23:40:17 -05:00
5f4af78e91
Apply saved thumbnail size on startup
2026-04-05 22:17:13 -05:00
1ac3706e96
Trigger infinite scroll when splitter/resize removes scrollbar
2026-04-05 22:15:21 -05:00
57475098e2
Fix infinite scroll not triggering when results don't fill viewport
2026-04-05 22:12:32 -05:00
56b802b745
Simplify combobox dropdown styling — let Fusion draw its own arrow
2026-04-05 21:55:47 -05:00
76acb8bb67
Fix combobox dropdown arrow styling on Windows dark mode
2026-04-05 21:48:58 -05:00
1a5dbff1bb
Clean up dead code and unused imports
2026-04-05 21:30:47 -05:00
8467c0696b
Add post date to info line
2026-04-05 21:15:22 -05:00
e22cde2a27
Add start-from-page field in top bar
2026-04-05 21:11:34 -05:00
efc12e70ac
Fix infinite scroll stopping early from false exhaustion
2026-04-05 21:08:19 -05:00
c39e05cdb2
Lock video controls to bottom of preview panel
2026-04-05 21:08:19 -05:00
d283376ebf
Thumbnail selection/hover hugs pixmap content rect
2026-04-05 21:08:18 -05:00
3b22538e1a
Restore auto-sizing for preview panel only
...
Preview: constrains height to video aspect ratio (no bars)
Slideshow: KeepAspectRatio with themed letterbox (centered)
2026-04-05 20:44:10 -05:00
24f8ffff51
Remove auto-sizing, theme-colored letterbox bars instead
...
Let KeepAspectRatio handle sizing (centered by default).
Set video widget palette to match theme background so
letterbox bars blend with the UI instead of showing black.
2026-04-05 20:39:43 -05:00
9c17505b4b
Revert centering — breaks video playback, keep simple layout
2026-04-05 20:36:47 -05:00
0092007fc1
Center video widget in layout
2026-04-05 20:34:43 -05:00
06ccdd475d
Auto-detect video orientation — constrain correct dimension
...
Compares video aspect ratio to container ratio. Wider videos
get height constrained, taller videos get width constrained.
Works for both preview and slideshow automatically.
2026-04-05 20:30:54 -05:00