M products/BellHybrid/CMakeLists.txt => products/BellHybrid/CMakeLists.txt +3 -0
@@ 101,3 101,6 @@ add_subdirectory(apps)
add_subdirectory(keymap)
add_subdirectory(services)
add_subdirectory(sys)
+
+option(CONFIG_ENABLE_TEMP "Enable displaying temperature" OFF)
+configure_file(config/ProductConfig.in.hpp ${CMAKE_BINARY_DIR}/ProductConfig.hpp @ONLY)
M products/BellHybrid/apps/application-bell-main/windows/BellHomeScreenWindow.cpp => products/BellHybrid/apps/application-bell-main/windows/BellHomeScreenWindow.cpp +15 -3
@@ 5,6 5,7 @@
#include "data/BellMainStyle.hpp"
#include "widgets/SnoozeTimer.hpp"
#include "BellBatteryStatusWindow.hpp"
+#include "ProductConfig.hpp"
#include <application-bell-main/ApplicationBellMain.hpp>
#include <apps-common/widgets/BellBaseLayout.hpp>
@@ 18,7 19,6 @@
#include <time/time_constants.hpp>
#include <widgets/AlarmSetSpinner.hpp>
#include <widgets/TimeSetFmtSpinner.hpp>
-#include <widgets/TimeSetSpinner.hpp>
#include <chrono>
@@ 117,11 117,12 @@ namespace gui
bottomBox = new HBox(body->lastBox, 0, 0, 0, 0);
bottomBox->setMinimumSize(style::bell_base_layout::outer_layouts_w, style::bell_base_layout::outer_layouts_h);
bottomBox->setEdges(RectangleEdge::None);
+ bottomBox->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
battery = new BellBattery(bottomBox, 0, 0, 0, 0);
battery->setMinimumSize(battery::battery_widget_w, battery::battery_widget_h);
battery->setEdges(RectangleEdge::None);
- battery->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
+ battery->setAlignment(Alignment(Alignment::Horizontal::Left, Alignment::Vertical::Center));
battery->setVisible(false);
bottomText = new TextFixedSize(bottomBox, 0, 0, 0, 0);
@@ 187,19 188,25 @@ namespace gui
void BellHomeScreenWindow::setTemperature(utils::temperature::Temperature newTemp)
{
+#if CONFIG_ENABLE_TEMP == 1
bottomText->setFont(bellMainStyle::mainWindow::bottomDescription::font_normal);
bottomText->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
bottomText->setText(utils::temperature::tempToStrDec(newTemp));
bottomBox->resizeItems();
+#else
+ bottomText->setVisible(false);
+ bottomBox->resizeItems();
+#endif
}
void BellHomeScreenWindow::setBottomDescription(const UTF8 &desc)
{
battery->setVisible(false);
- bottomBox->resizeItems();
+ bottomText->setVisible(true);
bottomText->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
bottomText->setFont(bellMainStyle::mainWindow::bottomDescription::font_small);
bottomText->setRichText(desc);
+ bottomBox->resizeItems();
}
void BellHomeScreenWindow::setBatteryLevelState(const Store::Battery &batteryContext)
@@ 209,7 216,12 @@ namespace gui
bottomText->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
}
else {
+#if CONFIG_ENABLE_TEMP == 1
bottomText->setAlignment(Alignment(Alignment::Horizontal::Right, Alignment::Vertical::Center));
+ battery->setAlignment(Alignment(Alignment::Horizontal::Left, Alignment::Vertical::Center));
+#else
+ battery->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
+#endif
}
bottomBox->resizeItems();
}
M products/BellHybrid/apps/application-bell-settings/models/TimeUnitsModel.cpp => products/BellHybrid/apps/application-bell-settings/models/TimeUnitsModel.cpp +9 -1
@@ 5,10 5,10 @@
#include "widgets/TimeFormatSetListItem.hpp"
#include "widgets/TimeSetListItem.hpp"
#include "widgets/TemperatureUnitListItem.hpp"
+#include "ProductConfig.hpp"
#include <gui/widgets/ListViewEngine.hpp>
#include <gui/widgets/Style.hpp>
-#include <gui/widgets/Text.hpp>
#include <service-time/Constants.hpp>
#include <service-time/api/TimeSettingsApi.hpp>
#include <service-time/service-time/TimeMessage.hpp>
@@ 56,9 56,11 @@ namespace app::bell_settings
timeSetListItem->timeSetFmtSpinner->setTimeFormat(timeFmtSetListItem->getTimeFmt());
};
+#if CONFIG_ENABLE_TEMP == 1
temperatureUnitListItem =
new gui::TemperatureUnitListItem(utils::translate("app_bell_settings_advanced_temp_scale"));
internalData.push_back(temperatureUnitListItem);
+#endif
for (auto item : internalData) {
item->deleteByList = false;
@@ 116,12 118,18 @@ namespace app::bell_settings
auto TimeUnitsModel::getTemperatureUnit() const -> utils::temperature::Temperature::Unit
{
+#if CONFIG_ENABLE_TEMP == 1
return *utils::temperature::strToUnit(temperatureUnitListItem->getUnitAsStr());
+#else
+ return utils::temperature::Temperature::Unit::Celsius;
+#endif
}
auto TimeUnitsModel::setTemperatureUnit(const utils::temperature::Temperature::Unit unit) -> void
{
+#if CONFIG_ENABLE_TEMP == 1
temperatureUnitListItem->setUnit(unit);
+#endif
}
void TimeUnitsModelFactoryResetValues::loadData()
R products/BellHybrid/config.h => products/BellHybrid/config/ProductConfig.in.hpp +1 -1
@@ 3,4 3,4 @@
#pragma once
-#define ENABLE_GSM (0)
+#cmakedefine01 CONFIG_ENABLE_TEMP