get/set implemented
This commit is contained in:
@@ -33,51 +33,62 @@ GroupBox {
|
||||
Layout.fillWidth: true
|
||||
|
||||
MyToggleButton {
|
||||
id: turnBindLeft
|
||||
text: "Enable Left Hand"
|
||||
id: brightnessToggle
|
||||
text: "Toggle Brightness Adjustment"
|
||||
onCheckedChanged: {
|
||||
MoveCenterTabController.turnBindLeft = this.checked
|
||||
}
|
||||
}
|
||||
|
||||
MyToggleButton {
|
||||
id: turnBindRight
|
||||
text: "Enable Right Hand"
|
||||
onCheckedChanged: {
|
||||
MoveCenterTabController.turnBindRight = this.checked
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
MyText {
|
||||
text: "Turn Comfort Mode:"
|
||||
text: "Brightness:"
|
||||
horizontalAlignment: Text.AlignRight
|
||||
Layout.rightMargin: 10
|
||||
}
|
||||
|
||||
MySlider {
|
||||
id: turnComfortSlider
|
||||
from: 0
|
||||
to: 10
|
||||
stepSize: 1
|
||||
value: 0
|
||||
Layout.preferredWidth: 200
|
||||
Layout.alignment: Qt.AlignVCenter | Qt.AlignRight
|
||||
id: brightnessSlider
|
||||
from: 0.00
|
||||
to: 1.0
|
||||
stepSize: 0.01
|
||||
value: 1.0.
|
||||
var val = (this.position * 100)/2 + 50
|
||||
chaperoneVisibilityText.text = Math.round(val) + "%"
|
||||
}
|
||||
onValueChanged: {
|
||||
turnComfortText.text = turnComfortSlider.value
|
||||
MoveCenterTabController.turnComfortFactor = turnComfortSlider.value
|
||||
//TODO change value
|
||||
ChaperoneTabController.setBoundsVisibility(value.toFixed(2), false)
|
||||
}
|
||||
}
|
||||
|
||||
MyText {
|
||||
id: turnComfortText
|
||||
text: "0"
|
||||
horizontalAlignment: Text.AlignRight
|
||||
Layout.preferredWidth: 30
|
||||
Layout.rightMargin: 10
|
||||
MyTextField {
|
||||
id: chaperoneVisibilityText
|
||||
text: "100.00"
|
||||
keyBoardUID: 301
|
||||
Layout.preferredWidth: 100
|
||||
Layout.leftMargin: 10
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
function onInputEvent(input) {
|
||||
var val = parseFloat(input)
|
||||
if (!isNaN(val)) {
|
||||
if (val < 50.0) {
|
||||
val = 50.0
|
||||
} else if (val > 100.0) {
|
||||
val = 100.0
|
||||
}
|
||||
var v = (val/100).toFixed(2)
|
||||
if (v <= chaperoneVisibilitySlider.to) {
|
||||
chaperoneVisibilitySlider.value = v
|
||||
} else {
|
||||
ChaperoneTabController.setBoundsVisibility(v, false)
|
||||
}
|
||||
}
|
||||
text = Math.round(ChaperoneTabController.boundsVisibility * 100) + "%"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,4 +85,42 @@ namespace advsettings
|
||||
void VideoTabController::saveVideoConfig() {
|
||||
|
||||
}
|
||||
|
||||
float VideoTabController::brightnessValue() const
|
||||
{
|
||||
return m_brightnessValue;
|
||||
}
|
||||
|
||||
bool VideoTabController::brightnessEnabled() const
|
||||
{
|
||||
return m_brightnessEnabled;
|
||||
}
|
||||
|
||||
void VideoTabController::setBrightnessEnabled(bool value, bool notify)
|
||||
{
|
||||
//TODO mutex?
|
||||
//std::lock_guard<std::recursive_mutex> lock(eventLoopMutex);
|
||||
if (value != m_brightnessEnabled)
|
||||
{
|
||||
m_brightnessEnabled = value;
|
||||
if (notify)
|
||||
{
|
||||
emit brightnessEnabledChanged(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void VideoTabController::setBrightnessvalue(float value, bool notify)
|
||||
{
|
||||
//TODO mutex?
|
||||
//std::lock_guard<std::recursive_mutex> lock(eventLoopMutex);
|
||||
if (value != m_brightnessValue)
|
||||
{
|
||||
m_brightnessValue = value;
|
||||
if (notify)
|
||||
{
|
||||
emit brightnessValueChanged(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,40 +2,55 @@
|
||||
|
||||
namespace advsettings {
|
||||
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(int playbackDeviceIndex READ playbackDeviceIndex WRITE
|
||||
setPlaybackDeviceIndex NOTIFY playbackDeviceIndexChanged)
|
||||
Q_PROPERTY(int mirrorDeviceIndex READ mirrorDeviceIndex WRITE
|
||||
setMirrorDeviceIndex NOTIFY mirrorDeviceIndexChanged)
|
||||
|
||||
private:
|
||||
//TODO
|
||||
constexpr auto notificationBrightnessFilename
|
||||
= "todo";
|
||||
vr::VROverlayHandle_t m_brightnessNotificationOverlayHandle
|
||||
= vr::k_ulOverlayHandleInvalid;
|
||||
float m_brightnessValue = 1.0;
|
||||
bool m_brightnessEnabled = false;
|
||||
|
||||
void reloadVideoConfig();
|
||||
void saveVideoConfig();
|
||||
|
||||
|
||||
QString getSettingsName() override
|
||||
class ChaperoneTabController : public QObject
|
||||
{
|
||||
return "videoSettings";
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(bool brightnessEnabled READ brightnessEnabled WRITE
|
||||
setBrightnessEnabled NOTIFY brightnessEnabledChanged)
|
||||
Q_PROPERTY(float brightnessValue READ brightnessValue WRITE
|
||||
setBrightnessValue NOTIFY brightnessValueChanged)
|
||||
|
||||
private:
|
||||
//TODO
|
||||
constexpr auto notificationBrightnessFilename
|
||||
= "todo";
|
||||
vr::VROverlayHandle_t m_brightnessNotificationOverlayHandle
|
||||
= vr::k_ulOverlayHandleInvalid;
|
||||
float m_brightnessValue = 1.0;
|
||||
bool m_brightnessEnabled = false;
|
||||
|
||||
void reloadVideoConfig();
|
||||
void saveVideoConfig();
|
||||
|
||||
|
||||
QString getSettingsName() override
|
||||
{
|
||||
return "videoSettings";
|
||||
}
|
||||
|
||||
vr::VROverlayHandle_t getBrightnessOverlayHandle()
|
||||
{
|
||||
return m_brightnessNotificationOverlayHandle;
|
||||
}
|
||||
|
||||
|
||||
public:
|
||||
float brightnessValue() const;
|
||||
bool brightnessEnabled() const;
|
||||
|
||||
void initStage1();
|
||||
//TODO ?? on args
|
||||
void initStage2(OverlayController* var_parent, QQuickWindow* var_widget);
|
||||
|
||||
|
||||
public slots:
|
||||
void setBrightnessEnabled(bool value, bool notify = true);
|
||||
void setBrightnessValue(float value, bool notify = true);
|
||||
|
||||
|
||||
signals:
|
||||
void brightnessEnabledChanged(bool value);
|
||||
void brightnessValueChanged(float value);
|
||||
}
|
||||
|
||||
vr::VROverlayHandle_t getBrightnessOverlayHandle()
|
||||
{
|
||||
return m_brightnessNotificationOverlayHandle;
|
||||
}
|
||||
|
||||
|
||||
public:
|
||||
|
||||
void initStage1();
|
||||
//TODO ?? on args
|
||||
void initStage2(OverlayController* var_parent, QQuickWindow* var_widget);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user