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{};