diff options
Diffstat (limited to 'modules/dashboard/Content.qml')
| -rw-r--r-- | modules/dashboard/Content.qml | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/modules/dashboard/Content.qml b/modules/dashboard/Content.qml index 33171e0..4f4e242 100644 --- a/modules/dashboard/Content.qml +++ b/modules/dashboard/Content.qml @@ -1,3 +1,5 @@ +pragma ComponentBehavior: Bound + import "root:/widgets" import "root:/services" import "root:/config" @@ -82,20 +84,20 @@ Item { RowLayout { id: row - Dash { - Layout.alignment: Qt.AlignTop - shouldUpdate: visible && this === view.currentItem - visibilities: root.visibilities + Pane { + sourceComponent: Dash { + visibilities: root.visibilities + } } - Media { - Layout.alignment: Qt.AlignTop - shouldUpdate: visible && this === view.currentItem - visibilities: root.visibilities + Pane { + sourceComponent: Media { + visibilities: root.visibilities + } } - Performance { - Layout.alignment: Qt.AlignTop + Pane { + sourceComponent: Performance {} } } @@ -124,4 +126,14 @@ Item { easing.bezierCurve: Appearance.anim.curves.emphasized } } + + component Pane: Loader { + Layout.alignment: Qt.AlignTop + + Component.onCompleted: active = Qt.binding(() => { + 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); + }) + } } |