I have figured this out, by using states and setting the parent. It's not particularly fluid but it works
StateGroup {
id: stateGroup
states: [
State {
name: "landscape"
when: root.width >= 400
PropertyChanges {
target: issueDetails
parent: issueDetailsSplitViewContainer
}
PropertyChanges {
target: issueDetailsSplitViewContainer
visible: true
}
PropertyChanges {
target: issueDetailsDrawer
visible: false
position: 0
}
},
State {
name: "portrait"
when: root.width < 400
PropertyChanges {
target: issueDetails
parent: issueDetailsDrawerContainer
}
PropertyChanges {
target: issueDetailsSplitViewContainer
visible: false
}
}
]
}