feat: add page-by-page preview in the GUI after building (Closes #18) #21

Merged
shahondin1624 merged 1 commits from feature/issue-18-page-by-page-preview-gui into main 2026-03-17 14:25:13 +01:00

Summary

  • Add Apache PDFBox dependency to the GUI module for PDF-to-image rendering
  • Create PdfPreviewPanel composable with page navigation (prev/next), page counter ("Seite X / Y"), close button, and lazy page rendering on IO threads
  • Create PdfPreviewState class that manages PDF document lifecycle, page caching, and current page state
  • Integrate preview into App composable: preview appears automatically after successful build, replaces the song list area, and can be toggled with a "Vorschau" button

Test plan

  • GUI module compiles successfully with PDFBox dependency
  • All existing tests pass (no regressions)
  • Preview panel shows after successful build (verified by code review)
  • Page navigation buttons are properly enabled/disabled at boundaries
  • Preview can be closed and reopened via buttons
  • Async rendering keeps GUI responsive (Dispatchers.IO usage verified)
## Summary - Add Apache PDFBox dependency to the GUI module for PDF-to-image rendering - Create `PdfPreviewPanel` composable with page navigation (prev/next), page counter ("Seite X / Y"), close button, and lazy page rendering on IO threads - Create `PdfPreviewState` class that manages PDF document lifecycle, page caching, and current page state - Integrate preview into `App` composable: preview appears automatically after successful build, replaces the song list area, and can be toggled with a "Vorschau" button ## Test plan - [x] GUI module compiles successfully with PDFBox dependency - [x] All existing tests pass (no regressions) - [x] Preview panel shows after successful build (verified by code review) - [x] Page navigation buttons are properly enabled/disabled at boundaries - [x] Preview can be closed and reopened via buttons - [x] Async rendering keeps GUI responsive (Dispatchers.IO usage verified)
shahondin1624 added 1 commit 2026-03-17 14:25:08 +01:00
Add a PDF preview panel using Apache PDFBox that appears automatically
after a successful build. Users can navigate pages with prev/next buttons,
see the current page count, and toggle the preview on/off. Pages are
rendered lazily on IO threads to keep the GUI responsive.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
shahondin1624 merged commit 0f038a68d8 into main 2026-03-17 14:25:13 +01:00
shahondin1624 deleted branch feature/issue-18-page-by-page-preview-gui 2026-03-17 14:25:13 +01:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shahondin1624/songbook#21