~aleteoryx/muditaos

313c71e541fee26b16ac6579a922be1c3f5e5b36 — Mateusz Piesta 4 years ago 4c19fa1
[BH-867] Temp unit save fix

Temperature unit is now correctly stored/loaded.
M products/BellHybrid/apps/application-bell-settings/include/application-bell-settings/models/TimeUnitsModel.hpp => products/BellHybrid/apps/application-bell-settings/include/application-bell-settings/models/TimeUnitsModel.hpp +2 -1
@@ 42,7 42,8 @@ namespace app::bell_settings

        [[nodiscard]] auto getMinimalItemSpaceRequired() const -> unsigned int override;

        [[nodiscard]] auto getTemperatureUnit() -> utils::temperature::Temperature::Unit;
        [[nodiscard]] auto getTemperatureUnit() const -> utils::temperature::Temperature::Unit;
        auto setTemperatureUnit(utils::temperature::Temperature::Unit unit) -> void;

      private:
        app::ApplicationCommon *application{};

M products/BellHybrid/apps/application-bell-settings/models/TimeUnitsModel.cpp => products/BellHybrid/apps/application-bell-settings/models/TimeUnitsModel.cpp +5 -1
@@ 119,8 119,12 @@ namespace app::bell_settings
        application->bus.sendUnicast(std::move(msg), service::name::service_time);
    }

    auto TimeUnitsModel::getTemperatureUnit() -> utils::temperature::Temperature::Unit
    auto TimeUnitsModel::getTemperatureUnit() const -> utils::temperature::Temperature::Unit
    {
        return *utils::temperature::strToUnit(temperatureUnitListItem->getUnitAsStr());
    }
    auto TimeUnitsModel::setTemperatureUnit(const utils::temperature::Temperature::Unit unit) -> void
    {
        temperatureUnitListItem->setUnit(unit);
    }
} // namespace app::bell_settings

M products/BellHybrid/apps/application-bell-settings/presenter/TimeUnitsPresenter.cpp => products/BellHybrid/apps/application-bell-settings/presenter/TimeUnitsPresenter.cpp +1 -0
@@ 31,6 31,7 @@ namespace app::bell_settings
    auto TimeUnitsWindowPresenter::loadData() -> void
    {
        pagesProvider->loadData();
        pagesProvider->setTemperatureUnit(temperatureUnitModel->get());
    }

    auto TimeUnitsWindowPresenter::createData() -> void

M products/BellHybrid/apps/application-bell-settings/widgets/TemperatureUnitListItem.cpp => products/BellHybrid/apps/application-bell-settings/widgets/TemperatureUnitListItem.cpp +6 -1
@@ 5,7 5,6 @@
#include "TemperatureUnitListItem.hpp"

#include <widgets/spinners/Spinners.hpp>
#include <module-utils/Temperature.hpp>

namespace gui
{


@@ 42,4 41,10 @@ namespace gui
    {
        return temperatureUnit->getCurrentValue();
    }
    auto TemperatureUnitListItem::setUnit(const utils::temperature::Temperature::Unit unit) -> void
    {
        using namespace utils::temperature;
        temperatureUnit->setCurrentValue(unit == Temperature::Unit::Celsius ? celsiusDegreeSymbol
                                                                            : fahrenheitDegreeSymbol);
    }
} // namespace gui

M products/BellHybrid/apps/application-bell-settings/widgets/TemperatureUnitListItem.hpp => products/BellHybrid/apps/application-bell-settings/widgets/TemperatureUnitListItem.hpp +2 -0
@@ 3,6 3,7 @@

#pragma once

#include <module-utils/Temperature.hpp>
#include <widgets/BellSideListItem.hpp>
#include <widgets/spinners/Spinners.hpp>
#include <utf8/UTF8.hpp>


@@ 16,6 17,7 @@ namespace gui
            const UTF8 &topDesc = "", Length x = 0, Length y = 0, Length w = 0, Length h = 0);

        auto getUnitAsStr() const noexcept -> UTF8;
        auto setUnit(utils::temperature::Temperature::Unit unit) -> void;

      private:
        UTF8Spinner *temperatureUnit{};