[Enhancement]: Option for Grid Scroll distance and smooth scrolling #87

Closed
opened 2026-06-14 19:17:14 +00:00 by ValleyGeek · 1 comment
Owner

Affected area

Thumbnail Grid and Settings

Current behavior

Grid Scrolling is a bit erratic and unclear how many lines have been scrolled

Desired improvement

  • Define a setting for choosing the number of rows the grid will scroll by
  • Define a setting for "smooth scrolling
    • Default to enabled
    • Enable quick, but smooth scrolling of the thumbnail grid so the user can see the images scroll to the new row
    • Add a tiny amount of easing at the end so they settle gently.
    • Start by targeting .4 seconds for the entire scroll operation: 0.25 for the scroll and 0.15 for the ease

References

No response

### Affected area Thumbnail Grid and Settings ### Current behavior Grid Scrolling is a bit erratic and unclear how many lines have been scrolled ### Desired improvement - Define a setting for choosing the number of rows the grid will scroll by - Define a setting for "smooth scrolling - Default to enabled - Enable quick, but smooth scrolling of the thumbnail grid so the user can see the images scroll to the new row - Add a tiny amount of easing at the end so they settle gently. - Start by targeting .4 seconds for the entire scroll operation: 0.25 for the scroll and 0.15 for the ease ### References _No response_
Member

Implemented on branch 0.1.44/issue-55-58-72-87-grid-nav-zoom (chained off the previous dev branch, not merged to main yet).

Added two new Settings → Advanced controls: "Grid scroll rows" (1–10, default 2 — how many thumbnail rows a wheel notch scrolls) and "Smooth grid scrolling" (default on — animates the scroll instead of jumping instantly, via a QPropertyAnimation with an out-cubic easing curve over 400ms). Implemented as GridScrollFilter, an event filter on the grid viewport that explicitly defers to Ctrl+wheel zoom (#55) and otherwise replaces Qt's default small pixel-step scroll. Covered by new tests in tests/test_grid_input_filters.py and a settings-persistence test in tests/test_pr13_config.py.

Note: this approximates the two-phase "0.25s scroll + 0.15s ease" spec from the issue with a single eased animation over a combined duration, to avoid overengineering a two-stage timer for a UX effect that reads the same either way.

Bundled with #58, #55, and #72 in the same branch/PR.

Implemented on branch `0.1.44/issue-55-58-72-87-grid-nav-zoom` (chained off the previous dev branch, not merged to `main` yet). Added two new **Settings → Advanced** controls: "Grid scroll rows" (1–10, default 2 — how many thumbnail rows a wheel notch scrolls) and "Smooth grid scrolling" (default on — animates the scroll instead of jumping instantly, via a `QPropertyAnimation` with an out-cubic easing curve over 400ms). Implemented as `GridScrollFilter`, an event filter on the grid viewport that explicitly defers to Ctrl+wheel zoom (#55) and otherwise replaces Qt's default small pixel-step scroll. Covered by new tests in `tests/test_grid_input_filters.py` and a settings-persistence test in `tests/test_pr13_config.py`. Note: this approximates the two-phase "0.25s scroll + 0.15s ease" spec from the issue with a single eased animation over a combined duration, to avoid overengineering a two-stage timer for a UX effect that reads the same either way. Bundled with #58, #55, and #72 in the same branch/PR.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#87
No description provided.