From 95d2f55ebfda22a83f1643e675a751c36f704c8f Mon Sep 17 00:00:00 2001 From: Michael Lemaire Date: Wed, 19 Aug 2015 01:18:16 +0200 Subject: [PATCH] Fixed atmosphere daytime control binding --- src/interface/modeler/quickapp/ModelerCameras.cpp | 5 ++++- src/interface/modeler/quickapp/qml/BaseChoice.qml | 10 ++++++++++ .../modeler/quickapp/qml/PanelAtmosphereDaytime.qml | 9 ++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/interface/modeler/quickapp/ModelerCameras.cpp b/src/interface/modeler/quickapp/ModelerCameras.cpp index e2994f4..c6ae5c3 100644 --- a/src/interface/modeler/quickapp/ModelerCameras.cpp +++ b/src/interface/modeler/quickapp/ModelerCameras.cpp @@ -61,14 +61,17 @@ void ModelerCameras::processPanning(double xvalue, double yvalue) void ModelerCameras::timerEvent(QTimerEvent *) { current->transitionToAnother(active, 0.3); + parent->getScenery()->keepCameraAboveGround(current); parent->getRenderer()->setCamera(current); } void ModelerCameras::validate() { - parent->getScenery()->keepCameraAboveGround(current); parent->getScenery()->keepCameraAboveGround(active); + parent->getScenery()->keepCameraAboveGround(current); + parent->getRenderer()->setCamera(current); + if (active == render) { parent->getScenery()->setCamera(active); } diff --git a/src/interface/modeler/quickapp/qml/BaseChoice.qml b/src/interface/modeler/quickapp/qml/BaseChoice.qml index 165164d..f0ec228 100644 --- a/src/interface/modeler/quickapp/qml/BaseChoice.qml +++ b/src/interface/modeler/quickapp/qml/BaseChoice.qml @@ -20,6 +20,16 @@ Item { anchors.fill: parent } + onValueChanged: { + for (var i = 0; i < children.length; i++) + { + if (children[i].value == value) + { + choice_group.current = children[i]; + } + } + } + onChildrenChanged: { for (var i = 0; i < children.length; i++) { diff --git a/src/interface/modeler/quickapp/qml/PanelAtmosphereDaytime.qml b/src/interface/modeler/quickapp/qml/PanelAtmosphereDaytime.qml index 08dab9f..00f680b 100644 --- a/src/interface/modeler/quickapp/qml/PanelAtmosphereDaytime.qml +++ b/src/interface/modeler/quickapp/qml/PanelAtmosphereDaytime.qml @@ -9,7 +9,14 @@ BasePanel { default property real value: day_night.value == 2 ? 1.0 : slider.value * 0.54 + 0.23; signal changed(real value) - onValueChanged: changed(value) + onValueChanged: { + changed(value); + day_night.value = (value >= 0.23 && value <= 0.77) ? 1 : 2; + if (day_night.value == 1) + { + slider.value = (value - 0.23) / 0.54; + } + } ColumnLayout {