more callback functions

Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
2025-06-15 17:17:26 +02:00
parent d9a0dfb8bd
commit 9806d4c9ae
4 changed files with 42 additions and 13 deletions

View File

@@ -25,11 +25,12 @@ LightMenu::LightMenu(menu_options_t *options) : Menu(options), m_options(options
addSelection(LightMenuItem::MODE, "Modus", values, 0);
// Add menu item for accessing LED settings submenu
addText(LightMenuItem::LED_SETTINGS, "LED Einstellungen");
addText(LightMenuItem::LED_SETTINGS, "Einstellungen");
}
void LightMenu::onButtonPressed(const MenuItem &menuItem, const ButtonType button)
{
MenuItem item = menuItem;
std::shared_ptr<Widget> widget;
// Handle different menu items based on their ID
@@ -41,12 +42,25 @@ void LightMenu::onButtonPressed(const MenuItem &menuItem, const ButtonType butto
{
toggle(menuItem);
}
if (m_options && m_options->persistence && m_options->persistence->save)
{
const auto value = getItem(item.getId()).getValue();
m_options->persistence->save("light_activated", value.c_str());
}
break;
}
case LightMenuItem::MODE: {
// Switch between day/night modes using left/right buttons
switchValue(menuItem, button);
item = switchValue(menuItem, button);
if (button == ButtonType::LEFT || button == ButtonType::RIGHT)
{
if (m_options && m_options->persistence && m_options->persistence->save)
{
const auto value = std::to_string(getItem(item.getId()).getIndex());
m_options->persistence->save("light_mode", value.c_str());
}
}
break;
}

View File

@@ -1,6 +1,11 @@
#include "ui/SettingsMenu.h"
namespace SettingsMenuItem
{
constexpr uint8_t OTA_UPLOAD = 0;
}
SettingsMenu::SettingsMenu(menu_options_t *options) : Menu(options)
{
addText(1, "OTA Einspielen");
addText(SettingsMenuItem::OTA_UPLOAD, "OTA Einspielen");
}