Skip to content

qml: improve hit testing in `FadingEdgeForListView`

Fatih Uzunoğlu requested to merge fuzun/vlc:qt/robustfadingedge into master
  • Use hover handler to detect hovering without affecting items getting hovered (blocking is false by default).
  • Get rid of unreliable firstVisibleItem and lastVisibleItem, and rely on currentItem 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.

Edited by Fatih Uzunoğlu

Merge request reports

Loading