Files
OpenVR-AdvancedSettings-frame/src/res/qml/FixFloorPage.qml
T

198 lines
5.9 KiB
QML

import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import ovras.advsettings 1.0
import "common"
MyStackViewPage {
headerText: "Space Fix"
content: ColumnLayout {
spacing: 18
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
MyText {
text: "Place one controller on the ground and ensure good visibility to the base stations."
wrapMode: Text.WordWrap
font.pointSize: 28
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
Layout.fillWidth: true
}
MyText {
text: "(Disabled in 'Seated' Universe Type)"
id: seatedWarningText
visible: false
wrapMode: Text.WordWrap
font.pointSize: 28
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
Layout.fillWidth: true
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
MyText {
id: statusMessageText
enabled: false
text: "Status Text"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
Layout.fillWidth: true
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
MyPushButton {
id: fixButton
Layout.fillWidth: true
text: "Fix Floor"
Layout.preferredHeight: 80
onClicked: {
FixFloorTabController.fixFloorClicked()
}
}
MyPushButton {
id: recenterButton
Layout.fillWidth: true
text: "Recenter Space"
Layout.preferredHeight: 80
onClicked: {
FixFloorTabController.recenterClicked()
}
}
MyPushButton {
id: undoFixButton
enabled: false
// TODO re-enable undo and remove visible: false
visible: false
Layout.fillWidth: true
text: "Undo Fix"
onClicked: {
FixFloorTabController.undoFixFloorClicked()
}
}
MyPushButton {
id: zeroSpaceButton
Layout.fillWidth: true
text: "Apply Space Settings Offsets as Center"
Layout.preferredHeight: 80
onClicked: {
MoveCenterTabController.zeroOffsets()
}
}
Item {
Layout.preferredHeight: 32
}
MyPushButton {
id: revertButton
Layout.fillWidth: true
text: "Revert All Changes from This Session"
Layout.preferredHeight: 80
onClicked: {
ChaperoneTabController.applyAutosavedProfile()
}
}
Item {
Layout.preferredHeight: 32
}
Component.onCompleted: {
statusMessageText.text = ""
//undoFixButton.enabled = FixFloorTabController.canUndo
fixButton.enabled = true
if (MoveCenterTabController.trackingUniverse === 0) {
fixButton.enabled = false
recenterButton.enabled = false
zeroSpaceButton.enabled = false
revertButton.enabled = false
undoFixButton.enabled = false
seatedWarningText.visible = true
}
}
Timer {
id: statusMessageTimer
repeat: false
onTriggered: {
statusMessageText.text = ""
}
}
Connections {
target: FixFloorTabController
onStatusMessageSignal: {
if (statusMessageTimer.running) {
statusMessageTimer.stop()
}
statusMessageText.text = FixFloorTabController.currentStatusMessage()
statusMessageTimer.interval = FixFloorTabController.currentStatusMessageTimeout() * 1000
statusMessageTimer.start()
}
onMeasureStartSignal: {
fixButton.enabled = false
undoFixButton.enabled = false
}
onMeasureEndSignal: {
fixButton.enabled = true
// undoFixButton.enabled = FixFloorTabController.canUndo
}
onCanUndoChanged: {
//undoFixButton.enabled = FixFloorTabController.canUndo
// revert below to this -^
undoFixButton.enabled = false
}
}
Connections {
target: MoveCenterTabController
onTrackingUniverseChanged: {
if (MoveCenterTabController.trackingUniverse === 0) {
fixButton.enabled = false
recenterButton.enabled = false
zeroSpaceButton.enabled = false
revertButton.enabled = false
undoFixButton.enabled = false
seatedWarningText.visible = true
} else if (MoveCenterTabController.trackingUniverse === 1) {
fixButton.enabled = true
recenterButton.enabled = true
zeroSpaceButton.enabled = true
revertButton.enabled = true
// undoFixButton.enabled = true
// TODO Fix Undo Feature -^
seatedWarningText.visible = false
} else {
fixButton.enabled = false
recenterButton.enabled = false
zeroSpaceButton.enabled = false
revertButton.enabled = false
undoFixButton.enabled = false
seatedWarningText.visible = false
}
}
}
}
}