Follow a scan by completed pages, not blank ones#86
Open
sjg20 wants to merge 1 commit into
Open
Conversation
When scanning, the page view inserted a blank row for each new page the moment it started and scrolled straight to it, so the page filled in only after the jump. That made sense when scanners streamed the raster slowly and you watched it fill, but modern scanners deliver a whole page in one burst, so all the user sees is blank pages that flash and vanish as the view jumps ahead. Follow the scan by the pages that have data instead: don't scroll when a page merely starts, and scroll to a page once it has finished scanning, in slotNewScannedPage(). Pagemodel::slotNewScannedPage() now returns the completed page's row, and Pageview::scrollToRow() brings it to the bottom of the view (respecting the user having scrolled away). The result is that the most recently scanned pages stay on screen rather than blanks. Co-developed-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When scanning, the page view inserted a blank row for each new page the moment it started and scrolled straight to it, so the page filled in only after the jump. That made sense when scanners streamed the raster slowly and you watched it fill, but modern scanners deliver a whole page in one burst — so all you see is blank pages that flash and vanish as the view jumps ahead to the next not-yet-scanned page.
This follows the scan by the pages that actually have data:
slotBeginningPage()no longer scrolls when a page merely starts.slotNewScannedPage()scrolls to a page once it has finished scanning.Pagemodel::slotNewScannedPage()returns the completed page's row;Pageview::scrollToRow()brings it to the bottom of the view (respecting the user having scrolled away with the existing_autoscrolllogic).Net effect: the most recently scanned pages stay on screen instead of blanks.
🤖 Generated with Claude Code