Increased granularity of the offset slider. Textfield now accepts arbitrary values.
188 lines
6.9 KiB
QML
188 lines
6.9 KiB
QML
import QtQuick 2.7
|
|
import QtQuick.Controls 2.0
|
|
import QtQuick.Layouts 1.3
|
|
import matzman666.advsettings 1.0
|
|
|
|
|
|
|
|
MyStackViewPage {
|
|
headerText: "Accessibility Tools"
|
|
|
|
PttControllerConfigDialog {
|
|
id: pttControllerConfigDialog
|
|
pttControllerConfigClass: AccessibilityTabController
|
|
}
|
|
|
|
content: ColumnLayout {
|
|
spacing: 92
|
|
|
|
GroupBox {
|
|
Layout.fillWidth: true
|
|
|
|
label: MyText {
|
|
leftPadding: 10
|
|
text: "Adjust Player Height"
|
|
bottomPadding: -10
|
|
}
|
|
background: Rectangle {
|
|
color: "transparent"
|
|
border.color: "#ffffff"
|
|
radius: 8
|
|
}
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
|
|
Rectangle {
|
|
color: "#ffffff"
|
|
height: 1
|
|
Layout.fillWidth: true
|
|
Layout.bottomMargin: 5
|
|
}
|
|
|
|
RowLayout {
|
|
MyPushButton2 {
|
|
Layout.preferredWidth: 40
|
|
text: "-"
|
|
onClicked: {
|
|
accessibilityMoveYSlider.value -= 0.05
|
|
}
|
|
}
|
|
|
|
MySlider {
|
|
id: accessibilityMoveYSlider
|
|
from: 0
|
|
to: 1.5
|
|
stepSize: 0.01
|
|
value: 0.0
|
|
Layout.fillWidth: true
|
|
onPositionChanged: {
|
|
var val = this.from + ( this.position * (this.to - this.from))
|
|
accessibilityMoveYText.text = val.toFixed(2)
|
|
}
|
|
onValueChanged: {
|
|
AccessibilityTabController.heightOffset = this.value.toFixed(2)
|
|
}
|
|
}
|
|
|
|
MyPushButton2 {
|
|
Layout.preferredWidth: 40
|
|
text: "+"
|
|
onClicked: {
|
|
accessibilityMoveYSlider.value += 0.05
|
|
}
|
|
}
|
|
|
|
MyTextField {
|
|
id: accessibilityMoveYText
|
|
text: "0.00"
|
|
keyBoardUID: 700
|
|
Layout.preferredWidth: 140
|
|
Layout.leftMargin: 10
|
|
Layout.rightMargin: 10
|
|
horizontalAlignment: Text.AlignHCenter
|
|
function onInputEvent(input) {
|
|
var val = parseFloat(input)
|
|
if (!isNaN(val)) {
|
|
if (val >= accessibilityMoveYSlider.from && val <= accessibilityMoveYSlider.to) {
|
|
accessibilityMoveYSlider.value = val.toFixed(2);
|
|
} else {
|
|
AccessibilityTabController.setHeightOffset(val.toFixed(2), false);
|
|
}
|
|
}
|
|
text = AccessibilityTabController.heightOffset.toFixed(2)
|
|
}
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
MyToggleButton {
|
|
id: heightOffsetPttEnabledToggle
|
|
Layout.preferredWidth: 260
|
|
text: "Push-to-Toggle:"
|
|
onClicked: {
|
|
AccessibilityTabController.pttEnabled = checked
|
|
}
|
|
}
|
|
MyToggleButton {
|
|
id: heightOffsetPttLeftControllerToggle
|
|
text: "Left Controller"
|
|
onClicked: {
|
|
AccessibilityTabController.setPttLeftControllerEnabled(checked, false)
|
|
}
|
|
}
|
|
MyPushButton {
|
|
text: "Configure"
|
|
onClicked: {
|
|
pttControllerConfigDialog.openPopup(0)
|
|
}
|
|
}
|
|
Item {
|
|
Layout.fillWidth: true
|
|
}
|
|
MyToggleButton {
|
|
id: heightOffsetPttRightControllerToggle
|
|
text: "Right Controller"
|
|
onClicked: {
|
|
AccessibilityTabController.setPttRightControllerEnabled(checked, false)
|
|
}
|
|
}
|
|
MyPushButton {
|
|
text: "Configure"
|
|
onClicked: {
|
|
pttControllerConfigDialog.openPopup(1)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Item { Layout.fillHeight: true; Layout.fillWidth: true}
|
|
|
|
MyPushButton {
|
|
id: accessibilityResetButton
|
|
Layout.preferredWidth: 250
|
|
text: "Reset"
|
|
onClicked: {
|
|
AccessibilityTabController.reset()
|
|
}
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
var heightOffsetFormatted = AccessibilityTabController.heightOffset.toFixed(2)
|
|
if (heightOffsetFormatted >= accessibilityMoveYSlider.from && heightOffsetFormatted <= accessibilityMoveYSlider.to) {
|
|
accessibilityMoveYSlider.value = heightOffsetFormatted
|
|
}
|
|
accessibilityMoveYText.text = heightOffsetFormatted
|
|
heightOffsetPttEnabledToggle.checked = AccessibilityTabController.pttEnabled
|
|
heightOffsetPttLeftControllerToggle.checked = AccessibilityTabController.pttLeftControllerEnabled
|
|
heightOffsetPttRightControllerToggle.checked = AccessibilityTabController.pttRightControllerEnabled
|
|
}
|
|
|
|
Connections {
|
|
target: AccessibilityTabController
|
|
onHeightOffsetChanged: {
|
|
var heightOffsetFormatted = AccessibilityTabController.heightOffset.toFixed(2)
|
|
if (heightOffsetFormatted >= accessibilityMoveYSlider.from && heightOffsetFormatted <= accessibilityMoveYSlider.to) {
|
|
accessibilityMoveYSlider.value = heightOffsetFormatted
|
|
}
|
|
accessibilityMoveYText.text = heightOffsetFormatted
|
|
}
|
|
onPttEnabledChanged: {
|
|
heightOffsetPttEnabledToggle.checked = AccessibilityTabController.pttEnabled
|
|
}
|
|
onPttActiveChanged: {
|
|
|
|
}
|
|
onPttLeftControllerEnabledChanged: {
|
|
heightOffsetPttLeftControllerToggle.checked = AccessibilityTabController.pttLeftControllerEnabled
|
|
}
|
|
onPttRightControllerEnabledChanged: {
|
|
heightOffsetPttRightControllerToggle.checked = AccessibilityTabController.pttRightControllerEnabled
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|