fix(qt): the local album page gets its zebra, across the whole row

The shared TrackRow has had a `zebra` flag all along, off by default, and the
Qobuz album page turns it on. The local one never did — and turning it on at
the call site would not have been enough either, because LocalTrackRow wraps
the shared row without forwarding the flag.

Forwarding it is still not the fix. TrackRow tints its own background
rectangle, which is `parent.width` wide, and this wrapper hands the shared row
`root.width - 26 - 46`: a 26px gutter for the source glyph and 46px for the
context menu the wrapper draws itself. A stripe painted from in there stops
72px short and leaves both controls outside it — which is what the smoke
caught. The stripe is therefore painted by the wrapper, full width, declared
before the shared row so it lands underneath and takes no pointer events.
Same colour literal and same parity rule as rows/TrackRow.qml, so a local list
and a Qobuz list stripe identically.

cc
This commit is contained in:
vicrodh committed 2026-08-18 22:15:33 -06:00
1 parent 5b99a6698e
commit 313a7e7e4e
2 files changed
+24

No files matched your search

@@ -660,6 +660,10 @@ Rectangle {
onLoaded: root._rowsBuilt++ // INSTRUM.
sourceComponent: LocalTrackRow {
width: page.width
// Same as the Qobuz album page
// (AlbumView.qml) — the two track lists
// should not disagree about this.
zebra: true
item: trackBlock.modelData
number: trackBlock.modelData.number > 0
? trackBlock.modelData.number : trackBlock.index + 1