controlcenter: re-corrected bind loop

This commit is contained in:
ATMDA 2025-11-16 10:56:57 -05:00
parent 21e715468e
commit d184f8d673

View file

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