fix: Grid column layout on open and sequential Shift selection (0.4.2, issue #149) #153

Merged
ValleyGeek merged 4 commits from 0.4.1/issue-149-grid-columns-selection into main 2026-08-12 13:04:46 +00:00
Member

Summary

  • Issue #149: Grid columns no longer wrap the last column into empty right-side space on open or after right-panel/splitter resize. Column math re-applies on viewport resize, reserves scrollbar width only when the bar is not already consuming space, and re-runs after content preload.
  • Sequential selection: Shift+click selects contiguous images in list order from the selection anchor through the clicked thumbnail (not a rectangular column block in IconMode).
  • Release 0.4.2 (patch): CHANGELOG, USER_GUIDE, DESIGN updates.

Test plan

  • Open a directory with enough images for multiple grid rows and a vertical scrollbar — last column fills available width without a large empty strip on the right
  • Resize the window and drag the right-panel splitter — columns reflow correctly without needing a zoom nudge
  • Change thumbnail size up/down — layout remains correct (existing path)
  • Click image A, Shift+click image B several rows away — selection includes every image between A and B in grid order, not only a rectangular block of columns
  • Ctrl+click to multi-select, then Ctrl+Shift+click — range is added without clearing the rest of the selection
  • pytest tests/test_grid_selection_filter.py tests/test_pr7_shell.py tests/test_thumbnail_generator.py tests/test_grid_input_filters.py

Closes #149

## Summary - **Issue #149:** Grid columns no longer wrap the last column into empty right-side space on open or after right-panel/splitter resize. Column math re-applies on viewport resize, reserves scrollbar width only when the bar is not already consuming space, and re-runs after content preload. - **Sequential selection:** Shift+click selects contiguous images in **list order** from the selection anchor through the clicked thumbnail (not a rectangular column block in IconMode). - Release **0.4.2** (patch): CHANGELOG, USER_GUIDE, DESIGN updates. ## Test plan - [ ] Open a directory with enough images for multiple grid rows and a vertical scrollbar — last column fills available width without a large empty strip on the right - [ ] Resize the window and drag the right-panel splitter — columns reflow correctly without needing a zoom nudge - [ ] Change thumbnail size up/down — layout remains correct (existing path) - [ ] Click image A, Shift+click image B several rows away — selection includes every image between A and B in grid order, not only a rectangular block of columns - [ ] Ctrl+click to multi-select, then Ctrl+Shift+click — range is added without clearing the rest of the selection - [ ] `pytest tests/test_grid_selection_filter.py tests/test_pr7_shell.py tests/test_thumbnail_generator.py tests/test_grid_input_filters.py` Closes #149
Re-apply justified column math when the grid viewport resizes (including
splitter/right-panel changes that skip MainWindow.resizeEvent), reserve
scrollbar extent only when the bar is not already consuming viewport
space, and coalesce layout passes so open/load no longer wraps the last
column into empty right-side space.
IconMode Shift+click used a visual rectangle (square block of columns).
Select contiguous model rows from the selection anchor through the
clicked item instead, and avoid setCurrentIndex wiping multi-select.
test: cover grid column fit and sequential Shift selection
All checks were successful
CI / lint (push) Successful in 13s
CI / test (push) Successful in 25m50s
CI / appimage (push) Successful in 14m48s
CI / build-appimage (push) Successful in 0s
CI / windows-exe (push) Successful in 16m29s
CI / build-windows-exe (push) Successful in 0s
631625efb4
Regression tests for issue #149 column layout after right-panel apply
and content load, plus Shift/Ctrl+Shift sequential range selection.
docs: PR-prep for 0.4.2 grid columns and sequential selection (issue #149)
All checks were successful
CI / lint (push) Successful in 13s
CI / test (push) Successful in 2m51s
CI / appimage (push) Successful in 14m39s
CI / build-appimage (push) Successful in 0s
CI / windows-exe (push) Successful in 17m7s
CI / build-windows-exe (push) Successful in 0s
06024ab7b0
Bump VERSION to 0.4.2, document the column-layout and Shift-range selection
fixes in CHANGELOG and the bundled user guide, and note the grid viewport
re-layout and sequential selection behavior in DESIGN.md.
Grok force-pushed 0.4.1/issue-149-grid-columns-selection from 06024ab7b0
All checks were successful
CI / lint (push) Successful in 13s
CI / test (push) Successful in 2m51s
CI / appimage (push) Successful in 14m39s
CI / build-appimage (push) Successful in 0s
CI / windows-exe (push) Successful in 17m7s
CI / build-windows-exe (push) Successful in 0s
to 0fafe6f6e9
All checks were successful
CI / lint (push) Successful in 14s
CI / test (push) Successful in 2m56s
CI / appimage (push) Successful in 23m18s
CI / build-appimage (push) Successful in 0s
CI / windows-exe (push) Successful in 28m30s
CI / build-windows-exe (push) Successful in 0s
2026-08-12 13:04:22 +00:00
Compare
ValleyGeek deleted branch 0.4.1/issue-149-grid-columns-selection 2026-08-12 13:04:46 +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!153
No description provided.