Added MyTextField and overhauled Playspace page.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
import matzman666.advsettings 1.0
|
||||
|
||||
TextField {
|
||||
property int keyBoardUID: 0
|
||||
id: myTextField
|
||||
color: "#cccccc"
|
||||
text: ""
|
||||
font.pointSize: 20
|
||||
background: Rectangle {
|
||||
color: parent.activeFocus ? "#2c435d" : "#1b2939"
|
||||
border.color: "#cccccc"
|
||||
border.width: 2
|
||||
}
|
||||
onEditingFinished: {
|
||||
if (OverlayController.desktopMode) {
|
||||
myTextField.onInputEvent(text)
|
||||
}
|
||||
}
|
||||
onActiveFocusChanged: {
|
||||
if (activeFocus && !OverlayController.desktopMode) {
|
||||
OverlayController.showKeyboard(text, keyBoardUID)
|
||||
}
|
||||
}
|
||||
function onInputEvent(input) {
|
||||
text = input
|
||||
}
|
||||
Connections {
|
||||
target: OverlayController
|
||||
onKeyBoardInputSignal: {
|
||||
if (userValue == keyBoardUID) {
|
||||
myTextField.onInputEvent(input)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -61,15 +61,25 @@ MyStackViewPage {
|
||||
onClicked: {
|
||||
MoveCenterTabController.modOffsetX(-0.5)
|
||||
}
|
||||
KeyNavigation.down: playSpaceMoveXPlusButton
|
||||
focus : true
|
||||
}
|
||||
|
||||
MyText {
|
||||
MyTextField {
|
||||
id: playSpaceMoveXText
|
||||
text: "0.00"
|
||||
keyBoardUID: 101
|
||||
Layout.preferredWidth: 100
|
||||
Layout.leftMargin: 10
|
||||
Layout.rightMargin: 10
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: "0.0"
|
||||
Layout.preferredWidth: 120
|
||||
function onInputEvent(input) {
|
||||
var val = parseFloat(input)
|
||||
if (!isNaN(val)) {
|
||||
MoveCenterTabController.offsetX = val.toFixed(2)
|
||||
text = MoveCenterTabController.offsetX.toFixed(2)
|
||||
} else {
|
||||
text = MoveCenterTabController.offsetX.toFixed(2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MyPushButton2 {
|
||||
@@ -79,7 +89,6 @@ MyStackViewPage {
|
||||
onClicked: {
|
||||
MoveCenterTabController.modOffsetX(0.5)
|
||||
}
|
||||
KeyNavigation.up: playSpaceMoveXMinusButton
|
||||
}
|
||||
|
||||
MyText {
|
||||
@@ -95,11 +104,23 @@ MyStackViewPage {
|
||||
}
|
||||
}
|
||||
|
||||
MyText {
|
||||
MyTextField {
|
||||
id: playSpaceMoveYText
|
||||
text: "0.00"
|
||||
keyBoardUID: 102
|
||||
Layout.preferredWidth: 100
|
||||
Layout.leftMargin: 10
|
||||
Layout.rightMargin: 10
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: "0.0"
|
||||
Layout.preferredWidth: 120
|
||||
function onInputEvent(input) {
|
||||
var val = parseFloat(input)
|
||||
if (!isNaN(val)) {
|
||||
MoveCenterTabController.offsetY = val.toFixed(2)
|
||||
text = MoveCenterTabController.offsetY.toFixed(2)
|
||||
} else {
|
||||
text = MoveCenterTabController.offsetY.toFixed(2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MyPushButton2 {
|
||||
@@ -123,11 +144,23 @@ MyStackViewPage {
|
||||
}
|
||||
}
|
||||
|
||||
MyText {
|
||||
MyTextField {
|
||||
id: playSpaceMoveZText
|
||||
text: "0.00"
|
||||
keyBoardUID: 103
|
||||
Layout.preferredWidth: 100
|
||||
Layout.leftMargin: 10
|
||||
Layout.rightMargin: 10
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: "0.0"
|
||||
Layout.preferredWidth: 120
|
||||
function onInputEvent(input) {
|
||||
var val = parseFloat(input)
|
||||
if (!isNaN(val)) {
|
||||
MoveCenterTabController.offsetZ = val.toFixed(2)
|
||||
text = MoveCenterTabController.offsetZ.toFixed(2)
|
||||
} else {
|
||||
text = MoveCenterTabController.offsetZ.toFixed(2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MyPushButton2 {
|
||||
@@ -165,22 +198,24 @@ MyStackViewPage {
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
|
||||
RowLayout {
|
||||
|
||||
MyPushButton2 {
|
||||
id: playSpaceRotationMinusButton
|
||||
Layout.preferredWidth: 40
|
||||
text: "-"
|
||||
onClicked: {
|
||||
playspaceRotationSlider.value -= 45
|
||||
var val = (MoveCenterTabController.rotation - 45) % 360
|
||||
if (val < 0) {
|
||||
val = 360 + val;
|
||||
}
|
||||
MoveCenterTabController.rotation = val
|
||||
}
|
||||
}
|
||||
|
||||
MySlider {
|
||||
id: playspaceRotationSlider
|
||||
from: -360
|
||||
to: 360
|
||||
from: 0
|
||||
to: 359
|
||||
stepSize: 1
|
||||
value: 0
|
||||
Layout.fillWidth: true
|
||||
@@ -188,6 +223,10 @@ MyStackViewPage {
|
||||
var val = this.from + ( this.position * (this.to - this.from))
|
||||
playspaceRotationText.text = Math.round(val) + "°"
|
||||
}
|
||||
onValueChanged: {
|
||||
MoveCenterTabController.rotation = playspaceRotationSlider.value
|
||||
playspaceRotationText.text = Math.round(playspaceRotationSlider.value) + "°"
|
||||
}
|
||||
}
|
||||
|
||||
MyPushButton2 {
|
||||
@@ -195,27 +234,34 @@ MyStackViewPage {
|
||||
Layout.preferredWidth: 40
|
||||
text: "+"
|
||||
onClicked: {
|
||||
playspaceRotationSlider.value += 45
|
||||
var val = (MoveCenterTabController.rotation + 45) % 360
|
||||
if (val < 0) {
|
||||
val = 360 + val;
|
||||
}
|
||||
MoveCenterTabController.rotation = val
|
||||
}
|
||||
}
|
||||
|
||||
MyText {
|
||||
MyTextField {
|
||||
id: playspaceRotationText
|
||||
Layout.preferredWidth: 85
|
||||
horizontalAlignment: Text.AlignRight
|
||||
text: "-360°"
|
||||
}
|
||||
}
|
||||
RowLayout {
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
MyPushButton {
|
||||
id: playspaceApplyButton
|
||||
text: "Apply"
|
||||
Layout.preferredWidth: 250
|
||||
onClicked: {
|
||||
MoveCenterTabController.rotation = playspaceRotationSlider.value
|
||||
text: "0°"
|
||||
keyBoardUID: 104
|
||||
Layout.preferredWidth: 100
|
||||
Layout.leftMargin: 10
|
||||
Layout.rightMargin: 10
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
function onInputEvent(input) {
|
||||
var val = parseInt(input)
|
||||
if (!isNaN(val)) {
|
||||
val = val % 360
|
||||
if (val < 0) {
|
||||
val = 360 + val;
|
||||
}
|
||||
MoveCenterTabController.rotation = val
|
||||
text = MoveCenterTabController.rotation + "°"
|
||||
} else {
|
||||
text = MoveCenterTabController.rotation + "°"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -223,6 +269,14 @@ MyStackViewPage {
|
||||
}
|
||||
}
|
||||
|
||||
MyToggleButton {
|
||||
id: playspaceAdjustChaperoneToggle
|
||||
text: "Adjust Chaperone"
|
||||
onCheckedChanged: {
|
||||
MoveCenterTabController.adjustChaperone = this.checked
|
||||
}
|
||||
}
|
||||
|
||||
Item { Layout.fillHeight: true; Layout.fillWidth: true}
|
||||
|
||||
MyPushButton {
|
||||
@@ -235,20 +289,19 @@ MyStackViewPage {
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
playspaceAdjustChaperoneToggle.checked = MoveCenterTabController.adjustChaperone
|
||||
playSpaceMoveXText.text = MoveCenterTabController.offsetX.toFixed(1)
|
||||
playSpaceMoveYText.text = MoveCenterTabController.offsetY.toFixed(1)
|
||||
playSpaceMoveZText.text = MoveCenterTabController.offsetZ.toFixed(1)
|
||||
playspaceRotationSlider.value = MoveCenterTabController.rotation
|
||||
if (MoveCenterTabController.trackingUniverse === 0) {
|
||||
playspaceModeText.text = "Sitting"
|
||||
playspaceApplyButton.enabled = false
|
||||
playSpaceRotationPlusButton.enabled = false
|
||||
playSpaceRotationMinusButton.enabled = false
|
||||
playspaceRotationSlider.enabled = false
|
||||
playspaceRotationText.text = "-"
|
||||
} else if (MoveCenterTabController.trackingUniverse === 1) {
|
||||
playspaceModeText.text = "Standing"
|
||||
playspaceApplyButton.enabled = true
|
||||
playSpaceRotationPlusButton.enabled = true
|
||||
playSpaceRotationMinusButton.enabled = true
|
||||
playspaceRotationSlider.enabled = true
|
||||
@@ -261,17 +314,20 @@ MyStackViewPage {
|
||||
Connections {
|
||||
target: MoveCenterTabController
|
||||
onOffsetXChanged: {
|
||||
playSpaceMoveXText.text = MoveCenterTabController.offsetX.toFixed(1)
|
||||
playSpaceMoveXText.text = MoveCenterTabController.offsetX.toFixed(2)
|
||||
}
|
||||
onOffsetYChanged: {
|
||||
playSpaceMoveYText.text = MoveCenterTabController.offsetY.toFixed(1)
|
||||
playSpaceMoveYText.text = MoveCenterTabController.offsetY.toFixed(2)
|
||||
}
|
||||
onOffsetZChanged: {
|
||||
playSpaceMoveZText.text = MoveCenterTabController.offsetZ.toFixed(1)
|
||||
playSpaceMoveZText.text = MoveCenterTabController.offsetZ.toFixed(2)
|
||||
}
|
||||
onRotationChanged: {
|
||||
playspaceRotationSlider.value = MoveCenterTabController.rotation
|
||||
}
|
||||
onAdjustChaperoneChanged: {
|
||||
playspaceAdjustChaperoneToggle = value
|
||||
}
|
||||
onTrackingUniverseChanged: {
|
||||
if (MoveCenterTabController.trackingUniverse === 0) {
|
||||
playspaceModeText.text = "Sitting"
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace advsettings {
|
||||
|
||||
class OverlayController : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(bool desktopMode READ isDesktopMode)
|
||||
|
||||
public:
|
||||
static constexpr const char* applicationKey = "matzman666.AdvancedSettings";
|
||||
@@ -93,6 +94,8 @@ public:
|
||||
void AddOffsetToCollisionBounds(unsigned axisId, float offset, bool commit = true);
|
||||
void RotateCollisionBounds(float angle, bool commit = true); // around y axis
|
||||
|
||||
bool isDesktopMode() { return desktopMode; };
|
||||
|
||||
Q_INVOKABLE QString getVersionString();
|
||||
Q_INVOKABLE QUrl getVRRuntimePathUrl();
|
||||
|
||||
|
||||
@@ -7,6 +7,13 @@ namespace advsettings {
|
||||
|
||||
void MoveCenterTabController::initStage1() {
|
||||
setTrackingUniverse(vr::VRCompositor()->GetTrackingSpace());
|
||||
auto settings = OverlayController::appSettings();
|
||||
settings->beginGroup("playspaceSettings");
|
||||
auto value = settings->value("adjustChaperone", m_adjustChaperone);
|
||||
settings->endGroup();
|
||||
if (value.isValid() && !value.isNull()) {
|
||||
m_adjustChaperone = value.toBool();
|
||||
}
|
||||
}
|
||||
|
||||
void MoveCenterTabController::initStage2(OverlayController * parent, QQuickWindow * widget) {
|
||||
@@ -35,10 +42,7 @@ float MoveCenterTabController::offsetX() const {
|
||||
|
||||
void MoveCenterTabController::setOffsetX(float value, bool notify) {
|
||||
if (m_offsetX != value) {
|
||||
m_offsetX = value;
|
||||
if (notify) {
|
||||
emit offsetXChanged(m_offsetX);
|
||||
}
|
||||
modOffsetX(value - m_offsetX, notify);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,10 +52,7 @@ float MoveCenterTabController::offsetY() const {
|
||||
|
||||
void MoveCenterTabController::setOffsetY(float value, bool notify) {
|
||||
if (m_offsetY != value) {
|
||||
m_offsetY = value;
|
||||
if (notify) {
|
||||
emit offsetYChanged(m_offsetY);
|
||||
}
|
||||
modOffsetY(value - m_offsetY, notify);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,10 +62,7 @@ float MoveCenterTabController::offsetZ() const {
|
||||
|
||||
void MoveCenterTabController::setOffsetZ(float value, bool notify) {
|
||||
if (m_offsetZ != value) {
|
||||
m_offsetZ = value;
|
||||
if (notify) {
|
||||
emit offsetZChanged(m_offsetZ);
|
||||
}
|
||||
modOffsetZ(value - m_offsetZ, notify);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +73,7 @@ int MoveCenterTabController::rotation() const {
|
||||
void MoveCenterTabController::setRotation(int value, bool notify) {
|
||||
if (m_rotation != value) {
|
||||
float angle = (value - m_rotation) * 2 * M_PI / 360.0;
|
||||
parent->RotateUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, angle);
|
||||
parent->RotateUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, angle, m_adjustChaperone);
|
||||
m_rotation = value;
|
||||
if (notify) {
|
||||
emit rotationChanged(m_rotation);
|
||||
@@ -83,46 +81,101 @@ void MoveCenterTabController::setRotation(int value, bool notify) {
|
||||
}
|
||||
}
|
||||
|
||||
void MoveCenterTabController::modOffsetX(float value) {
|
||||
bool MoveCenterTabController::adjustChaperone() const {
|
||||
return m_adjustChaperone;
|
||||
}
|
||||
|
||||
void MoveCenterTabController::setAdjustChaperone(bool value, bool notify) {
|
||||
if (m_adjustChaperone != value) {
|
||||
m_adjustChaperone = value;
|
||||
if (m_trackingUniverse == vr::TrackingUniverseStanding) {
|
||||
vr::VRChaperoneSetup()->RevertWorkingCopy();
|
||||
if (m_adjustChaperone) {
|
||||
if (m_offsetX != 0.0f) {
|
||||
parent->AddOffsetToCollisionBounds(0, -m_offsetX, false);
|
||||
}
|
||||
if (m_offsetY != 0.0f) {
|
||||
parent->AddOffsetToCollisionBounds(0, -m_offsetY, false);
|
||||
}
|
||||
if (m_offsetZ != 0.0f) {
|
||||
parent->AddOffsetToCollisionBounds(0, -m_offsetZ, false);
|
||||
}
|
||||
if (m_rotation != 0) {
|
||||
parent->RotateCollisionBounds(-m_rotation, false);
|
||||
}
|
||||
} else {
|
||||
if (m_offsetX != 0.0f) {
|
||||
parent->AddOffsetToCollisionBounds(0, m_offsetX, false);
|
||||
}
|
||||
if (m_offsetY != 0.0f) {
|
||||
parent->AddOffsetToCollisionBounds(0, m_offsetY, false);
|
||||
}
|
||||
if (m_offsetZ != 0.0f) {
|
||||
parent->AddOffsetToCollisionBounds(0, m_offsetZ, false);
|
||||
}
|
||||
if (m_rotation != 0) {
|
||||
parent->RotateCollisionBounds(m_rotation, false);
|
||||
}
|
||||
}
|
||||
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
|
||||
}
|
||||
auto settings = OverlayController::appSettings();
|
||||
settings->beginGroup("playspaceSettings");
|
||||
settings->setValue("adjustChaperone", m_adjustChaperone);
|
||||
settings->endGroup();
|
||||
settings->sync();
|
||||
if (notify) {
|
||||
emit adjustChaperoneChanged(m_adjustChaperone);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MoveCenterTabController::modOffsetX(float value, bool notify) {
|
||||
if (m_rotation == 0) {
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 0, value);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 0, value, m_adjustChaperone);
|
||||
} else {
|
||||
auto angle = m_rotation * 2 * M_PI / 360.0;
|
||||
vr::VRChaperoneSetup()->RevertWorkingCopy();
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 0, value * std::cos(angle), true, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 2, value * std::sin(angle), true, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 0, value * std::cos(angle), m_adjustChaperone, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 2, value * std::sin(angle), m_adjustChaperone, false);
|
||||
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
|
||||
}
|
||||
m_offsetX += value;
|
||||
emit offsetXChanged(m_offsetX);
|
||||
if (notify) {
|
||||
emit offsetXChanged(m_offsetX);
|
||||
}
|
||||
}
|
||||
|
||||
void MoveCenterTabController::modOffsetY(float value) {
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 1, value);
|
||||
void MoveCenterTabController::modOffsetY(float value, bool notify) {
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 1, value, m_adjustChaperone);
|
||||
m_offsetY += value;
|
||||
emit offsetYChanged(m_offsetY);
|
||||
if (notify) {
|
||||
emit offsetYChanged(m_offsetY);
|
||||
}
|
||||
}
|
||||
|
||||
void MoveCenterTabController::modOffsetZ(float value) {
|
||||
void MoveCenterTabController::modOffsetZ(float value, bool notify) {
|
||||
if (m_rotation == 0) {
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 2, value);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 2, value, m_adjustChaperone);
|
||||
} else {
|
||||
auto angle = m_rotation * 2 * M_PI / 360.0;
|
||||
vr::VRChaperoneSetup()->RevertWorkingCopy();
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 2, value * std::cos(angle), true, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 0, -value * std::sin(angle), true, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 2, value * std::cos(angle), m_adjustChaperone, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 0, -value * std::sin(angle), m_adjustChaperone, false);
|
||||
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
|
||||
}
|
||||
m_offsetZ += value;
|
||||
emit offsetZChanged(m_offsetZ);
|
||||
if (notify) {
|
||||
emit offsetZChanged(m_offsetZ);
|
||||
}
|
||||
}
|
||||
|
||||
void MoveCenterTabController::reset() {
|
||||
vr::VRChaperoneSetup()->RevertWorkingCopy();
|
||||
parent->RotateUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, -m_rotation * 2 * M_PI / 360.0);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 0, -m_offsetX, true, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 1, -m_offsetY, true, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 2, -m_offsetZ, true, false);
|
||||
parent->RotateUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, -m_rotation * 2 * M_PI / 360.0, m_adjustChaperone, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 0, -m_offsetX, m_adjustChaperone, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 1, -m_offsetY, m_adjustChaperone, false);
|
||||
parent->AddOffsetToUniverseCenter((vr::TrackingUniverseOrigin)m_trackingUniverse, 2, -m_offsetZ, m_adjustChaperone, false);
|
||||
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
|
||||
m_offsetX = 0.0f;
|
||||
m_offsetY = 0.0f;
|
||||
|
||||
@@ -19,6 +19,7 @@ class MoveCenterTabController : public QObject {
|
||||
Q_PROPERTY(float offsetY READ offsetY WRITE setOffsetY NOTIFY offsetYChanged)
|
||||
Q_PROPERTY(float offsetZ READ offsetZ WRITE setOffsetZ NOTIFY offsetZChanged)
|
||||
Q_PROPERTY(int rotation READ rotation WRITE setRotation NOTIFY rotationChanged)
|
||||
Q_PROPERTY(bool adjustChaperone READ adjustChaperone WRITE setAdjustChaperone NOTIFY adjustChaperoneChanged)
|
||||
|
||||
private:
|
||||
OverlayController* parent;
|
||||
@@ -29,6 +30,7 @@ private:
|
||||
float m_offsetY = 0.0f;
|
||||
float m_offsetZ = 0.0f;
|
||||
int m_rotation = 0;
|
||||
bool m_adjustChaperone = true;
|
||||
|
||||
unsigned settingsUpdateCounter = 0;
|
||||
|
||||
@@ -42,6 +44,7 @@ public:
|
||||
float offsetY() const;
|
||||
float offsetZ() const;
|
||||
int rotation() const;
|
||||
bool adjustChaperone() const;
|
||||
|
||||
public slots:
|
||||
int trackingUniverse() const;
|
||||
@@ -53,9 +56,11 @@ public slots:
|
||||
|
||||
void setRotation(int value, bool notify = true);
|
||||
|
||||
void modOffsetX(float value);
|
||||
void modOffsetY(float value);
|
||||
void modOffsetZ(float value);
|
||||
void setAdjustChaperone(bool value, bool notify = true);
|
||||
|
||||
void modOffsetX(float value, bool notify = true);
|
||||
void modOffsetY(float value, bool notify = true);
|
||||
void modOffsetZ(float value, bool notify = true);
|
||||
void reset();
|
||||
|
||||
signals:
|
||||
@@ -64,6 +69,7 @@ signals:
|
||||
void offsetYChanged(float value);
|
||||
void offsetZChanged(float value);
|
||||
void rotationChanged(int value);
|
||||
void adjustChaperoneChanged(bool value);
|
||||
};
|
||||
|
||||
} // namespace advsettings
|
||||
|
||||
Reference in New Issue
Block a user