From 4813f4d042433407e3c5fb9a2e043fe821d93966 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Fri, 28 Sep 2018 13:02:27 +1200 Subject: [PATCH] Show/hide jumping & flying checkbox depending on movement mode --- .../preferences/RadioButtonsPreference.qml | 16 ++++++++++++++-- .../tabletWindows/TabletPreferencesDialog.qml | 14 +++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/interface/resources/qml/dialogs/preferences/RadioButtonsPreference.qml b/interface/resources/qml/dialogs/preferences/RadioButtonsPreference.qml index b61c3430fd..103904a666 100644 --- a/interface/resources/qml/dialogs/preferences/RadioButtonsPreference.qml +++ b/interface/resources/qml/dialogs/preferences/RadioButtonsPreference.qml @@ -18,8 +18,20 @@ Preference { height: control.height + hifi.dimensions.controlInterlineHeight + property int value: 0 + Component.onCompleted: { - repeater.itemAt(preference.value).checked = true + value = preference.value; + repeater.itemAt(preference.value).checked = true; + } + + function updateValue() { + for (var i = 0; i < repeater.count; i++) { + if (repeater.itemAt(i).checked) { + value = i; + break; + } + } } function save() { @@ -61,9 +73,9 @@ Preference { anchors { left: parent.left } - leftPadding: 0 colorScheme: hifi.colorSchemes.dark + onClicked: updateValue(); } } } diff --git a/interface/resources/qml/hifi/tablet/tabletWindows/TabletPreferencesDialog.qml b/interface/resources/qml/hifi/tablet/tabletWindows/TabletPreferencesDialog.qml index f2379cce7a..3708f75114 100644 --- a/interface/resources/qml/hifi/tablet/tabletWindows/TabletPreferencesDialog.qml +++ b/interface/resources/qml/hifi/tablet/tabletWindows/TabletPreferencesDialog.qml @@ -123,10 +123,18 @@ Item { } // Runtime customization of preferences. + var locomotionPreference = findPreference("VR Movement", "Teleporting only / Walking and teleporting"); + var flyingPreference = findPreference("VR Movement", "Jumping and flying"); + if (locomotionPreference && flyingPreference) { + flyingPreference.visible = (locomotionPreference.value === 1); + locomotionPreference.valueChanged.connect(function () { + flyingPreference.visible = (locomotionPreference.value === 1); + }); + } if (HMD.isHeadControllerAvailable("Oculus")) { - var preference = findPreference("VR Movement", "Show room boundaries while teleporting"); - if (preference) { - preference.label = "Show room boundaries and sensors while teleporting"; + var boundariesPreference = findPreference("VR Movement", "Show room boundaries while teleporting"); + if (boundariesPreference) { + boundariesPreference.label = "Show room boundaries and sensors while teleporting"; } }