From e1c7b1c6356db0efffc6cfab0fbb76d54d6385e5 Mon Sep 17 00:00:00 2001 From: Mateusz Piesta Date: Tue, 24 May 2022 13:23:38 +0200 Subject: [PATCH] [BH-1499] Crash on meditation enter Fixed. --- .../windows/MeditationTimerWindow.cpp | 20 ++++++------------- .../windows/MeditationTimerWindow.hpp | 2 -- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationTimerWindow.cpp b/products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationTimerWindow.cpp index 8e96b1167766e30f36271df50dbfe8867863ea58..0f3958322a9adc86c1fdfc6fbabd4e5581565683 100644 --- a/products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationTimerWindow.cpp +++ b/products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationTimerWindow.cpp @@ -40,7 +40,10 @@ namespace app::meditation spinner = new UIntegerSpinner( UIntegerSpinner::range{presenter->getMinValue(), presenter->getMaxValue(), presenter->getStepValue()}, gui::Boundaries::Fixed); - spinner->onValueChanged = [this](const auto val) { this->onValueChanged(val); }; + spinner->onValueChanged = [this](const auto val) { + body->setMinMaxArrowsVisibility(spinner->is_min(), spinner->is_max()); + bottomDescription->setText(presenter->getTimeUnitName(val)); + }; spinner->setMaximumSize(style::bell_base_layout::w, style::bell_base_layout::h); spinner->setFont(app::meditationStyle::mtStyle::text::font); spinner->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center)); @@ -48,18 +51,14 @@ namespace app::meditation spinner->setFocusEdges(RectangleEdge::None); body->getCenterBox()->addWidget(spinner); - auto currentValue = presenter->getCurrentValue(); - spinner->set_value(currentValue); - body->setMinMaxArrowsVisibility(currentValue == presenter->getMinValue(), - currentValue == presenter->getMaxValue()); - bottomDescription = new Label(body->lastBox); bottomDescription->setMaximumSize(style::bell_base_layout::w, style::bell_base_layout::outer_layouts_h); bottomDescription->setFont(app::meditationStyle::mtStyle::minute::font); bottomDescription->setEdges(RectangleEdge::None); bottomDescription->activeItem = false; bottomDescription->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Top)); - bottomDescription->setText(presenter->getTimeUnitName(spinner->value())); + + spinner->set_value(presenter->getCurrentValue()); setFocusItem(spinner); body->resize(); @@ -78,11 +77,4 @@ namespace app::meditation return AppWindow::onInput(inputEvent); } - - void MeditationTimerWindow::onValueChanged(const std::uint32_t currentValue) - { - body->setMinMaxArrowsVisibility(currentValue == presenter->getMinValue(), - currentValue == presenter->getMaxValue()); - bottomDescription->setText(presenter->getTimeUnitName(spinner->value())); - } } // namespace app::meditation diff --git a/products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationTimerWindow.hpp b/products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationTimerWindow.hpp index 7be1caa38218d3f62bbe722fe04b1085fce7bc6e..c9513990c42fa2cb1effecb7c4ba7c94b7b10882 100644 --- a/products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationTimerWindow.hpp +++ b/products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationTimerWindow.hpp @@ -26,8 +26,6 @@ namespace app::meditation void buildInterface() override; bool onInput(const gui::InputEvent &inputEvent) override; - void onValueChanged(const std::uint32_t currentValue); - private: std::unique_ptr presenter; gui::BellBaseLayout *body{};