Center Marker/ Chaperone Refactor/ IVROverlay/IVRSettings wrappers PT 1/? (#438)
* changed click noises to internal sounds * udpated to ovr 1.11.11 * in prog added prototypes * began wrapper for IVRSettings * added getters for chaperone colors * added setters for chaperone color * fixed type conversion issue * fixed linking issue, added additional settings chaperone page * adjusted chaperone page qml * added color chaperone UI * refactor in prog * updated ivrsettings wrapper, refactor in prog * refactor in prog * collision bound style add * refactor * cleaned up error logging * fixed fade distance remember bug * fixed sounds * fixed brightness opacity bug setting to 0 when 0 * fixed sounds * added wrapper for removing keys * refactored reset * added chaperone Styles to UI * added chaperone floor always on * fixed copy/paste error * adjsuted ui chaperone color slider * started adding chaperone floor marker * fixeed naming error overlay * finalized chaperone Ideas, added chaperone markers * began ivroverlay wrapper * center marker fully implemented * added function prototypes for new settings * added setting, and updated ui for New Center Marker Overlay * adjsuted sound effect volume and formatting for chaperonecolorbox * adjusted volume back * fixed various issues aroudn new overlay * removed artifact comment * cleaned up settings wrapper * cleaned up chaperone tab controller for namespace changes * removed ide comment issue * cleanup overlay wrapper * cleaned up tab/space changed file name * renamed files * fixed include statements * updated namespace in chaperonetabcontroller * fixed tab/space issues * re-activated boundbasisheight * fixed bulgarian case * changed chaperone warnings to only work in roomscale * fix capitilization * fixed tracking universe update * direct text input change for brightness * qml fixes * fixed qml format issues * fixed sound issue w/ sliders * fixed super truely * Add SDL libraries to CircleCI * Remove -tidy from circleCI config * flushed out error messages in overlaywrapper * removed hungarian notation * added get/set string to ovrsettings wrapper * misc cleanup * add reset orientation btn and new center marker to chaperone * ui adjustments * changed alarm audio * adjusted sound effect volume slightly lower * updated for 5.1.0 release Co-authored-by: Vasily <vautkin@teknik.io>
This commit is contained in:
@@ -443,7 +443,7 @@ MyStackViewPage {
|
||||
text: "Center Marker"
|
||||
Layout.fillWidth: false
|
||||
onCheckedChanged: {
|
||||
ChaperoneTabController.setCenterMarker(this.checked, false)
|
||||
ChaperoneTabController.setCenterMarkerNew(this.checked, false)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,16 +485,31 @@ MyStackViewPage {
|
||||
Item { Layout.fillWidth: true }
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
MyPushButton {
|
||||
id: chaperoneWarningsConfigButton
|
||||
text: "Proximity Warning Settings"
|
||||
Layout.preferredWidth: 350
|
||||
onClicked: {
|
||||
MyResources.playFocusChangedSound()
|
||||
mainView.push(chaperoneWarningsPage)
|
||||
}
|
||||
}
|
||||
Item {Layout.fillWidth: true}
|
||||
|
||||
MyPushButton {
|
||||
id: chaperoneWarningsConfigButton
|
||||
text: "Proximity Warning Settings"
|
||||
Layout.preferredWidth: 350
|
||||
onClicked: {
|
||||
MyResources.playFocusChangedSound()
|
||||
mainView.push(chaperoneWarningsPage)
|
||||
MyPushButton {
|
||||
id: chaperoneAdditionalButton
|
||||
text: "Additional Chaperone Settings"
|
||||
Layout.preferredWidth: 400
|
||||
|
||||
onClicked: {
|
||||
MyResources.playFocusChangedSound()
|
||||
mainView.push(chaperoneAdditionalPage)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ChangeOrientationGroupBox { }
|
||||
|
||||
|
||||
@@ -540,7 +555,7 @@ MyStackViewPage {
|
||||
chaperoneHeightSlider.value = h
|
||||
}
|
||||
chaperoneHeightText.text = h
|
||||
chaperoneCenterMarkerToggle.checked = ChaperoneTabController.centerMarker
|
||||
chaperoneCenterMarkerToggle.checked = ChaperoneTabController.centerMarkerNew
|
||||
chaperonePlaySpaceToggle.checked = ChaperoneTabController.playSpaceMarker
|
||||
chaperoneForceBoundsToggle.checked = ChaperoneTabController.forceBounds
|
||||
chaperoneDisableChaperone.checked = ChaperoneTabController.disableChaperone
|
||||
@@ -581,8 +596,8 @@ MyStackViewPage {
|
||||
chaperoneHeightText.text = h
|
||||
}
|
||||
|
||||
onCenterMarkerChanged: {
|
||||
chaperoneCenterMarkerToggle.checked = ChaperoneTabController.centerMarker
|
||||
onCenterMarkerNewChanged: {
|
||||
chaperoneCenterMarkerToggle.checked = ChaperoneTabController.centerMarkerNew
|
||||
}
|
||||
onPlaySpaceMarkerChanged: {
|
||||
chaperonePlaySpaceToggle.checked = ChaperoneTabController.playSpaceMarker
|
||||
|
||||
@@ -42,7 +42,7 @@ GroupBox {
|
||||
val = -180;
|
||||
}
|
||||
spaceRotationSlider.value = val
|
||||
spaceRotationText.text = val
|
||||
spaceRotationText.text = val.toFixed(2) + "°"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ GroupBox {
|
||||
Layout.fillWidth: true
|
||||
onValueChanged: {
|
||||
var val = this.value
|
||||
spaceRotationText.text = val
|
||||
spaceRotationText.text = val.toFixed(2) + "°"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ GroupBox {
|
||||
val = 180;
|
||||
}
|
||||
spaceRotationSlider.value = val
|
||||
spaceRotationText.text = val
|
||||
spaceRotationText.text = val.toFixed(2) + "°"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ GroupBox {
|
||||
function onInputEvent(input) {
|
||||
var val = parseFloat(input)
|
||||
if (!isNaN(val)) {
|
||||
spaceRotationText.text = val + "°"
|
||||
spaceRotationText.text = val.toFixed(2) + "°"
|
||||
spaceRotationSlider.value = val
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtQuick.Dialogs 1.2
|
||||
import ovras.advsettings 1.0
|
||||
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
|
||||
import "../../common"
|
||||
import "chaperoneboundscolor"
|
||||
import "chaperonetype"
|
||||
import "chaperonemisc"
|
||||
|
||||
MyStackViewPage {
|
||||
headerText: "Additional Chaperone Settings"
|
||||
content: ColumnLayout {
|
||||
spacing: 10
|
||||
|
||||
ChaperoneBoundsColorGroupBox{
|
||||
id: chaperoneBoundsColorGroupBox
|
||||
}
|
||||
ChaperoneTypeGroupBox{
|
||||
id:chaperoneTypeGroupBox
|
||||
}
|
||||
ChaperoneMiscGroupBox{
|
||||
id:chaperoneMiscGroupBox
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//TODO content
|
||||
|
||||
+199
@@ -0,0 +1,199 @@
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
import ovras.advsettings 1.0
|
||||
import "../../../common"
|
||||
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
|
||||
|
||||
GroupBox {
|
||||
id: chaperoneBoundsColorGroupBox
|
||||
Layout.fillWidth: true
|
||||
|
||||
label: MyText {
|
||||
leftPadding: 10
|
||||
text: "Chaperone Color"
|
||||
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{
|
||||
|
||||
MyText {
|
||||
text: "Red:"
|
||||
horizontalAlignment: Text.AlignRight
|
||||
Layout.preferredWidth: 75
|
||||
}
|
||||
|
||||
MySlider {
|
||||
id: chaperoneColorRedSlider
|
||||
from: 0
|
||||
to: 255
|
||||
stepSize: 5
|
||||
value: 0
|
||||
Layout.fillWidth: true
|
||||
onPositionChanged: {
|
||||
var val = (this.value).toFixed(0)
|
||||
colorRedText.text = val
|
||||
ChaperoneTabController.setChaperoneColorR(val, true)
|
||||
}
|
||||
}
|
||||
|
||||
MyTextField {
|
||||
id: colorRedText
|
||||
text: "0"
|
||||
keyBoardUID: 320
|
||||
Layout.preferredWidth: 100
|
||||
Layout.leftMargin: 10
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
function onInputEvent(input) {
|
||||
var val = parseInt(input)
|
||||
if (!isNaN(val)) {
|
||||
if (val < 0) {
|
||||
val = 0
|
||||
} else if (val > 255) {
|
||||
val = 255
|
||||
}
|
||||
ChaperoneTabController.setChaperoneColorR(val, true)
|
||||
chaperoneColorRedSlider.value = val
|
||||
}
|
||||
text = val
|
||||
}
|
||||
}
|
||||
|
||||
Item{
|
||||
Layout.preferredWidth: 200
|
||||
}
|
||||
MyText {
|
||||
text: "Green:"
|
||||
horizontalAlignment: Text.AlignRight
|
||||
Layout.preferredWidth: 75
|
||||
}
|
||||
|
||||
MySlider {
|
||||
id: chaperoneColorGreenSlider
|
||||
from: 0
|
||||
to: 255
|
||||
stepSize: 5
|
||||
value: 255
|
||||
Layout.fillWidth: true
|
||||
onPositionChanged: {
|
||||
var val = (this.value).toFixed(0)
|
||||
colorGreenText.text = val
|
||||
ChaperoneTabController.setChaperoneColorG(val, true)
|
||||
}
|
||||
}
|
||||
|
||||
MyTextField {
|
||||
id: colorGreenText
|
||||
text: "255"
|
||||
keyBoardUID: 321
|
||||
Layout.preferredWidth: 100
|
||||
Layout.leftMargin: 10
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
function onInputEvent(input) {
|
||||
var val = parseInt(input)
|
||||
if (!isNaN(val)) {
|
||||
if (val < 0) {
|
||||
val = 0
|
||||
} else if (val > 255) {
|
||||
val = 255
|
||||
}
|
||||
ChaperoneTabController.setChaperoneColorG(val, true)
|
||||
chaperoneColorGreenSlider.value = val
|
||||
}
|
||||
text = val
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
RowLayout{
|
||||
MyText {
|
||||
text: "Blue:"
|
||||
horizontalAlignment: Text.AlignRight
|
||||
Layout.preferredWidth: 75
|
||||
}
|
||||
|
||||
MySlider {
|
||||
id: chaperoneColorBlueSlider
|
||||
from: 0
|
||||
to: 255
|
||||
stepSize: 5
|
||||
value: 255
|
||||
Layout.preferredWidth: 250
|
||||
onPositionChanged: {
|
||||
var val = (this.value).toFixed(0)
|
||||
colorBlueText.text = val
|
||||
ChaperoneTabController.setChaperoneColorB(val, true)
|
||||
}
|
||||
}
|
||||
|
||||
MyTextField {
|
||||
id: colorBlueText
|
||||
text: "255"
|
||||
keyBoardUID: 322
|
||||
Layout.preferredWidth: 100
|
||||
Layout.leftMargin: 10
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
function onInputEvent(input) {
|
||||
var val = parseInt(input)
|
||||
if (!isNaN(val)) {
|
||||
if (val < 0) {
|
||||
val = 0
|
||||
} else if (val > 255) {
|
||||
val = 255
|
||||
}
|
||||
ChaperoneTabController.setChaperoneColorB(val, true)
|
||||
chaperoneColorBlueSlider.value = val
|
||||
}
|
||||
text = val
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Component.onCompleted: {
|
||||
// set up var here to prevent double call to c++ from qml
|
||||
var redValue = ChaperoneTabController.chaperoneColorR
|
||||
var greenValue = ChaperoneTabController.chaperoneColorG
|
||||
var blueValue = ChaperoneTabController.chaperoneColorB
|
||||
colorRedText.text = redValue
|
||||
colorGreenText.text = greenValue
|
||||
colorBlueText.text = blueValue
|
||||
chaperoneColorRedSlider.value = redValue
|
||||
chaperoneColorGreenSlider.value = greenValue
|
||||
chaperoneColorBlueSlider.value = blueValue
|
||||
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: ChaperoneTabController
|
||||
onChaperoneColorRChanged:{
|
||||
var redValue = ChaperoneTabController.chaperoneColorR
|
||||
colorRedText.text = redValue
|
||||
chaperoneColorRedSlider.value = redValue
|
||||
}
|
||||
onChaperoneColorGChanged:{
|
||||
var greenValue = ChaperoneTabController.chaperoneColorG
|
||||
colorGreenText.text = greenValue
|
||||
chaperoneColorGreenSlider.value = greenValue
|
||||
}
|
||||
onChaperoneColorBChanged:{
|
||||
var blueValue = ChaperoneTabController.chaperoneColorB
|
||||
colorBlueText.text = blueValue
|
||||
chaperoneColorBlueSlider.value = blueValue
|
||||
}
|
||||
}
|
||||
}
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
import ovras.advsettings 1.0
|
||||
import "../../../common"
|
||||
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
|
||||
GroupBox {
|
||||
id: chaperoneMiscGroupBox
|
||||
Layout.fillWidth: true
|
||||
|
||||
label: MyText {
|
||||
leftPadding: 10
|
||||
text: "Misc:"
|
||||
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 {
|
||||
spacing: 16
|
||||
|
||||
MyToggleButton {
|
||||
id: chaperoneFloorToggleBtn
|
||||
text: "Floor Bounds Always On"
|
||||
Layout.preferredWidth: 375
|
||||
onCheckedChanged: {
|
||||
ChaperoneTabController.setChaperoneFloorToggle(this.checked, false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MyToggleButton {
|
||||
id: legacyCenterMarkerbtn
|
||||
text: "Legacy Center Marker"
|
||||
Layout.preferredWidth: 375
|
||||
onCheckedChanged: {
|
||||
ChaperoneTabController.setCenterMarker(this.checked, false)
|
||||
}
|
||||
}
|
||||
|
||||
MyPushButton{
|
||||
id:btnResetOrientation
|
||||
text: "Reset Turn Counter"
|
||||
onClicked: {
|
||||
StatisticsTabController.statsRotationResetClicked()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
chaperoneFloorToggleBtn.checked = ChaperoneTabController.chaperoneFloorToggle
|
||||
legacyCenterMarkerbtn.checked = ChaperoneTabController.centerMarker
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: ChaperoneTabController
|
||||
onChaperoneFloorToggleChanged:{
|
||||
chaperoneFloorToggleBtn.checked = ChaperoneTabController.chaperoneFloorToggle
|
||||
}
|
||||
onCenterMarkerChanged:{
|
||||
legacyCenterMarkerbtn.checked = ChaperoneTabController.centermarker
|
||||
}
|
||||
}
|
||||
}
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
import ovras.advsettings 1.0
|
||||
import "../../../common"
|
||||
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
|
||||
|
||||
GroupBox {
|
||||
id: chaperoneTypeGroupBox
|
||||
Layout.fillWidth: true
|
||||
|
||||
label: MyText {
|
||||
leftPadding: 10
|
||||
text: "Chaperone Style"
|
||||
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{
|
||||
ButtonGroup { id: chaperoneTypeExclGroup
|
||||
exclusive: true}
|
||||
MyRadioButton {
|
||||
id: denseRadio
|
||||
text: qsTr("Dense")
|
||||
ButtonGroup.group: chaperoneTypeExclGroup
|
||||
Layout.preferredWidth: 200
|
||||
onCheckedChanged: {
|
||||
if(checked){
|
||||
MyResources.playActivationSound()
|
||||
ChaperoneTabController.setCollisionBoundStyle(0)
|
||||
}
|
||||
}
|
||||
}
|
||||
MyRadioButton {
|
||||
id: medRadio
|
||||
text: qsTr("Med")
|
||||
ButtonGroup.group: chaperoneTypeExclGroup
|
||||
Layout.preferredWidth: 200
|
||||
onCheckedChanged: {
|
||||
if(checked){
|
||||
MyResources.playActivationSound()
|
||||
ChaperoneTabController.setCollisionBoundStyle(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
MyRadioButton {
|
||||
id: squaresRadio
|
||||
text: qsTr("Squares")
|
||||
ButtonGroup.group: chaperoneTypeExclGroup
|
||||
Layout.preferredWidth: 200
|
||||
onCheckedChanged: {
|
||||
if(checked){
|
||||
MyResources.playActivationSound()
|
||||
ChaperoneTabController.setCollisionBoundStyle(2)
|
||||
}
|
||||
}
|
||||
}
|
||||
MyRadioButton {
|
||||
id: sparseRadio
|
||||
text: qsTr("Sparse")
|
||||
ButtonGroup.group: chaperoneTypeExclGroup
|
||||
Layout.preferredWidth: 200
|
||||
onCheckedChanged: {
|
||||
if(checked){
|
||||
MyResources.playActivationSound()
|
||||
ChaperoneTabController.setCollisionBoundStyle(3)
|
||||
}
|
||||
}
|
||||
}
|
||||
MyRadioButton {
|
||||
id: floorRadio
|
||||
text: qsTr("Floor Only")
|
||||
ButtonGroup.group: chaperoneTypeExclGroup
|
||||
Layout.preferredWidth: 200
|
||||
onCheckedChanged: {
|
||||
if(checked){
|
||||
MyResources.playActivationSound()
|
||||
ChaperoneTabController.setCollisionBoundStyle(4)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Component.onCompleted: {
|
||||
// set up var here to prevent double call to c++ from qml
|
||||
var collisiontype = ChaperoneTabController.collisionBoundStyle
|
||||
switch(collisiontype){
|
||||
case 0: denseRadio.checked = true; break;
|
||||
case 1: medRadio.checked = true; break;
|
||||
case 2: squaresRadio.checked = true; break;
|
||||
case 3: sparseRadio.checked = true; break
|
||||
case 4: floorRadio.checked = true; break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: ChaperoneTabController
|
||||
onCollisionBoundStyleChanged:{
|
||||
var collisiontype = ChaperoneTabController.collisionBoundStyle
|
||||
switch(collisiontype){
|
||||
case 0: denseRadio.checked = true; break;
|
||||
case 1: medRadio.checked = true; break;
|
||||
case 2: squaresRadio.checked = true; break;
|
||||
case 3: sparseRadio.checked = true; break
|
||||
case 4: floorRadio.checked = true; break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
|
||||
|
||||
RadioButton {
|
||||
hoverEnabled: true
|
||||
contentItem: MyText {
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
text: parent.text
|
||||
color: parent.enabled ? "#ffffff" : "#909090"
|
||||
}
|
||||
onHoveredChanged: {
|
||||
if (hovered) {
|
||||
forceActiveFocus()
|
||||
} else {
|
||||
focus = false
|
||||
}
|
||||
}
|
||||
|
||||
onClicked: {
|
||||
MyResources.playActivationSound()
|
||||
}
|
||||
}
|
||||
@@ -48,7 +48,7 @@ Slider {
|
||||
|
||||
onValueChanged: {
|
||||
if (activeFocus) {
|
||||
MyResources.playActivationSound()
|
||||
//MyResources.playActivationSound()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import "../video_page"
|
||||
import "../chaperone_page"
|
||||
import "../steamvr_page"
|
||||
import "../rotation_page"
|
||||
import "../chaperone_page/chaperone_additional"
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
@@ -35,6 +36,11 @@ Rectangle {
|
||||
visible: false
|
||||
}
|
||||
|
||||
property ChaperoneAdditionalPage chaperoneAdditionalPage: ChaperoneAdditionalPage{
|
||||
stackView: mainView
|
||||
visible: false
|
||||
}
|
||||
|
||||
property PlayspacePage playspacePage: PlayspacePage {
|
||||
stackView: mainView
|
||||
visible: false
|
||||
|
||||
@@ -59,9 +59,6 @@ GroupBox {
|
||||
onPositionChanged: {
|
||||
var val = (this.value * 100)
|
||||
brightnessValueText.text = Math.round(val) + "%"
|
||||
}
|
||||
onValueChanged: {
|
||||
|
||||
VideoTabController.setBrightnessOpacityValue(value.toFixed(2), true)
|
||||
}
|
||||
}
|
||||
@@ -76,12 +73,13 @@ GroupBox {
|
||||
function onInputEvent(input) {
|
||||
var val = parseFloat(input)
|
||||
if (!isNaN(val)) {
|
||||
if (val < 10) {
|
||||
val = 10
|
||||
if (val < 3.0) {
|
||||
val = 3.0
|
||||
} else if (val > 100.0) {
|
||||
val = 100.0
|
||||
}
|
||||
var v = (val/100).toFixed(2)
|
||||
var v = (val/100)
|
||||
VideoTabController.setBrightnessOpacityValue(v.toFixed(2), true)
|
||||
brightnessSlider.value = v
|
||||
}
|
||||
text = Math.round(VideoTabController.brightnessOpacityValue * 100) + "%"
|
||||
@@ -91,7 +89,9 @@ GroupBox {
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
brightnessSlider.value = VideoTabController.brightnessOpacityValue
|
||||
var brightvalue = VideoTabController.brightnessOpacityValue
|
||||
brightnessSlider.value = brightvalue
|
||||
brightnessValueText.text = Math.round(brightvalue*100)+ "%"
|
||||
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
||||
}
|
||||
|
||||
@@ -99,7 +99,9 @@ GroupBox {
|
||||
target: VideoTabController
|
||||
|
||||
onBrightnessOpacityValueChanged: {
|
||||
brightnessSlider.value = VideoTabController.brightnessOpacityValue
|
||||
var brightvalue = VideoTabController.brightnessOpacityValue
|
||||
brightnessSlider.value = brightvalue
|
||||
brightnessValueText.text = Math.round(brightvalue*100)+ "%"
|
||||
}
|
||||
onBrightnessEnabledChanged: {
|
||||
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
||||
|
||||
Reference in New Issue
Block a user