diff --git a/src/platform/qt/GameController.cpp b/src/platform/qt/GameController.cpp index b324ce9f3..2fa530ee6 100644 --- a/src/platform/qt/GameController.cpp +++ b/src/platform/qt/GameController.cpp @@ -489,6 +489,7 @@ void GameController::setLuminanceValue(uint8_t value) { break; } } + emit luminanceValueChanged(m_luxValue); } void GameController::setLuminanceLevel(int level) { diff --git a/src/platform/qt/GameController.h b/src/platform/qt/GameController.h index 32cfb2352..d13d0c579 100644 --- a/src/platform/qt/GameController.h +++ b/src/platform/qt/GameController.h @@ -79,6 +79,8 @@ signals: void gameFailed(); void stateLoaded(GBAThread*); + void luminanceValueChanged(int); + void postLog(int level, const QString& log); public slots: @@ -109,6 +111,7 @@ public slots: void reloadAudioDriver(); void setLuminanceValue(uint8_t value); + uint8_t luminanceValue() const { return m_luxValue; } void setLuminanceLevel(int level); void increaseLuminanceLevel() { setLuminanceLevel(m_luxLevel + 1); } void decreaseLuminanceLevel() { setLuminanceLevel(m_luxLevel - 1); } diff --git a/src/platform/qt/SensorView.cpp b/src/platform/qt/SensorView.cpp index fba647f54..31914f0b4 100644 --- a/src/platform/qt/SensorView.cpp +++ b/src/platform/qt/SensorView.cpp @@ -31,12 +31,17 @@ SensorView::SensorView(GameController* controller, QWidget* parent) connect(m_ui.timeNow, &QPushButton::clicked, [controller, this] () { m_ui.time->setDateTime(QDateTime::currentDateTime()); }); + + connect(m_controller, SIGNAL(luminanceValueChanged(int)), this, SLOT(luminanceValueChanged(int))); } void SensorView::setLuminanceValue(int value) { - bool oldState; value = std::max(0, std::min(value, 255)); + m_controller->setLuminanceValue(value); +} +void SensorView::luminanceValueChanged(int value) { + bool oldState; oldState = m_ui.lightSpin->blockSignals(true); m_ui.lightSpin->setValue(value); m_ui.lightSpin->blockSignals(oldState); @@ -44,6 +49,4 @@ void SensorView::setLuminanceValue(int value) { oldState = m_ui.lightSlide->blockSignals(true); m_ui.lightSlide->setValue(value); m_ui.lightSlide->blockSignals(oldState); - - m_controller->setLuminanceValue(value); } diff --git a/src/platform/qt/SensorView.h b/src/platform/qt/SensorView.h index 956f8be1a..bd7ef8f27 100644 --- a/src/platform/qt/SensorView.h +++ b/src/platform/qt/SensorView.h @@ -23,6 +23,7 @@ public: private slots: void setLuminanceValue(int); + void luminanceValueChanged(int); private: Ui::SensorView m_ui;