dashboard: fix scrolling between panes

This commit is contained in:
2 * r + 2 * t 2026-01-03 18:50:34 +11:00
parent 88d70a7f22
commit e47579c58d

View file

@ -87,7 +87,6 @@ Item {
id: row
Pane {
index: 0
sourceComponent: Dash {
visibilities: root.visibilities
state: root.state
@ -96,19 +95,16 @@ Item {
}
Pane {
index: 1
sourceComponent: Media {
visibilities: root.visibilities
}
}
Pane {
index: 2
sourceComponent: Performance {}
}
Pane {
index: 3
sourceComponent: Weather {}
}
}
@ -134,14 +130,12 @@ Item {
}
component Pane: Loader {
required property int index
Layout.alignment: Qt.AlignTop
Component.onCompleted: active = Qt.binding(() => {
const current = view.currentIndex;
// Activate current pane and adjacent panes for smooth scrolling
return Math.abs(index - current) <= 1;
const vx = Math.floor(view.visibleArea.xPosition * view.contentWidth);
const vex = Math.floor(vx + view.visibleArea.widthRatio * view.contentWidth);
return (vx >= x && vx <= x + implicitWidth) || (vex >= x && vex <= x + implicitWidth);
})
}
}