PR5: Thumbnail grid foundation (IconMode + delegate) #16

Closed
Grok wants to merge 0 commits from pr5-thumbnail-grid into main
Member

Summary

Delivers PR5 from DESIGN.md: visual thumbnail grid milestone on top of PR4 scan flow.

Changes

  • MainWindow: QListView in IconMode with uniform grid cells, ThumbnailDelegate, multi-select, selection count in status bar
  • ThumbnailDelegate: Placeholder painting, filename label, tag badges (deterministic colors), DELETE red-X overlay
  • ImageListModel: DisplayRole uses filename; DecorationRole decodes existing thumbnail_blob on main thread
  • Tests: 6 new pytest-qt cases; 24 tests total
  • Docs: PR5 marked complete

Ambiguities (issues opened)

  • #13 — Default grid cell size before PR6 slider
  • #14 — Tag badge visual spec (PR8)
  • #15 — QSortFilterProxyModel timing (PR7/8)

Verification

  • ruff + pytest (24 passed)
  • Nuitka smoke build OK
## Summary Delivers PR5 from DESIGN.md: visual thumbnail grid milestone on top of PR4 scan flow. ## Changes - **MainWindow**: QListView in IconMode with uniform grid cells, `ThumbnailDelegate`, multi-select, selection count in status bar - **ThumbnailDelegate**: Placeholder painting, filename label, tag badges (deterministic colors), DELETE red-X overlay - **ImageListModel**: DisplayRole uses filename; DecorationRole decodes existing `thumbnail_blob` on main thread - **Tests**: 6 new pytest-qt cases; 24 tests total - **Docs**: PR5 marked complete ## Ambiguities (issues opened) - #13 — Default grid cell size before PR6 slider - #14 — Tag badge visual spec (PR8) - #15 — QSortFilterProxyModel timing (PR7/8) ## Verification - ruff + pytest (24 passed) - Nuitka smoke build OK
Switch main window QListView to IconMode with ThumbnailDelegate painting
placeholder cells, filenames, tag badges, and DELETE overlay. Enhance
ImageListModel Display/Decoration roles and selection status updates.
docs: mark PR5 complete and note open ambiguities (#13-#15)
All checks were successful
CI / lint (pull_request) Successful in 6s
CI / test (pull_request) Successful in 1m13s
CI / nuitka-smoke (pull_request) Successful in 8m5s
badec3f5e9
Author
Member

PR5 complete — all scope delivered; issues #13–#15 resolved into DR-012/013/014.

  • Code: IconMode grid + delegate + tests (24 passing)
  • Docs: DECISIONS.md, DESIGN.md, TECHNICAL_OUTLINE.md updated
  • Follow-up: #17 (metadata scan sort, PR7), PR6 (DR-012 slider), PR8 (DR-013 tag panel)

Ready for merge when CI green.

**PR5 complete** — all scope delivered; issues #13–#15 resolved into DR-012/013/014. - Code: IconMode grid + delegate + tests (24 passing) - Docs: DECISIONS.md, DESIGN.md, TECHNICAL_OUTLINE.md updated - Follow-up: #17 (metadata scan sort, PR7), PR6 (DR-012 slider), PR8 (DR-013 tag panel) Ready for merge when CI green.
Grok closed this pull request 2026-06-04 19:23:52 +00:00
Author
Member

Closing: PR5 merged to main at 715cadb. All scope delivered (IconMode grid, delegate, model roles, tests). Follow-ups tracked in #17 (PR7) and PR6 branch.

Closing: PR5 merged to `main` at 715cadb. All scope delivered (IconMode grid, delegate, model roles, tests). Follow-ups tracked in #17 (PR7) and PR6 branch.
Some checks failed
CI / lint (push) Successful in 10s
CI / lint (pull_request) Successful in 9s
CI / test (push) Successful in 3m31s
CI / test (pull_request) Successful in 3m17s
CI / nuitka-smoke (push) Successful in 18m56s
CI / nuitka-smoke (pull_request) Failing after 17m0s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ai-collab/bulk-image-organizer!16
No description provided.