Upload DragonRelayView.qml

This commit is contained in:
Zac Gaetano 2026-05-06 20:17:51 -04:00
parent 9fcfe8c6c8
commit 664ce94663

View file

@ -37,6 +37,12 @@ Page {
property int currentState: stateIdle property int currentState: stateIdle
property string statusText: qsTr("Not connected") property string statusText: qsTr("Not connected")
// Display picker state
property bool showDisplayPicker: false
property var pickerDisplays: []
property string pickerHostIP: ""
property string pickerHostName: ""
// Header bar // Header bar
header: ToolBar { header: ToolBar {
@ -211,8 +217,15 @@ Page {
Button { Button {
text: qsTr("Stream") text: qsTr("Stream")
onClicked: { onClicked: {
// Real call: dragonRelay.streamHost(model.hostIp, "Desktop") var displays = dragonRelay.displaysForHost(model.hostIp)
console.log("stream", model.hostIp) if (displays && displays.length > 1) {
root.pickerHostIP = model.hostIp
root.pickerHostName = model.hostName
root.pickerDisplays = displays
root.showDisplayPicker = true
} else {
dragonRelay.streamHost(model.hostIp, "Desktop")
}
} }
} }
} }
@ -243,4 +256,19 @@ Page {
Item { Layout.fillHeight: true; visible: root.currentState !== root.stateConnected } Item { Layout.fillHeight: true; visible: root.currentState !== root.stateConnected }
} }
// Display Picker Modal
DragonDisplayPicker {
visible: root.showDisplayPicker
anchors.fill: parent
hostIP: root.pickerHostIP
hostName: root.pickerHostName
displays: root.pickerDisplays
onDisplaySelected: function(idx) {
root.showDisplayPicker = false
dragonRelay.streamHostDisplay(root.pickerHostIP, idx)
}
onCancelled: { root.showDisplayPicker = false }
}
} }