feat(dupe): add Next Unreviewed button to group toolbox (#131) #143

Merged
ValleyGeek merged 2 commits from 0.2.4/issue-131-next-unreviewed-button into main 2026-06-25 06:22:20 +00:00
Member

Summary

  • Duplicates workbench: a Next Unreviewed button at the top of the duplicate-group list jumps to the next group, in list order with wraparound, that hasn't been resolved yet — not all marked DELETE, not down to one keeper, and not yet viewed. It's disabled once every visible group already has a review status.

Bumps VERSION to 0.3.3.

Test plan

  • pytest — full suite passes (615 passed, 1 skipped)
  • ruff check / ruff format --check pass
  • scripts/smoke-ui-exit.sh — clean Qt teardown
  • New tests covering wraparound, the unresolved-group detection rule, and the disabled state once everything is resolved
  • Manually exercised in a real directory with 2,200 images / 270 duplicate groups
## Summary - Duplicates workbench: a **Next Unreviewed** button at the top of the duplicate-group list jumps to the next group, in list order with wraparound, that hasn't been resolved yet — not all marked DELETE, not down to one keeper, and not yet viewed. It's disabled once every visible group already has a review status. Bumps VERSION to 0.3.3. ## Test plan - [x] `pytest` — full suite passes (615 passed, 1 skipped) - [x] `ruff check` / `ruff format --check` pass - [x] `scripts/smoke-ui-exit.sh` — clean Qt teardown - [x] New tests covering wraparound, the unresolved-group detection rule, and the disabled state once everything is resolved - [x] Manually exercised in a real directory with 2,200 images / 270 duplicate groups
Add a button at the top of the duplicate-group toolbox that jumps the
active group to the next group (toolbox order, wrapping) that has no
review status yet — not all-deleted, not down to one keeper, and not
marked viewed (the same dupe_group_review_status() used by the toolbox
list and Dupe Grid icons). Disabled whenever no unreviewed groups
remain. Reuses the existing set_active_tag()/_scroll_active_button_into_view()
path from issue #113, so the new entry point gets the keep-on-screen
scroll behavior for free.

Threading notes: no new worker/background code — pure widget logic and
a pure helper function (find_next_unreviewed_tag) operating on already
in-memory summaries.
Continues the v0.3.0 stacked tranche (0.3.0 -> 0.3.1 -> 0.3.2 -> 0.3.3).
ValleyGeek deleted branch 0.2.4/issue-131-next-unreviewed-button 2026-06-25 06:22:20 +00:00
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!143
No description provided.