Bugfixes and Improvements.
This commit is contained in:
@@ -186,24 +186,15 @@ MyStackViewPage {
|
|||||||
MyText {
|
MyText {
|
||||||
text: "Name: "
|
text: "Name: "
|
||||||
}
|
}
|
||||||
TextField {
|
MyTextField {
|
||||||
id: pttNewProfileName
|
id: pttNewProfileName
|
||||||
|
keyBoardUID: 590
|
||||||
color: "#cccccc"
|
color: "#cccccc"
|
||||||
text: ""
|
text: ""
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
font.pointSize: 20
|
font.pointSize: 20
|
||||||
onActiveFocusChanged: {
|
function onInputEvent(input) {
|
||||||
if (activeFocus) {
|
pttNewProfileName.text = input
|
||||||
OverlayController.showKeyboard(text, 101)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Connections {
|
|
||||||
target: OverlayController
|
|
||||||
onKeyBoardInputSignal: {
|
|
||||||
if (userValue == 101) {
|
|
||||||
pttNewProfileName.text = input
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,24 +41,15 @@ MyStackViewPage {
|
|||||||
MyText {
|
MyText {
|
||||||
text: "Name: "
|
text: "Name: "
|
||||||
}
|
}
|
||||||
TextField {
|
MyTextField {
|
||||||
id: chaperoneNewProfileName
|
id: chaperoneNewProfileName
|
||||||
|
keyBoardUID: 390
|
||||||
color: "#cccccc"
|
color: "#cccccc"
|
||||||
text: ""
|
text: ""
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
font.pointSize: 20
|
font.pointSize: 20
|
||||||
onActiveFocusChanged: {
|
function onInputEvent(input) {
|
||||||
if (activeFocus) {
|
chaperoneNewProfileName.text = input
|
||||||
OverlayController.showKeyboard(text, 101)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Connections {
|
|
||||||
target: OverlayController
|
|
||||||
onKeyBoardInputSignal: {
|
|
||||||
if (userValue == 101) {
|
|
||||||
chaperoneNewProfileName.text = input
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -285,8 +276,11 @@ MyStackViewPage {
|
|||||||
val = 100.0
|
val = 100.0
|
||||||
}
|
}
|
||||||
var v = (val/100).toFixed(2)
|
var v = (val/100).toFixed(2)
|
||||||
chaperoneVisibilitySlider.value = v
|
if (v <= chaperoneVisibilitySlider.to) {
|
||||||
ChaperoneTabController.setBoundsVisibility(v, false)
|
chaperoneVisibilitySlider.value = v
|
||||||
|
} else {
|
||||||
|
ChaperoneTabController.setBoundsVisibility(v, false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
text = Math.round(ChaperoneTabController.boundsVisibility * 100) + "%"
|
text = Math.round(ChaperoneTabController.boundsVisibility * 100) + "%"
|
||||||
}
|
}
|
||||||
@@ -343,8 +337,11 @@ MyStackViewPage {
|
|||||||
val = 0.0
|
val = 0.0
|
||||||
}
|
}
|
||||||
var v = val.toFixed(1)
|
var v = val.toFixed(1)
|
||||||
chaperoneFadeDistanceSlider.value = v
|
if (v <= chaperoneFadeDistanceSlider.to) {
|
||||||
ChaperoneTabController.setFadeDistance(v, false)
|
chaperoneFadeDistanceSlider.value = v
|
||||||
|
} else {
|
||||||
|
ChaperoneTabController.setFadeDistance(v, false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
text = ChaperoneTabController.fadeDistance.toFixed(1)
|
text = ChaperoneTabController.fadeDistance.toFixed(1)
|
||||||
}
|
}
|
||||||
@@ -366,7 +363,7 @@ MyStackViewPage {
|
|||||||
MySlider {
|
MySlider {
|
||||||
id: chaperoneHeightSlider
|
id: chaperoneHeightSlider
|
||||||
from: 0.01
|
from: 0.01
|
||||||
to: 5.0
|
to: 15.0
|
||||||
stepSize: 0.01
|
stepSize: 0.01
|
||||||
value: 2.0
|
value: 2.0
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@@ -404,8 +401,11 @@ MyStackViewPage {
|
|||||||
val = 0.01
|
val = 0.01
|
||||||
}
|
}
|
||||||
var v = val.toFixed(2)
|
var v = val.toFixed(2)
|
||||||
chaperoneHeightSlider.value = v
|
if (v <= chaperoneHeightSlider.to) {
|
||||||
ChaperoneTabController.setHeight(v, false)
|
chaperoneHeightSlider.value = v
|
||||||
|
} else {
|
||||||
|
ChaperoneTabController.setHeight(v, false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
text = ChaperoneTabController.height.toFixed(2)
|
text = ChaperoneTabController.height.toFixed(2)
|
||||||
}
|
}
|
||||||
@@ -479,9 +479,15 @@ MyStackViewPage {
|
|||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
chaperoneVisibilitySlider.value = ChaperoneTabController.boundsVisibility
|
chaperoneVisibilitySlider.value = ChaperoneTabController.boundsVisibility
|
||||||
chaperoneFadeDistanceSlider.value = ChaperoneTabController.fadeDistance
|
var d = ChaperoneTabController.fadeDistance.toFixed(1)
|
||||||
|
if (d <= chaperoneFadeDistanceSlider.to) {
|
||||||
|
chaperoneFadeDistanceSlider.value = d
|
||||||
|
}
|
||||||
|
chaperoneFadeDistanceText.text = d
|
||||||
var h = ChaperoneTabController.height.toFixed(2)
|
var h = ChaperoneTabController.height.toFixed(2)
|
||||||
chaperoneHeightSlider.value = h
|
if (h <= chaperoneHeightSlider.to) {
|
||||||
|
chaperoneHeightSlider.value = h
|
||||||
|
}
|
||||||
chaperoneHeightText.text = h
|
chaperoneHeightText.text = h
|
||||||
chaperoneCenterMarkerToggle.checked = ChaperoneTabController.centerMarker
|
chaperoneCenterMarkerToggle.checked = ChaperoneTabController.centerMarker
|
||||||
chaperonePlaySpaceToggle.checked = ChaperoneTabController.playSpaceMarker
|
chaperonePlaySpaceToggle.checked = ChaperoneTabController.playSpaceMarker
|
||||||
@@ -497,13 +503,17 @@ MyStackViewPage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
onFadeDistanceChanged: {
|
onFadeDistanceChanged: {
|
||||||
if (Math.abs(chaperoneFadeDistanceSlider.value - ChaperoneTabController.fadeDistance) > 0.08) {
|
var d = ChaperoneTabController.fadeDistance.toFixed(1)
|
||||||
chaperoneFadeDistanceSlider.value = ChaperoneTabController.fadeDistance
|
if (d <= chaperoneFadeDistanceSlider.to && Math.abs(chaperoneFadeDistanceSlider.value - d) > 0.008) {
|
||||||
|
chaperoneFadeDistanceSlider.value = d
|
||||||
}
|
}
|
||||||
|
chaperoneFadeDistanceText.text = d
|
||||||
}
|
}
|
||||||
onHeightChanged: {
|
onHeightChanged: {
|
||||||
var h = ChaperoneTabController.height.toFixed(2)
|
var h = ChaperoneTabController.height.toFixed(2)
|
||||||
chaperoneHeightSlider.value = h
|
if (h <= chaperoneHeightSlider.to && Math.abs(chaperoneHeightSlider.value - h) > 0.008) {
|
||||||
|
chaperoneHeightSlider.value = h
|
||||||
|
}
|
||||||
chaperoneHeightText.text = h
|
chaperoneHeightText.text = h
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -204,9 +204,9 @@ MyStackViewPage {
|
|||||||
Layout.preferredWidth: 40
|
Layout.preferredWidth: 40
|
||||||
text: "-"
|
text: "-"
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var val = (MoveCenterTabController.rotation - 45) % 360
|
var val = MoveCenterTabController.rotation - 45
|
||||||
if (val < 0) {
|
if (val < -180) {
|
||||||
val = 360 + val;
|
val = val + 360;
|
||||||
}
|
}
|
||||||
MoveCenterTabController.rotation = val
|
MoveCenterTabController.rotation = val
|
||||||
}
|
}
|
||||||
@@ -214,8 +214,8 @@ MyStackViewPage {
|
|||||||
|
|
||||||
MySlider {
|
MySlider {
|
||||||
id: playspaceRotationSlider
|
id: playspaceRotationSlider
|
||||||
from: 0
|
from: -180
|
||||||
to: 359
|
to: 180
|
||||||
stepSize: 1
|
stepSize: 1
|
||||||
value: 0
|
value: 0
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@@ -234,9 +234,9 @@ MyStackViewPage {
|
|||||||
Layout.preferredWidth: 40
|
Layout.preferredWidth: 40
|
||||||
text: "+"
|
text: "+"
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var val = (MoveCenterTabController.rotation + 45) % 360
|
var val = MoveCenterTabController.rotation + 45
|
||||||
if (val < 0) {
|
if (val > 180) {
|
||||||
val = 360 + val;
|
val = val -360;
|
||||||
}
|
}
|
||||||
MoveCenterTabController.rotation = val
|
MoveCenterTabController.rotation = val
|
||||||
}
|
}
|
||||||
@@ -252,10 +252,7 @@ MyStackViewPage {
|
|||||||
function onInputEvent(input) {
|
function onInputEvent(input) {
|
||||||
var val = parseInt(input)
|
var val = parseInt(input)
|
||||||
if (!isNaN(val)) {
|
if (!isNaN(val)) {
|
||||||
val = val % 360
|
val = val % 180
|
||||||
if (val < 0) {
|
|
||||||
val = 360 + val;
|
|
||||||
}
|
|
||||||
MoveCenterTabController.rotation = val
|
MoveCenterTabController.rotation = val
|
||||||
text = MoveCenterTabController.rotation + "°"
|
text = MoveCenterTabController.rotation + "°"
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ MyStackViewPage {
|
|||||||
pixelsPerDisplayPixelText.text = val.toFixed(1)
|
pixelsPerDisplayPixelText.text = val.toFixed(1)
|
||||||
}
|
}
|
||||||
onValueChanged: {
|
onValueChanged: {
|
||||||
ReviveTabController.setPixelsPerDisplayPixelOverride(value)
|
ReviveTabController.setPixelsPerDisplayPixelOverride(value.toFixed(1), false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,82 +129,13 @@ MyStackViewPage {
|
|||||||
val = 0.1
|
val = 0.1
|
||||||
}
|
}
|
||||||
var v = val.toFixed(1)
|
var v = val.toFixed(1)
|
||||||
pixelsPerDisplayPixelSlider.value = v
|
if (v <= pixelsPerDisplayPixelSlider.to) {
|
||||||
ReviveTabController.setPixelsPerDisplayPixelOverride(v, false)
|
pixelsPerDisplayPixelSlider.value = v
|
||||||
text = v
|
|
||||||
} else {
|
|
||||||
text = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
spacing: 8
|
|
||||||
Layout.topMargin: 12
|
|
||||||
Layout.bottomMargin: 8
|
|
||||||
RowLayout {
|
|
||||||
spacing: 8
|
|
||||||
|
|
||||||
MyText {
|
|
||||||
Layout.preferredWidth: 347
|
|
||||||
text: "Controller Profile:"
|
|
||||||
}
|
|
||||||
|
|
||||||
MyComboBox {
|
|
||||||
id: reviveControllerProfileComboBox
|
|
||||||
Layout.maximumWidth: 557
|
|
||||||
Layout.minimumWidth: 557
|
|
||||||
Layout.preferredWidth: 557
|
|
||||||
Layout.fillWidth: true
|
|
||||||
model: [""]
|
|
||||||
onCurrentIndexChanged: {
|
|
||||||
if (currentIndex > 0) {
|
|
||||||
reviveControllerApplyProfileButton.enabled = true
|
|
||||||
reviveControllerDeleteProfileButton.enabled = true
|
|
||||||
} else {
|
} else {
|
||||||
reviveControllerApplyProfileButton.enabled = false
|
ReviveTabController.setPixelsPerDisplayPixelOverride(v, false)
|
||||||
reviveControllerDeleteProfileButton.enabled = false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
text = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
|
||||||
|
|
||||||
MyPushButton {
|
|
||||||
id: reviveControllerApplyProfileButton
|
|
||||||
enabled: false
|
|
||||||
Layout.preferredWidth: 200
|
|
||||||
text: "Apply"
|
|
||||||
onClicked: {
|
|
||||||
if (reviveControllerProfileComboBox.currentIndex > 0) {
|
|
||||||
ReviveTabController.applyControllerProfile(reviveControllerProfileComboBox.currentIndex - 1)
|
|
||||||
reviveControllerProfileComboBox.currentIndex = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
RowLayout {
|
|
||||||
spacing: 8
|
|
||||||
Item {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
}
|
|
||||||
MyPushButton {
|
|
||||||
id: reviveControllerDeleteProfileButton
|
|
||||||
enabled: false
|
|
||||||
Layout.preferredWidth: 200
|
|
||||||
text: "Delete Profile"
|
|
||||||
onClicked: {
|
|
||||||
if (reviveControllerProfileComboBox.currentIndex > 0) {
|
|
||||||
reviveDeleteProfileDialog.profileIndex = reviveControllerProfileComboBox.currentIndex - 1
|
|
||||||
reviveDeleteProfileDialog.open()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MyPushButton {
|
|
||||||
Layout.preferredWidth: 200
|
|
||||||
text: "New Profile"
|
|
||||||
onClicked: {
|
|
||||||
reviveNewProfileDialog.openPopup()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -277,7 +208,7 @@ MyStackViewPage {
|
|||||||
thumbDeadzoneText.text = val.toFixed(2)
|
thumbDeadzoneText.text = val.toFixed(2)
|
||||||
}
|
}
|
||||||
onValueChanged: {
|
onValueChanged: {
|
||||||
ReviveTabController.setThumbDeadzone(value.toFixed(2))
|
ReviveTabController.setThumbDeadzone(value.toFixed(2), false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,12 +237,13 @@ MyStackViewPage {
|
|||||||
val = 1.0
|
val = 1.0
|
||||||
}
|
}
|
||||||
var v = val.toFixed(2)
|
var v = val.toFixed(2)
|
||||||
thumbDeadzoneSlider.value = v
|
if (v <= thumbDeadzoneSlider.to) {
|
||||||
ReviveTabController.setThumbDeadzone(v, false)
|
thumbDeadzoneSlider.value = v
|
||||||
text = v
|
} else {
|
||||||
} else {
|
ReviveTabController.setThumbDeadzone(v, false)
|
||||||
text = ReviveTabController.thumbDeadzone.toFixed(2)
|
}
|
||||||
}
|
}
|
||||||
|
text = ReviveTabController.thumbDeadzone.toFixed(2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -343,7 +275,7 @@ MyStackViewPage {
|
|||||||
thumbRangeText.text = val.toFixed(2)
|
thumbRangeText.text = val.toFixed(2)
|
||||||
}
|
}
|
||||||
onValueChanged: {
|
onValueChanged: {
|
||||||
ReviveTabController.setThumbRange(value.toFixed(2))
|
ReviveTabController.setThumbRange(value.toFixed(2), false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -370,12 +302,13 @@ MyStackViewPage {
|
|||||||
val = 0.01
|
val = 0.01
|
||||||
}
|
}
|
||||||
var v = val.toFixed(2)
|
var v = val.toFixed(2)
|
||||||
thumbRangeSlider.value = v
|
if (v <= thumbRangeSlider.to) {
|
||||||
ReviveTabController.setThumbRange(v, false)
|
thumbRangeSlider.value = v
|
||||||
text = v
|
} else {
|
||||||
} else {
|
ReviveTabController.setThumbRange(v, false)
|
||||||
text = ReviveTabController.thumbRange.toFixed(2)
|
}
|
||||||
}
|
}
|
||||||
|
text = ReviveTabController.thumbRange.toFixed(2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -923,6 +856,78 @@ MyStackViewPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
spacing: 8
|
||||||
|
Layout.topMargin: 12
|
||||||
|
Layout.bottomMargin: 8
|
||||||
|
RowLayout {
|
||||||
|
spacing: 8
|
||||||
|
|
||||||
|
MyText {
|
||||||
|
Layout.preferredWidth: 347
|
||||||
|
text: "Controller Profile:"
|
||||||
|
}
|
||||||
|
|
||||||
|
MyComboBox {
|
||||||
|
id: reviveControllerProfileComboBox
|
||||||
|
Layout.maximumWidth: 557
|
||||||
|
Layout.minimumWidth: 557
|
||||||
|
Layout.preferredWidth: 557
|
||||||
|
Layout.fillWidth: true
|
||||||
|
model: [""]
|
||||||
|
onCurrentIndexChanged: {
|
||||||
|
if (currentIndex > 0) {
|
||||||
|
reviveControllerApplyProfileButton.enabled = true
|
||||||
|
reviveControllerDeleteProfileButton.enabled = true
|
||||||
|
} else {
|
||||||
|
reviveControllerApplyProfileButton.enabled = false
|
||||||
|
reviveControllerDeleteProfileButton.enabled = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MyPushButton {
|
||||||
|
id: reviveControllerApplyProfileButton
|
||||||
|
enabled: false
|
||||||
|
Layout.preferredWidth: 200
|
||||||
|
text: "Apply"
|
||||||
|
onClicked: {
|
||||||
|
if (reviveControllerProfileComboBox.currentIndex > 0) {
|
||||||
|
ReviveTabController.applyControllerProfile(reviveControllerProfileComboBox.currentIndex - 1)
|
||||||
|
reviveControllerProfileComboBox.currentIndex = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RowLayout {
|
||||||
|
spacing: 8
|
||||||
|
Item {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
MyPushButton {
|
||||||
|
id: reviveControllerDeleteProfileButton
|
||||||
|
enabled: false
|
||||||
|
Layout.preferredWidth: 200
|
||||||
|
text: "Delete Profile"
|
||||||
|
onClicked: {
|
||||||
|
if (reviveControllerProfileComboBox.currentIndex > 0) {
|
||||||
|
reviveDeleteProfileDialog.profileIndex = reviveControllerProfileComboBox.currentIndex - 1
|
||||||
|
reviveDeleteProfileDialog.open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MyPushButton {
|
||||||
|
Layout.preferredWidth: 200
|
||||||
|
text: "New Profile"
|
||||||
|
onClicked: {
|
||||||
|
reviveNewProfileDialog.openPopup()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
}
|
}
|
||||||
@@ -954,17 +959,23 @@ MyStackViewPage {
|
|||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
pixelsPerDisplayPixelToggle.checked = ReviveTabController.pixelsPerDisplayPixelOverrideEnabled
|
pixelsPerDisplayPixelToggle.checked = ReviveTabController.pixelsPerDisplayPixelOverrideEnabled
|
||||||
var v = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
|
var v = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
|
||||||
pixelsPerDisplayPixelSlider.value = v
|
if (v <= pixelsPerDisplayPixelSlider.to) {
|
||||||
|
pixelsPerDisplayPixelSlider.value = v
|
||||||
|
}
|
||||||
pixelsPerDisplayPixelText.text = v
|
pixelsPerDisplayPixelText.text = v
|
||||||
|
|
||||||
gripButtonModeComboBox.currentIndex = ReviveTabController.gripButtonMode
|
gripButtonModeComboBox.currentIndex = ReviveTabController.gripButtonMode
|
||||||
|
|
||||||
v = ReviveTabController.thumbDeadzone.toFixed(2)
|
v = ReviveTabController.thumbDeadzone.toFixed(2)
|
||||||
thumbDeadzoneSlider.value = v
|
if (v <= thumbDeadzoneSlider.to) {
|
||||||
|
thumbDeadzoneSlider.value = v
|
||||||
|
}
|
||||||
thumbDeadzoneText.text = v
|
thumbDeadzoneText.text = v
|
||||||
|
|
||||||
v = ReviveTabController.thumbRange.toFixed(2)
|
v = ReviveTabController.thumbRange.toFixed(2)
|
||||||
thumbRangeSlider.value = v
|
if (v <= thumbRangeSlider.to) {
|
||||||
|
thumbRangeSlider.value = v
|
||||||
|
}
|
||||||
thumbRangeText.text = v
|
thumbRangeText.text = v
|
||||||
|
|
||||||
touchPitchInputField.text = ReviveTabController.touchPitch.toFixed(1) + "°"
|
touchPitchInputField.text = ReviveTabController.touchPitch.toFixed(1) + "°"
|
||||||
@@ -986,17 +997,23 @@ MyStackViewPage {
|
|||||||
}
|
}
|
||||||
onPixelsPerDisplayPixelOverrideChanged : {
|
onPixelsPerDisplayPixelOverrideChanged : {
|
||||||
var v = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
|
var v = ReviveTabController.pixelsPerDisplayPixelOverride.toFixed(1)
|
||||||
pixelsPerDisplayPixelSlider.value = v
|
if (v <= pixelsPerDisplayPixelSlider.to) {
|
||||||
|
pixelsPerDisplayPixelSlider.value = v
|
||||||
|
}
|
||||||
pixelsPerDisplayPixelText.text = v
|
pixelsPerDisplayPixelText.text = v
|
||||||
}
|
}
|
||||||
onThumbDeadzoneChanged : {
|
onThumbDeadzoneChanged : {
|
||||||
var v = ReviveTabController.thumbDeadzone.toFixed(2)
|
var v = ReviveTabController.thumbDeadzone.toFixed(2)
|
||||||
thumbDeadzoneSlider.value = v
|
if (v <= thumbDeadzoneSlider.to) {
|
||||||
|
thumbDeadzoneSlider.value = v
|
||||||
|
}
|
||||||
thumbDeadzoneText.text = v
|
thumbDeadzoneText.text = v
|
||||||
}
|
}
|
||||||
onThumbRangeChanged : {
|
onThumbRangeChanged : {
|
||||||
var v = ReviveTabController.thumbRange.toFixed(2)
|
var v = ReviveTabController.thumbRange.toFixed(2)
|
||||||
thumbRangeSlider.value = v
|
if (v >= thumbRangeSlider.from && v <= thumbRangeSlider.to) {
|
||||||
|
thumbRangeSlider.value = v
|
||||||
|
}
|
||||||
thumbRangeText.text = v
|
thumbRangeText.text = v
|
||||||
}
|
}
|
||||||
onTouchPitchChanged : {
|
onTouchPitchChanged : {
|
||||||
|
|||||||
@@ -68,8 +68,11 @@ MyStackViewPage {
|
|||||||
}
|
}
|
||||||
console.debug("Supersampling TextField: valueChanged(", val, ")")
|
console.debug("Supersampling TextField: valueChanged(", val, ")")
|
||||||
var v = val.toFixed(1)
|
var v = val.toFixed(1)
|
||||||
steamvrSupersamplingSlider.value = v
|
if (v <= steamvrSupersamplingSlider.to) {
|
||||||
SteamVRTabController.setSuperSampling(v, false)
|
steamvrSupersamplingSlider.value = v
|
||||||
|
} else {
|
||||||
|
SteamVRTabController.setSuperSampling(v, false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
text = SteamVRTabController.superSampling.toFixed(1)
|
text = SteamVRTabController.superSampling.toFixed(1)
|
||||||
}
|
}
|
||||||
@@ -135,8 +138,11 @@ MyStackViewPage {
|
|||||||
}
|
}
|
||||||
console.debug("Compositor Supersampling TextField: valueChanged(", val, ")")
|
console.debug("Compositor Supersampling TextField: valueChanged(", val, ")")
|
||||||
var v = val.toFixed(1)
|
var v = val.toFixed(1)
|
||||||
steamvrCompositorSupersamplingSlider.value = v
|
if (v <= steamvrCompositorSupersamplingSlider.to) {
|
||||||
SteamVRTabController.setCompositorSuperSampling(v, false)
|
steamvrCompositorSupersamplingSlider.value = v
|
||||||
|
} else {
|
||||||
|
SteamVRTabController.setCompositorSuperSampling(v, false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
text = SteamVRTabController.compositorSuperSampling.toFixed(1)
|
text = SteamVRTabController.compositorSuperSampling.toFixed(1)
|
||||||
}
|
}
|
||||||
@@ -201,8 +207,16 @@ MyStackViewPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
steamvrSupersamplingSlider.value = SteamVRTabController.superSampling
|
var s1 = SteamVRTabController.superSampling.toFixed(1)
|
||||||
steamvrCompositorSupersamplingSlider.value = SteamVRTabController.compositorSuperSampling
|
if (s1 <= steamvrSupersamplingSlider.to) {
|
||||||
|
steamvrSupersamplingSlider.value = s1
|
||||||
|
}
|
||||||
|
steamvrSupersamplingText.text = s1
|
||||||
|
var s2 = SteamVRTabController.compositorSuperSampling.toFixed(1)
|
||||||
|
if (s2 <= steamvrCompositorSupersamplingSlider.to) {
|
||||||
|
steamvrCompositorSupersamplingSlider.value = s2
|
||||||
|
}
|
||||||
|
steamvrCompositorSupersamplingText.text = s2
|
||||||
steamvrAllowInterleavedReprojectionToggle.checked = SteamVRTabController.allowInterleavedReprojection
|
steamvrAllowInterleavedReprojectionToggle.checked = SteamVRTabController.allowInterleavedReprojection
|
||||||
steamvrAllowAsyncReprojectionToggle.checked = SteamVRTabController.allowAsyncReprojection
|
steamvrAllowAsyncReprojectionToggle.checked = SteamVRTabController.allowAsyncReprojection
|
||||||
steamvrForceReprojectionToggle.checked = SteamVRTabController.forceReprojection
|
steamvrForceReprojectionToggle.checked = SteamVRTabController.forceReprojection
|
||||||
@@ -211,14 +225,18 @@ MyStackViewPage {
|
|||||||
Connections {
|
Connections {
|
||||||
target: SteamVRTabController
|
target: SteamVRTabController
|
||||||
onSuperSamplingChanged: {
|
onSuperSamplingChanged: {
|
||||||
if (Math.abs(steamvrSupersamplingSlider.value-SteamVRTabController.superSampling) > 0.08) {
|
var s1 = SteamVRTabController.superSampling.toFixed(1)
|
||||||
steamvrSupersamplingSlider.value = SteamVRTabController.superSampling
|
if (s1 <= steamvrSupersamplingSlider.to && Math.abs(steamvrSupersamplingSlider.value-s1) > 0.08) {
|
||||||
|
steamvrSupersamplingSlider.value = s1
|
||||||
}
|
}
|
||||||
|
steamvrSupersamplingText.text = s1
|
||||||
}
|
}
|
||||||
onCompositorSuperSamplingChanged: {
|
onCompositorSuperSamplingChanged: {
|
||||||
if (Math.abs(steamvrCompositorSupersamplingSlider.value-SteamVRTabController.compositorSuperSampling) > 0.08) {
|
var s2 = SteamVRTabController.compositorSuperSampling.toFixed(1)
|
||||||
steamvrCompositorSupersamplingSlider.value = SteamVRTabController.compositorSuperSampling
|
if (s2 <= steamvrCompositorSupersamplingSlider.to && Math.abs(steamvrCompositorSupersamplingSlider.value-s2) > 0.08) {
|
||||||
|
steamvrCompositorSupersamplingSlider.value = s2
|
||||||
}
|
}
|
||||||
|
steamvrCompositorSupersamplingText.text = s2
|
||||||
}
|
}
|
||||||
onAllowInterleavedReprojectionChanged: {
|
onAllowInterleavedReprojectionChanged: {
|
||||||
steamvrAllowInterleavedReprojectionToggle.checked = SteamVRTabController.allowInterleavedReprojection
|
steamvrAllowInterleavedReprojectionToggle.checked = SteamVRTabController.allowInterleavedReprojection
|
||||||
|
|||||||
@@ -174,6 +174,7 @@ int main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
conf.setRemainingToDefault();
|
conf.setRemainingToDefault();
|
||||||
el::Loggers::reconfigureAllLoggers(conf);
|
el::Loggers::reconfigureAllLoggers(conf);
|
||||||
|
LOG(INFO) << "Application started";
|
||||||
LOG(INFO) << "Log Config: " << QDir::toNativeSeparators(logconfigfile).toStdString();
|
LOG(INFO) << "Log Config: " << QDir::toNativeSeparators(logconfigfile).toStdString();
|
||||||
if (!logFilePath.isEmpty()) {
|
if (!logFilePath.isEmpty()) {
|
||||||
LOG(INFO) << "Log File: " << logFilePath;
|
LOG(INFO) << "Log File: " << logFilePath;
|
||||||
|
|||||||
@@ -407,7 +407,7 @@ void OverlayController::RotateUniverseCenter(vr::ETrackingUniverseOrigin univers
|
|||||||
|
|
||||||
vr::HmdMatrix34_t rotMat;
|
vr::HmdMatrix34_t rotMat;
|
||||||
vr::HmdMatrix34_t newPos;
|
vr::HmdMatrix34_t newPos;
|
||||||
utils::initRotationMatrix(rotMat, 0, yAngle);
|
utils::initRotationMatrix(rotMat, 1, yAngle);
|
||||||
utils::matMul33(newPos, rotMat, curPos);
|
utils::matMul33(newPos, rotMat, curPos);
|
||||||
newPos.m[0][3] = curPos.m[0][3];
|
newPos.m[0][3] = curPos.m[0][3];
|
||||||
newPos.m[1][3] = curPos.m[1][3];
|
newPos.m[1][3] = curPos.m[1][3];
|
||||||
@@ -464,7 +464,7 @@ void OverlayController::RotateCollisionBounds(float angle, bool commit) {
|
|||||||
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo(collisionBounds, &collisionBoundsCount);
|
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo(collisionBounds, &collisionBoundsCount);
|
||||||
|
|
||||||
vr::HmdMatrix34_t rotMat;
|
vr::HmdMatrix34_t rotMat;
|
||||||
utils::initRotationMatrix(rotMat, 0, angle);
|
utils::initRotationMatrix(rotMat, 1, angle);
|
||||||
for (unsigned b = 0; b < collisionBoundsCount; b++) {
|
for (unsigned b = 0; b < collisionBoundsCount; b++) {
|
||||||
for (unsigned c = 0; c < 4; c++) {
|
for (unsigned c = 0; c < 4; c++) {
|
||||||
auto& corner = collisionBounds[b].vCorners[c];
|
auto& corner = collisionBounds[b].vCorners[c];
|
||||||
|
|||||||
@@ -90,35 +90,38 @@ void MoveCenterTabController::setAdjustChaperone(bool value, bool notify) {
|
|||||||
m_adjustChaperone = value;
|
m_adjustChaperone = value;
|
||||||
if (m_trackingUniverse == vr::TrackingUniverseStanding) {
|
if (m_trackingUniverse == vr::TrackingUniverseStanding) {
|
||||||
vr::VRChaperoneSetup()->RevertWorkingCopy();
|
vr::VRChaperoneSetup()->RevertWorkingCopy();
|
||||||
|
float offsetdir;
|
||||||
if (m_adjustChaperone) {
|
if (m_adjustChaperone) {
|
||||||
if (m_offsetX != 0.0f) {
|
offsetdir = -1.0;
|
||||||
parent->AddOffsetToCollisionBounds(0, -m_offsetX, false);
|
|
||||||
}
|
|
||||||
if (m_offsetY != 0.0f) {
|
|
||||||
parent->AddOffsetToCollisionBounds(1, -m_offsetY, false);
|
|
||||||
}
|
|
||||||
if (m_offsetZ != 0.0f) {
|
|
||||||
parent->AddOffsetToCollisionBounds(2, -m_offsetZ, false);
|
|
||||||
}
|
|
||||||
if (m_rotation != 0) {
|
|
||||||
float angle = m_rotation * 2 * M_PI / 360.0;
|
|
||||||
parent->RotateCollisionBounds(-angle, false);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (m_offsetX != 0.0f) {
|
offsetdir = 1.0;
|
||||||
parent->AddOffsetToCollisionBounds(0, m_offsetX, false);
|
}
|
||||||
|
|
||||||
|
if (m_offsetX != 0.0f) {
|
||||||
|
if (m_adjustChaperone || m_rotation == 0) {
|
||||||
|
parent->AddOffsetToCollisionBounds(0, offsetdir * m_offsetX, false);
|
||||||
|
} else {
|
||||||
|
auto angle = m_rotation * 2 * M_PI / 360.0;
|
||||||
|
parent->AddOffsetToCollisionBounds(0, offsetdir * m_offsetX * std::cos(angle), false);
|
||||||
|
parent->AddOffsetToCollisionBounds(2, offsetdir * m_offsetX * std::sin(angle), false);
|
||||||
}
|
}
|
||||||
if (m_offsetY != 0.0f) {
|
}
|
||||||
parent->AddOffsetToCollisionBounds(1, m_offsetY, false);
|
if (m_offsetY != 0.0f) {
|
||||||
}
|
parent->AddOffsetToCollisionBounds(1, offsetdir * m_offsetY, false);
|
||||||
if (m_offsetZ != 0.0f) {
|
}
|
||||||
parent->AddOffsetToCollisionBounds(2, m_offsetZ, false);
|
if (m_offsetZ != 0.0f) {
|
||||||
}
|
if (m_adjustChaperone || m_rotation == 0) {
|
||||||
if (m_rotation != 0) {
|
parent->AddOffsetToCollisionBounds(2, offsetdir * m_offsetZ, false);
|
||||||
float angle = m_rotation * 2 * M_PI / 360.0;
|
} else {
|
||||||
parent->RotateCollisionBounds(angle, false);
|
auto angle = m_rotation * 2 * M_PI / 360.0;
|
||||||
|
parent->AddOffsetToCollisionBounds(2, offsetdir * m_offsetZ * std::cos(angle), false);
|
||||||
|
parent->AddOffsetToCollisionBounds(0, -offsetdir * m_offsetZ * std::sin(angle), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (m_rotation != 0) {
|
||||||
|
float angle = m_rotation * 2 * M_PI / 360.0;
|
||||||
|
parent->RotateCollisionBounds(offsetdir * angle, false);
|
||||||
|
}
|
||||||
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
|
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
|
||||||
}
|
}
|
||||||
auto settings = OverlayController::appSettings();
|
auto settings = OverlayController::appSettings();
|
||||||
|
|||||||
Reference in New Issue
Block a user