dashboard: fix scrolling between panes
This commit is contained in:
parent
88d70a7f22
commit
e47579c58d
1 changed files with 3 additions and 9 deletions
|
|
@ -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);
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue