qml: improve hit testing in `FadingEdgeForListView`
- Use hover handler to detect hovering without affecting items getting hovered (
blocking
isfalse
by default). - Get rid of unreliable
firstVisibleItem
andlastVisibleItem
, and rely oncurrentItem
instead.
Stationary header/footer is still not cared of (the bindings already disable beginning/end fading if header/footer is stationary). Qt Quick views are already problematic in that regard themselves, such that even if stationary header/footer is opaque events need to be consumed (which is not trivial) somehow otherwise delegate receive the events.
In Playlist list view, the (stationary) header is outside the view, this makes it possible to set clip
so that the header does not need to be opaque, and more importantly the events are not propagated to the delegate instance beneath. We currently have this issue with media library list view, because its stationary header uses ListView::header
and headerPositioning: ListView.OverlayHeader
(making it stationary unlike ListView.InlineHeader
), but does not consume all the events (such as, drag event).
Request review @chub.