M module-apps/apps-common/widgets/TimeSetFmtSpinner.cpp => module-apps/apps-common/widgets/TimeSetFmtSpinner.cpp +2 -2
@@ 66,10 66,10 @@ namespace gui
switch (newFormat) {
case utils::time::Locale::TimeFormat::FormatTime12H: {
fmt->setVisible(true);
+ auto hours = std::chrono::hours(timeSetSpinner->getHour());
timeSetSpinner->setHourRange(time::Locale::min_hour_12H_mode, time::Locale::max_hour_12H_mode);
if (timeFormat != newFormat) {
- auto hours = std::chrono::hours(timeSetSpinner->getHour());
timeSetSpinner->setHour(date::make12(hours).count());
if (date::is_pm(hours)) {
fmt->setCurrentValue(time::Locale::getPM());
@@ 82,10 82,10 @@ namespace gui
} break;
case utils::time::Locale::TimeFormat::FormatTime24H: {
fmt->setVisible(false);
+ auto hours = std::chrono::hours(timeSetSpinner->getHour());
timeSetSpinner->setHourRange(time::Locale::min_hour_24H_mode, time::Locale::max_hour_24H_mode);
if (newFormat != timeFormat) {
- auto hours = std::chrono::hours(timeSetSpinner->getHour());
timeSetSpinner->setHour(date::make24(hours, isPM()).count());
if (focusItem == fmt) {
M products/BellHybrid/apps/application-bell-onboarding/ApplicationBellOnBoarding.cpp => products/BellHybrid/apps/application-bell-onboarding/ApplicationBellOnBoarding.cpp +1 -1
@@ 72,7 72,7 @@ namespace app
windowsFactory.attach(
gui::window::name::onBoardingSettingsWindow, [](ApplicationCommon *app, const std::string &name) {
auto temperatureUnitModel = std::make_unique<bell_settings::TemperatureUnitModel>(app);
- auto timeUnitsProvider = std::make_shared<bell_settings::TimeUnitsModel>(app);
+ auto timeUnitsProvider = std::make_shared<bell_settings::TimeUnitsModelFactoryResetValues>(app);
auto presenter = std::make_unique<bell_settings::TimeUnitsWindowPresenter>(
timeUnitsProvider, std::move(temperatureUnitModel));
return std::make_unique<gui::OnBoardingSettingsWindow>(app, std::move(presenter), name);
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 +13 -2
@@ 30,7 30,7 @@ namespace app::bell_settings
auto saveData() -> void;
- auto loadData() -> void;
+ virtual auto loadData() -> void;
auto createData() -> void;
@@ 45,7 45,7 @@ namespace app::bell_settings
[[nodiscard]] auto getTemperatureUnit() const -> utils::temperature::Temperature::Unit;
auto setTemperatureUnit(utils::temperature::Temperature::Unit unit) -> void;
- private:
+ protected:
app::ApplicationCommon *application{};
gui::TimeSetListItem *timeSetListItem{};
gui::TimeFormatSetListItem *timeFmtSetListItem{};
@@ 55,4 55,15 @@ namespace app::bell_settings
void sendTimeFmtUpdateMessage(utils::time::Locale::TimeFormat newFmt);
};
+
+ class TimeUnitsModelFactoryResetValues : public TimeUnitsModel
+ {
+ public:
+ using TimeUnitsModel::TimeUnitsModel;
+ auto loadData() -> void override;
+
+ private:
+ static constexpr int factoryResetTime = 60 * 60 * 12; // noon
+ static constexpr auto factoryRestTimeFmt = utils::time::Locale::TimeFormat::FormatTime12H;
+ };
} // namespace app::bell_settings
M products/BellHybrid/apps/application-bell-settings/models/TimeUnitsModel.cpp => products/BellHybrid/apps/application-bell-settings/models/TimeUnitsModel.cpp +8 -0
@@ 118,8 118,16 @@ namespace app::bell_settings
{
return *utils::temperature::strToUnit(temperatureUnitListItem->getUnitAsStr());
}
+
auto TimeUnitsModel::setTemperatureUnit(const utils::temperature::Temperature::Unit unit) -> void
{
temperatureUnitListItem->setUnit(unit);
}
+
+ void TimeUnitsModelFactoryResetValues::loadData()
+ {
+ timeSetListItem->timeSetFmtSpinner->setTimeFormat(factoryRestTimeFmt);
+ timeSetListItem->timeSetFmtSpinner->setTime(factoryResetTime);
+ timeFmtSetListItem->setTimeFmt(factoryRestTimeFmt);
+ }
} // namespace app::bell_settings