Until now, with TableView we only had the ability to set contentX and contentY. Those can be difficult to calculate, and sometimes TableView can adjust its origin at a bad time, such that the calculations will be wrong anyway. So for Qt 6, some new functions have been added: positionViewAtCell(), cellAtPos() etc.
Another issue is how the page should be positioned when we want to make a particular location on the page (the units being in points) visible. For example when clicking a link to jump to a section of a document, other PDF viewers like xpdf and macOS Preview tend to position that location at the top. When jumping to the location of a search result, my intuition is that it might be good to position it in the center of the viewport (because how do we know the relevant context is entirely after the text that was found?); but again, other viewers tend to position it at the top, at least when initially making a jump to a very different location. If you then keep finding more search hits nearby, some viewers keep making little jumps, while others just move the highlight and only jump again if it's necessary to show the next hit within the viewport. Of course, always jumping is easier, in code. But there is usually some margin anyway; so I'm thinking I will add an offset property, defaulted to 20,20 or something like that. If you want to position the jumps near the center of the viewport, you can set higher offset values. And/or maybe we need an enum, because centering the hit within the viewport is different than centering the top-left corner of a hit within the viewport. I'm not even sure if link targets are always specified relative to a particular corner or center of the area where it should jump.