diff options
Diffstat (limited to 'modules/controlcenter/components/SplitPaneWithDetails.qml')
| -rw-r--r-- | modules/controlcenter/components/SplitPaneWithDetails.qml | 87 |
1 files changed, 44 insertions, 43 deletions
diff --git a/modules/controlcenter/components/SplitPaneWithDetails.qml b/modules/controlcenter/components/SplitPaneWithDetails.qml index 5db5bdb..ce8c9d0 100644 --- a/modules/controlcenter/components/SplitPaneWithDetails.qml +++ b/modules/controlcenter/components/SplitPaneWithDetails.qml @@ -15,10 +15,12 @@ Item { required property Component leftContent required property Component rightDetailsComponent required property Component rightSettingsComponent - + property var activeItem: null - property var paneIdGenerator: function(item) { return item ? String(item) : ""; } - + property var paneIdGenerator: function (item) { + return item ? String(item) : ""; + } + property Component overlayComponent: null SplitPaneLayout { @@ -29,64 +31,63 @@ Item { leftContent: root.leftContent rightContent: Component { - Item { - id: rightPaneItem - - property var pane: root.activeItem - property string paneId: root.paneIdGenerator(pane) - property Component targetComponent: root.rightSettingsComponent - property Component nextComponent: root.rightSettingsComponent + Item { + id: rightPaneItem - function getComponentForPane() { - return pane ? root.rightDetailsComponent : root.rightSettingsComponent; - } + property var pane: root.activeItem + property string paneId: root.paneIdGenerator(pane) + property Component targetComponent: root.rightSettingsComponent + property Component nextComponent: root.rightSettingsComponent - Component.onCompleted: { - targetComponent = getComponentForPane(); - nextComponent = targetComponent; - } + function getComponentForPane() { + return pane ? root.rightDetailsComponent : root.rightSettingsComponent; + } - Loader { - id: rightLoader + Component.onCompleted: { + targetComponent = getComponentForPane(); + nextComponent = targetComponent; + } - anchors.fill: parent + Loader { + id: rightLoader - opacity: 1 - scale: 1 - transformOrigin: Item.Center + anchors.fill: parent - clip: false - sourceComponent: rightPaneItem.targetComponent - } + opacity: 1 + scale: 1 + transformOrigin: Item.Center - Behavior on paneId { - PaneTransition { - target: rightLoader - propertyActions: [ - PropertyAction { - target: rightPaneItem - property: "targetComponent" - value: rightPaneItem.nextComponent - } - ] + clip: false + sourceComponent: rightPaneItem.targetComponent + } + + Behavior on paneId { + PaneTransition { + target: rightLoader + propertyActions: [ + PropertyAction { + target: rightPaneItem + property: "targetComponent" + value: rightPaneItem.nextComponent + } + ] + } } - } - onPaneChanged: { - nextComponent = getComponentForPane(); - paneId = root.paneIdGenerator(pane); + onPaneChanged: { + nextComponent = getComponentForPane(); + paneId = root.paneIdGenerator(pane); + } } } - } } Loader { id: overlayLoader - + anchors.fill: parent z: 1000 sourceComponent: root.overlayComponent active: root.overlayComponent !== null } } - |