Merge pull request #324 from bobbycar-graz/refactoring
This commit is contained in:
Submodule components/esp-gui-lib updated: 0f4b9033dc...04d61efa60
BIN
icons/git.png
Normal file
BIN
icons/git.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.2 KiB |
@ -105,6 +105,7 @@ set(headers
|
||||
displays/menus/feedbackdebugmenu.h
|
||||
displays/menus/gametrakmodesettingsmenu.h
|
||||
displays/menus/garagemenu.h
|
||||
displays/menus/gitmenu.h
|
||||
displays/menus/graphsmenu.h
|
||||
displays/menus/greenpassmenu.h
|
||||
displays/menus/handbremssettingsmenu.h
|
||||
@ -179,6 +180,7 @@ set(headers
|
||||
icons/buzzer.h
|
||||
icons/close.h
|
||||
icons/demos.h
|
||||
icons/git.h
|
||||
icons/graph.h
|
||||
icons/greenpass.h
|
||||
icons/hardware.h
|
||||
@ -344,6 +346,7 @@ set(sources
|
||||
displays/menus/feedbackdebugmenu.cpp
|
||||
displays/menus/gametrakmodesettingsmenu.cpp
|
||||
displays/menus/garagemenu.cpp
|
||||
displays/menus/gitmenu.cpp
|
||||
displays/menus/graphsmenu.cpp
|
||||
displays/menus/greenpassmenu.cpp
|
||||
displays/menus/handbremssettingsmenu.cpp
|
||||
@ -418,6 +421,7 @@ set(sources
|
||||
icons/buzzer.cpp
|
||||
icons/close.cpp
|
||||
icons/demos.cpp
|
||||
icons/git.cpp
|
||||
icons/graph.cpp
|
||||
icons/greenpass.cpp
|
||||
icons/hardware.cpp
|
||||
@ -504,6 +508,24 @@ idf_component_register(
|
||||
${dependencies}
|
||||
)
|
||||
|
||||
execute_process(COMMAND git rev-parse HEAD
|
||||
OUTPUT_VARIABLE GIT_REV ERROR_QUIET
|
||||
)
|
||||
execute_process(
|
||||
COMMAND git log -1 --pretty=%B
|
||||
OUTPUT_VARIABLE GIT_MESSAGE ERROR_QUIET
|
||||
)
|
||||
execute_process(
|
||||
COMMAND git rev-parse --abbrev-ref HEAD
|
||||
OUTPUT_VARIABLE GIT_BRANCH
|
||||
)
|
||||
|
||||
string(STRIP "${GIT_REV}" GIT_REV)
|
||||
string(SUBSTRING "${GIT_REV}" 1 7 GIT_SHORT_REV)
|
||||
string(STRIP "${GIT_MESSAGE}" GIT_MESSAGE)
|
||||
string(SUBSTRING "${GIT_MESSAGE}" 0 100 GIT_MESSAGE)
|
||||
string(STRIP "${GIT_BRANCH}" GIT_BRANCH)
|
||||
|
||||
target_compile_options(${COMPONENT_TARGET}
|
||||
PRIVATE
|
||||
-fstack-reuse=all
|
||||
@ -513,5 +535,9 @@ target_compile_options(${COMPONENT_TARGET}
|
||||
-Wno-deprecated-declarations
|
||||
-Wno-missing-field-initializers
|
||||
-Wno-parentheses
|
||||
-DGIT_REV="${GIT_REV}"
|
||||
-DGIT_SHORT_REV="${GIT_SHORT_REV}"
|
||||
-DGIT_MESSAGE="${GIT_MESSAGE}"
|
||||
-DGIT_BRANCH="${GIT_BRANCH}"
|
||||
${BOBBYCAR_BUILDFLAGS}
|
||||
)
|
||||
|
@ -18,27 +18,26 @@ struct QrMenu {
|
||||
};
|
||||
} // namespace
|
||||
|
||||
template<typename TMenu>
|
||||
class SwitchQrDisplayAction : public virtual espgui::ActionInterface
|
||||
class PushQrDisplayAction : public virtual espgui::ActionInterface
|
||||
{
|
||||
public:
|
||||
explicit SwitchQrDisplayAction(const qraction::QrMenu &qrmenu) : m_msg{qrmenu.message} {}
|
||||
explicit SwitchQrDisplayAction(qraction::QrMenu &&qrmenu) : m_msg{std::move(qrmenu.message)} {}
|
||||
explicit PushQrDisplayAction(const qraction::QrMenu &qrmenu) : m_msg{qrmenu.message} {}
|
||||
explicit PushQrDisplayAction(qraction::QrMenu &&qrmenu) : m_msg{std::move(qrmenu.message)} {}
|
||||
|
||||
void triggered() override
|
||||
{
|
||||
espgui::pushScreen<QrDisplay<TMenu>>(m_msg);
|
||||
espgui::pushScreen<QrDisplay>(m_msg);
|
||||
}
|
||||
private:
|
||||
std::string m_msg;
|
||||
};
|
||||
|
||||
template<typename TMenu>
|
||||
class SwitchQrImportDisplayAction : public virtual espgui::ActionInterface
|
||||
class PushQrImportDisplayAction : public virtual espgui::ActionInterface
|
||||
{
|
||||
public:
|
||||
explicit SwitchQrImportDisplayAction(const std::string &nvskey) : m_nvskey{nvskey} {}
|
||||
explicit SwitchQrImportDisplayAction(std::string &&nvskey) : m_nvskey{std::move(nvskey)} {}
|
||||
explicit PushQrImportDisplayAction(const std::string &nvskey) : m_nvskey{nvskey} {}
|
||||
explicit PushQrImportDisplayAction(std::string &&nvskey) : m_nvskey{std::move(nvskey)} {}
|
||||
|
||||
void triggered() override
|
||||
{
|
||||
|
@ -6,9 +6,7 @@
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "icons/back.h"
|
||||
#include "esptexthelpers.h"
|
||||
#include "displays/menus/settingsmenu.h"
|
||||
|
||||
#include <espasyncota.h>
|
||||
#include <esp_ota_ops.h>
|
||||
#include "fmt/core.h"
|
||||
|
||||
|
@ -4,7 +4,8 @@
|
||||
#include <fmt/core.h>
|
||||
#include "menuitem.h"
|
||||
#include "changevaluedisplay.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "actions/dummyaction.h"
|
||||
#include "icons/back.h"
|
||||
|
||||
@ -28,8 +29,8 @@ using CloudTransmitTimeoutChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
||||
CloudTransmitTimeoutAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
struct CloudBufferLengthText : public virtual espgui::TextInterface
|
||||
@ -45,16 +46,16 @@ using CloudCollectRateChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_CLOUDCOLLECTRATE>,
|
||||
CloudCollectRateAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
using CloudSendRateChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_CLOUDSENDRATE>,
|
||||
CloudSendRateAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
} // namespace
|
||||
|
||||
@ -63,14 +64,14 @@ using namespace espgui;
|
||||
CloudSettingsMenu::CloudSettingsMenu()
|
||||
{
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDENABLED>, BobbyCheckbox, CloudEnabledAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, SwitchScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, PushScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, CloudStartedText, DisabledColor, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, CloudConnectedText, DisabledColor, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, CloudBufferLengthText, DisabledColor, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDCOLLECTRATE>, SwitchScreenAction<CloudCollectRateChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSENDRATE>, SwitchScreenAction<CloudSendRateChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDCOLLECTRATE>, PushScreenAction<CloudCollectRateChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSENDRATE>, PushScreenAction<CloudSendRateChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string CloudSettingsMenu::text() const
|
||||
@ -80,5 +81,5 @@ std::string CloudSettingsMenu::text() const
|
||||
|
||||
void CloudSettingsMenu::back()
|
||||
{
|
||||
switchScreen<SettingsMenu>();
|
||||
popScreen();
|
||||
}
|
||||
|
@ -4,8 +4,9 @@
|
||||
#include <ratio>
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "changevaluedisplay.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "icons/back.h"
|
||||
|
||||
// local includes
|
||||
@ -40,38 +41,38 @@ using WheelDiameterMmChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_WHEELDIAMETERMM>,
|
||||
WheelDiameterMmAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
using WheelDiameterInchChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<float>,
|
||||
espgui::StaticText<TEXT_WHEELDIAMETERINCH>,
|
||||
WheelDiameterInchAccessor,
|
||||
espgui::RatioNumberStep<float, std::ratio<1,10>>,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
using NumMagnetPolesChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_NUMMAGNETPOLES>,
|
||||
NumMagnetPolesAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
#ifdef FEATURE_CAN
|
||||
using CanTransmitTimeoutChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_CANTRANSMITTIMEOUT>,
|
||||
CanTransmitTimeoutAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
using CanReceiveTimeoutChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_CANRECEIVETIMEOUT>,
|
||||
CanReceiveTimeoutAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
#endif
|
||||
} // namespace
|
||||
@ -79,21 +80,21 @@ using CanReceiveTimeoutChangeScreen = espgui::makeComponent<
|
||||
ControllerHardwareSettingsMenu::ControllerHardwareSettingsMenu()
|
||||
{
|
||||
using namespace espgui;
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETENABLED>, SwitchScreenAction<EnableMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETINVERTED>, SwitchScreenAction<InvertMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELDIAMETERMM>, SwitchScreenAction<WheelDiameterMmChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELDIAMETERINCH>, SwitchScreenAction<WheelDiameterInchChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NUMMAGNETPOLES>, SwitchScreenAction<NumMagnetPolesChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETENABLED>, PushScreenAction<EnableMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETINVERTED>, PushScreenAction<InvertMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELDIAMETERMM>, PushScreenAction<WheelDiameterMmChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELDIAMETERINCH>, PushScreenAction<WheelDiameterInchChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NUMMAGNETPOLES>, PushScreenAction<NumMagnetPolesChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SWAPFRONTBACK>, BobbyCheckbox, SwapFrontBackAccessor>>();
|
||||
#ifdef FEATURE_CAN
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTSENDCAN>, BobbyCheckbox, SendFrontCanCmdAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKSENDCAN>, BobbyCheckbox, SendBackCanCmdAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANTRANSMITTIMEOUT>, SwitchScreenAction<CanTransmitTimeoutChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANRECEIVETIMEOUT>, SwitchScreenAction<CanReceiveTimeoutChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANTRANSMITTIMEOUT>, PushScreenAction<CanTransmitTimeoutChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANRECEIVETIMEOUT>, PushScreenAction<CanReceiveTimeoutChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANRESETONERROR>, BobbyCheckbox, CanResetOnErrorAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANREINSTALLDRIVER>, BobbyCheckbox, CanReinstallDriverAccessor>>();
|
||||
#endif
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string ControllerHardwareSettingsMenu::text() const
|
||||
@ -103,5 +104,5 @@ std::string ControllerHardwareSettingsMenu::text() const
|
||||
|
||||
void ControllerHardwareSettingsMenu::back()
|
||||
{
|
||||
espgui::switchScreen<SettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -1,13 +1,10 @@
|
||||
#include "enablemenu.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "icons/back.h"
|
||||
|
||||
// local includes
|
||||
#include "displays/menus/controllerhardwaresettingsmenu.h"
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "bobbycheckbox.h"
|
||||
#include "icons/back.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_SETENABLED[] = "Set enabled";
|
||||
@ -25,7 +22,7 @@ EnableMenu::EnableMenu()
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFRONTRIGHT>, BobbyCheckbox, FrontRightEnabledAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEBACKLEFT>, BobbyCheckbox, BackLeftEnabledAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEBACKRIGHT>, BobbyCheckbox, BackRightEnabledAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ControllerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string EnableMenu::text() const
|
||||
@ -35,5 +32,5 @@ std::string EnableMenu::text() const
|
||||
|
||||
void EnableMenu::back()
|
||||
{
|
||||
espgui::switchScreen<ControllerHardwareSettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include "actions/dummyaction.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "icons/back.h"
|
||||
#include <accessorinterface.h>
|
||||
#include <actioninterface.h>
|
||||
@ -61,8 +61,8 @@ EspNowMenu::EspNowMenu()
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SENDTSMSG>, SendBobbycarTimesyncMessageAction, StaticMenuItemIcon<&bobbyicons::time>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_RECEIVETS>, BobbyCheckbox, ReceiveTimeStampAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_RECEIVETSFROMBOBBY>, BobbyCheckbox, ReceiveTsFromOtherBobbycarsAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SETTINGS>, SwitchScreenAction<EspNowSettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SETTINGS>, PushScreenAction<EspNowSettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PushScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string EspNowMenu::text() const
|
||||
@ -72,5 +72,5 @@ std::string EspNowMenu::text() const
|
||||
|
||||
void EspNowMenu::back()
|
||||
{
|
||||
espgui::switchScreen<SettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -1,22 +1,13 @@
|
||||
#include "espnowsettingsmenu.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include "actions/dummyaction.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "icons/back.h"
|
||||
#include <accessorinterface.h>
|
||||
#include <actioninterface.h>
|
||||
#include <espchrono.h>
|
||||
#include <fmt/core.h>
|
||||
#include <menudisplay.h>
|
||||
#include <textinterface.h>
|
||||
|
||||
// local includes
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "icons/time.h"
|
||||
#include "espnowmenu.h"
|
||||
#include "bobbycheckbox.h"
|
||||
#include "espnowfunctions.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_ESPNOW_SETTINGS[] = "ESP-Now settings";
|
||||
@ -29,10 +20,11 @@ constexpr char TEXT_BACK[] = "Back";
|
||||
EspNowSettingsMenu::EspNowSettingsMenu()
|
||||
{
|
||||
using namespace espgui;
|
||||
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SYNCTIME>, BobbyCheckbox, ESPNowSyncTimeEnabledAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SYNCWITHOTHERS>, BobbyCheckbox, ESPNowSyncTimeWithOthersEnabledAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SYNCBLINK>, BobbyCheckbox, ESPNowSyncBlinkEnabledAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<EspNowMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string EspNowSettingsMenu::text() const
|
||||
@ -42,5 +34,5 @@ std::string EspNowSettingsMenu::text() const
|
||||
|
||||
void EspNowSettingsMenu::back()
|
||||
{
|
||||
espgui::switchScreen<EspNowMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
// local includes
|
||||
#include "esp_log.h"
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "bobbyerrorhandler.h"
|
||||
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
||||
#include "globals.h"
|
||||
@ -92,7 +92,7 @@ ExtraButtonCalibrateMenu::ExtraButtonCalibrateMenu()
|
||||
constructMenuItem<ButtonCalibrateMenuItem<TEXT_BUTTON_EXTRA3, ButtonExtra3Accessor, Status::WaitingExtra3>>();
|
||||
constructMenuItem<ButtonCalibrateMenuItem<TEXT_BUTTON_EXTRA4, ButtonExtra4Accessor, Status::WaitingExtra4>>();
|
||||
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
void ExtraButtonCalibrateMenu::start()
|
||||
@ -249,7 +249,7 @@ std::string ExtraButtonCalibrateMenu::text() const
|
||||
|
||||
void ExtraButtonCalibrateMenu::back()
|
||||
{
|
||||
switchScreen<BoardcomputerHardwareSettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
||||
bool ExtraButtonCalibrateMenu::validateNewButton(uint8_t button)
|
||||
|
@ -2,7 +2,8 @@
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <TFT_eSPI.h>
|
||||
#include <actions/switchscreenaction.h>
|
||||
#include <actions/popscreenaction.h>
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <fmt/core.h>
|
||||
#include <icons/back.h>
|
||||
#include <strutils.h>
|
||||
@ -10,19 +11,38 @@
|
||||
// local includes
|
||||
#include "bobbycheckbox.h"
|
||||
#include "displays/bobbypopupdisplay.h"
|
||||
#include "displays/menus/settingsmenu.h"
|
||||
#include "newsettings.h"
|
||||
#include "taskmanager.h"
|
||||
|
||||
using namespace espgui;
|
||||
#include "bobbyerrorhandler.h"
|
||||
|
||||
namespace {
|
||||
constexpr const char * const TAG = "FEATUREFLAGSMENU";
|
||||
|
||||
constexpr char TEXT_FEATUREFLAGS[] = "Feature Flags";
|
||||
constexpr char TEXT_BACK[] = "Back";
|
||||
constexpr char TEXT_POPUP[] = "Feature flags have been changed. Please restart the device to apply the changes.";
|
||||
|
||||
class FeatureFlagMenuItem : public MenuItem, public virtual BobbyErrorHandler {
|
||||
bool isDirty{false};
|
||||
|
||||
void exitFeatureFlagsMenu()
|
||||
{
|
||||
espgui::popScreen();
|
||||
if (isDirty)
|
||||
{
|
||||
BobbyErrorHandler{}.errorOccured(TEXT_POPUP);
|
||||
}
|
||||
}
|
||||
|
||||
class ExitFeatureFlagsMenuAction : public virtual espgui::ActionInterface
|
||||
{
|
||||
public:
|
||||
void triggered() override
|
||||
{
|
||||
exitFeatureFlagsMenu();
|
||||
}
|
||||
};
|
||||
|
||||
class FeatureFlagMenuItem : public espgui::MenuItem, public virtual BobbyErrorHandler {
|
||||
public:
|
||||
explicit FeatureFlagMenuItem(ConfiguredFeatureFlag &flag, bool isInitialized) : m_flag{flag}, m_isInitialized{isInitialized} {}
|
||||
std::string text() const override
|
||||
@ -58,32 +78,24 @@ public:
|
||||
{
|
||||
if (auto result = m_flag.isEnabled.write(configs.nvs_handle_user, !m_flag.isEnabled.value()); !result)
|
||||
errorOccured(std::move(result).error());
|
||||
else
|
||||
isDirty = true;
|
||||
}
|
||||
|
||||
const MenuItemIcon *icon() const override
|
||||
const espgui::MenuItemIcon *icon() const override
|
||||
{
|
||||
return m_flag.isEnabled.value() ? &icons::checked : &icons::unchecked;
|
||||
return m_flag.isEnabled.value() ? &espgui::icons::checked : &espgui::icons::unchecked;
|
||||
}
|
||||
private:
|
||||
ConfiguredFeatureFlag &m_flag;
|
||||
const bool m_isInitialized;
|
||||
};
|
||||
|
||||
// TODO: Replace SwitchScreenAction / switchScreen with this action. Needs: BobbyPopupDisplayWithCustomExitAction => pass SwitchScreenAction<SettingsMenu> into it
|
||||
|
||||
class ExitFeatureFlagsMenuAction : public virtual ActionInterface {
|
||||
public:
|
||||
void triggered() override {
|
||||
auto newDisplay = std::make_unique<BobbyPopupDisplay>(std::move("Please reboot if you have changed something"), std::move(espgui::currentDisplay));
|
||||
newDisplay->initOverlay();
|
||||
espgui::currentDisplay = std::move(newDisplay);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
FeatureFlagsMenu::FeatureFlagsMenu()
|
||||
{
|
||||
using namespace espgui;
|
||||
|
||||
configs.callForEveryFeature([&](ConfiguredFeatureFlag &feature){
|
||||
const std::string name = feature.getTaskName();
|
||||
if (const auto err = checkInitializedByName(name); err)
|
||||
@ -93,7 +105,13 @@ FeatureFlagsMenu::FeatureFlagsMenu()
|
||||
else
|
||||
constructMenuItem<FeatureFlagMenuItem>(feature, true);
|
||||
});
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, ExitFeatureFlagsMenuAction>>();
|
||||
}
|
||||
|
||||
void FeatureFlagsMenu::start()
|
||||
{
|
||||
Base::start();
|
||||
isDirty = false;
|
||||
}
|
||||
|
||||
std::string FeatureFlagsMenu::text() const
|
||||
@ -103,5 +121,6 @@ std::string FeatureFlagsMenu::text() const
|
||||
|
||||
void FeatureFlagsMenu::back()
|
||||
{
|
||||
switchScreen<SettingsMenu>();
|
||||
exitFeatureFlagsMenu();
|
||||
}
|
||||
|
||||
|
@ -5,8 +5,10 @@
|
||||
|
||||
class FeatureFlagsMenu : public bobbygui::MenuDisplayWithTime
|
||||
{
|
||||
using Base = bobbygui::MenuDisplayWithTime;
|
||||
public:
|
||||
FeatureFlagsMenu();
|
||||
void start() override;
|
||||
|
||||
std::string text() const override;
|
||||
|
||||
|
70
main/displays/menus/gitmenu.cpp
Normal file
70
main/displays/menus/gitmenu.cpp
Normal file
@ -0,0 +1,70 @@
|
||||
#include "gitmenu.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <actions/dummyaction.h>
|
||||
#include <actions/popscreenaction.h>
|
||||
#include <fmt/core.h>
|
||||
#include <icons/back.h>
|
||||
|
||||
// local includes
|
||||
#include "bobbyerrorhandler.h"
|
||||
#include "displays/qrdisplay.h"
|
||||
#include "icons/info.h"
|
||||
#include "icons/modes.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_GIT[] = "Git";
|
||||
constexpr char TEXT_GIT_BRANCH_TITLE[] = "Branch";
|
||||
constexpr char TEXT_GIT_BRANCH[] = GIT_BRANCH;
|
||||
constexpr char TEXT_GIT_COMMIT_TITLE[] = "Commit";
|
||||
constexpr char TEXT_GIT_COMMIT[] = GIT_REV;
|
||||
constexpr char TEXT_GIT_COMMIT_SHORT[] = GIT_SHORT_REV;
|
||||
constexpr char TEXT_GIT_MESSAGE_TITLE[] = "Commit Message";
|
||||
constexpr char TEXT_GIT_MESSAGE[] = GIT_MESSAGE;
|
||||
constexpr char TEXT_GITHUB_URL[] = "Github URL";
|
||||
constexpr char TEXT_BACK[] = "Back";
|
||||
|
||||
class OpenPopupAction : public virtual espgui::ActionInterface
|
||||
{
|
||||
public:
|
||||
void triggered() override
|
||||
{
|
||||
BobbyErrorHandler{}.errorOccured(TEXT_GIT_MESSAGE);
|
||||
}
|
||||
};
|
||||
|
||||
class GitQrAction : public virtual espgui::ActionInterface
|
||||
{
|
||||
public:
|
||||
void triggered() override
|
||||
{
|
||||
// ToDo: Fix qr library and remove spaces, also, why is "`" at the end of string in qr code but not when logging?
|
||||
const std::string qr_text = fmt::format("https://github.com/bobbycar-graz/bobbycar-boardcomputer-firmware/commit/{} ", GIT_REV);
|
||||
espgui::pushScreen<QrDisplay>(qr_text);
|
||||
}
|
||||
};
|
||||
} // namespace
|
||||
|
||||
GitMenu::GitMenu()
|
||||
{
|
||||
using namespace espgui;
|
||||
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_BRANCH_TITLE>, StaticColor<TFT_GREY>, StaticFont<2>, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_BRANCH>, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_COMMIT_TITLE>, StaticColor<TFT_GREY>, StaticFont<2>, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_COMMIT>, DummyAction, StaticFont<2>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_COMMIT_SHORT>, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_MESSAGE_TITLE>, OpenPopupAction, StaticMenuItemIcon<&bobbyicons::info>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GITHUB_URL>, GitQrAction, StaticMenuItemIcon<&bobbyicons::modes>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string GitMenu::text() const
|
||||
{
|
||||
return TEXT_GIT;
|
||||
}
|
||||
|
||||
void GitMenu::back()
|
||||
{
|
||||
espgui::popScreen();
|
||||
}
|
14
main/displays/menus/gitmenu.h
Normal file
14
main/displays/menus/gitmenu.h
Normal file
@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
// local includes
|
||||
#include "displays/menudisplaywithtime.h"
|
||||
|
||||
class GitMenu : public bobbygui::MenuDisplayWithTime
|
||||
{
|
||||
public:
|
||||
GitMenu();
|
||||
|
||||
std::string text() const override;
|
||||
|
||||
void back() override;
|
||||
};
|
@ -1,22 +1,19 @@
|
||||
#include "greenpassmenu.h"
|
||||
|
||||
// 3rd party includes
|
||||
// 3rdparty lib includes
|
||||
#include <actions/popscreenaction.h>
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <esp_err.h>
|
||||
#include <esp_log.h>
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <fmt/core.h>
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "actions/dummyaction.h"
|
||||
#include "icons/back.h"
|
||||
#include <icons/back.h>
|
||||
|
||||
// local includes
|
||||
#include "actions/qraction.h"
|
||||
#include "bobbycheckbox.h"
|
||||
#include "displays/qrdisplay.h"
|
||||
#include "displays/qrimportdisplay.h"
|
||||
#include "qrimport.h"
|
||||
#include "bobbycheckbox.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_GREENPASS[] = "Green Pass";
|
||||
@ -53,7 +50,7 @@ public:
|
||||
}
|
||||
else
|
||||
{
|
||||
espgui::pushScreen<QrDisplay<GreenPassMenu>>(m_qrmenu.message);
|
||||
espgui::pushScreen<QrDisplay>(m_qrmenu.message);
|
||||
}
|
||||
}
|
||||
private:
|
||||
@ -84,7 +81,7 @@ GreenPassMenu::GreenPassMenu()
|
||||
}
|
||||
else
|
||||
{
|
||||
constructMenuItem<makeComponentArgs<MenuItem, SwitchQrImportDisplayAction<GreenPassMenu>, StaticText<TEXT_ADDCERT>>>(std::move(nvs_key));
|
||||
constructMenuItem<makeComponentArgs<MenuItem, PushQrImportDisplayAction<GreenPassMenu>, StaticText<TEXT_ADDCERT>>>(std::move(nvs_key));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,19 +1,19 @@
|
||||
#include "handbremssettingsmenu.h"
|
||||
|
||||
// 3rd party libs
|
||||
#include <fmt/core.h>
|
||||
#include <actions/switchscreenaction.h>
|
||||
#include <actions/popscreenaction.h>
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <changevaluedisplay.h>
|
||||
#include <fmt/core.h>
|
||||
#include <icons/back.h>
|
||||
#include <textwithvaluehelper.h>
|
||||
|
||||
// local includes
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "bobbycheckbox.h"
|
||||
#include "changevaluedisplay_handbremsmode.h"
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
#include "displays/menus/typesafeenumchangemenu.h"
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "changevaluedisplay_handbremsmode.h"
|
||||
#include "displays/menus/defaultmodesettingsmenu.h"
|
||||
#include "bobbycheckbox.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_HANDBREMSE_ENABLE[] = "Enable Handbremse";
|
||||
@ -28,8 +28,8 @@ using HandBremsTriggerTimeoutChangeValueDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<uint16_t>,
|
||||
espgui::StaticText<TEXT_HANDBREMSE_TRIGGERTIMEOUT>,
|
||||
HandbremsTimeoutAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<HandbremsSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<HandbremsSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
}
|
||||
|
||||
@ -40,8 +40,8 @@ HandbremsSettingsMenu::HandbremsSettingsMenu()
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_AUTOMATIC>, BobbyCheckbox, HandbremsAutomaticAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_VISUALIZE>, BobbyCheckbox, HandbremsVisualizeAccessor>>();
|
||||
constructMenuItem<PushScreenTypeSafeChangeMenuItem<HandbremseMode, TEXT_HANDBREMSE_MODE>>(&configs.handbremse.mode);
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HANDBREMSE_TRIGGERTIMEOUT, HandbremsTimeoutAccessor>, SwitchScreenAction<HandBremsTriggerTimeoutChangeValueDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DefaultModeSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HANDBREMSE_TRIGGERTIMEOUT, HandbremsTimeoutAccessor>, PushScreenAction<HandBremsTriggerTimeoutChangeValueDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string HandbremsSettingsMenu::text() const
|
||||
@ -51,5 +51,5 @@ std::string HandbremsSettingsMenu::text() const
|
||||
|
||||
void HandbremsSettingsMenu::back()
|
||||
{
|
||||
espgui::switchScreen<DefaultModeSettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -1,13 +1,10 @@
|
||||
#include "invertmenu.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "icons/back.h"
|
||||
|
||||
// local includes
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "displays/menus/controllerhardwaresettingsmenu.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "bobbycheckbox.h"
|
||||
#include "icons/back.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_SETINVERTED[] = "Set inverted";
|
||||
@ -25,7 +22,7 @@ InvertMenu::InvertMenu()
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_INVERTFRONTRIGHT>, BobbyCheckbox, FrontRightInvertedAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_INVERTBACKLEFT>, BobbyCheckbox, BackLeftInvertedAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_INVERTBACKRIGHT>, BobbyCheckbox, BackRightInvertedAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ControllerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string InvertMenu::text() const
|
||||
@ -35,5 +32,5 @@ std::string InvertMenu::text() const
|
||||
|
||||
void InvertMenu::back()
|
||||
{
|
||||
espgui::switchScreen<ControllerHardwareSettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -1,18 +1,18 @@
|
||||
#include "lockscreensettingsmenu.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <menuitem.h>
|
||||
#include <actions/switchscreenaction.h>
|
||||
#include <icons/back.h>
|
||||
#include <actions/popscreenaction.h>
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <changevaluedisplay.h>
|
||||
#include <icons/back.h>
|
||||
#include <menuitem.h>
|
||||
#include <textwithvaluehelper.h>
|
||||
|
||||
// local includes
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "bobbycheckbox.h"
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
#include "globals.h"
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
||||
#include "bobbycheckbox.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_LOCKSCREENSETTINGS[] = "Lockscreen Settings";
|
||||
@ -28,32 +28,32 @@ using LockscreenPinDigit0ChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int8_t>,
|
||||
espgui::StaticText<TEXT_PINDIGIT0>,
|
||||
LockscreenPinDigitAccessor<0>,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
using LockscreenPinDigit1ChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int8_t>,
|
||||
espgui::StaticText<TEXT_PINDIGIT1>,
|
||||
LockscreenPinDigitAccessor<1>,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
using LockscreenPinDigit2ChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int8_t>,
|
||||
espgui::StaticText<TEXT_PINDIGIT2>,
|
||||
LockscreenPinDigitAccessor<2>,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
using LockscreenPinDigit3ChangeScreen = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int8_t>,
|
||||
espgui::StaticText<TEXT_PINDIGIT3>,
|
||||
LockscreenPinDigitAccessor<3>,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
} // namespace
|
||||
|
||||
@ -62,11 +62,11 @@ LockscreenSettingsMenu::LockscreenSettingsMenu()
|
||||
using namespace espgui;
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ALLOWPRESETSWITCH>, BobbyCheckbox, LockscreenAllowPresetSwitchAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_KEEPLOCKED>, BobbyCheckbox, LockscreenKeepLockedAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT0, LockscreenPinDigitAccessor<0>>, SwitchScreenAction<LockscreenPinDigit0ChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT1, LockscreenPinDigitAccessor<1>>, SwitchScreenAction<LockscreenPinDigit1ChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT2, LockscreenPinDigitAccessor<2>>, SwitchScreenAction<LockscreenPinDigit2ChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT3, LockscreenPinDigitAccessor<3>>, SwitchScreenAction<LockscreenPinDigit3ChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT0, LockscreenPinDigitAccessor<0>>, PushScreenAction<LockscreenPinDigit0ChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT1, LockscreenPinDigitAccessor<1>>, PushScreenAction<LockscreenPinDigit1ChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT2, LockscreenPinDigitAccessor<2>>, PushScreenAction<LockscreenPinDigit2ChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT3, LockscreenPinDigitAccessor<3>>, PushScreenAction<LockscreenPinDigit3ChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string LockscreenSettingsMenu::text() const
|
||||
@ -76,5 +76,5 @@ std::string LockscreenSettingsMenu::text() const
|
||||
|
||||
void LockscreenSettingsMenu::back()
|
||||
{
|
||||
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -5,7 +5,8 @@
|
||||
#include <TFT_eSPI.h>
|
||||
|
||||
// local includes
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "bobbyerrorhandler.h"
|
||||
#include "globals.h"
|
||||
#include "mainmenu.h"
|
||||
@ -220,7 +221,7 @@ ManageProfilesMenu::ManageProfilesMenu()
|
||||
constructMenuItem<ManageProfileMenuItem>(*this, i);
|
||||
}
|
||||
constructMenuItem<ManageProfileModeMenuItem>(*this);
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, espgui::PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
void ManageProfilesMenu::start()
|
||||
@ -246,7 +247,7 @@ void ManageProfilesMenu::back()
|
||||
{
|
||||
if (!m_locked && m_firstIndex == -1)
|
||||
{
|
||||
switchScreen<MainMenu>();
|
||||
espgui::popScreen();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1,17 +1,16 @@
|
||||
#include "mickmodesettingsmenu.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include "changevaluedisplay.h"
|
||||
#include "menuitem.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "icons/back.h"
|
||||
#include <actions/popscreenaction.h>
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <changevaluedisplay.h>
|
||||
#include <icons/back.h>
|
||||
#include <menuitem.h>
|
||||
|
||||
// local includes
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
#include "utils.h"
|
||||
#include "changevaluedisplay_unifiedmodelmode.h"
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "displays/menus/modessettingsmenu.h"
|
||||
#include "changevaluedisplay_unifiedmodelmode.h"
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_MICKMODESETTINGS[] = "Mick mode settings";
|
||||
@ -23,25 +22,25 @@ using MickModeModelModeChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<UnifiedModelMode>,
|
||||
espgui::StaticText<TEXT_MODELMODE>,
|
||||
MickModeModelModeAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MickModeSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<MickModeSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
using MickModeSmoothingChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<uint16_t>,
|
||||
espgui::StaticText<TEXT_MICKMODE_SMOOTHING>,
|
||||
MickModeSmoothingAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MickModeSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<MickModeSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
} // namespace
|
||||
|
||||
using namespace espgui;
|
||||
|
||||
MickModeSettingsMenu::MickModeSettingsMenu()
|
||||
{
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<MickModeModelModeChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICKMODE_SMOOTHING>, SwitchScreenAction<MickModeSmoothingChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
using namespace espgui;
|
||||
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<MickModeModelModeChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICKMODE_SMOOTHING>, PushScreenAction<MickModeSmoothingChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string MickModeSettingsMenu::text() const
|
||||
@ -51,5 +50,5 @@ std::string MickModeSettingsMenu::text() const
|
||||
|
||||
void MickModeSettingsMenu::back()
|
||||
{
|
||||
switchScreen<ModesSettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -1,16 +1,15 @@
|
||||
#include "modessettingsmenu.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include "menuitem.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "icons/back.h"
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <icons/back.h>
|
||||
#include <menuitem.h>
|
||||
|
||||
// local includes
|
||||
#include "displays/menus/defaultmodesettingsmenu.h"
|
||||
#include "displays/menus/tempomatmodesettingsmenu.h"
|
||||
#include "displays/menus/larsmmodesettingsmenu.h"
|
||||
#include "displays/menus/gametrakmodesettingsmenu.h"
|
||||
#include "displays/menus/settingsmenu.h"
|
||||
#include "displays/menus/larsmmodesettingsmenu.h"
|
||||
#include "displays/menus/tempomatmodesettingsmenu.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_MODESSETTINGS[] = "Modes settings";
|
||||
@ -24,13 +23,13 @@ constexpr char TEXT_BACK[] = "Back";
|
||||
ModesSettingsMenu::ModesSettingsMenu()
|
||||
{
|
||||
using namespace espgui;
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULTMODESETTIGNS>, SwitchScreenAction<DefaultModeSettingsMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TEMPOMATMODESETTINGS>, SwitchScreenAction<TempomatModeSettingsMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSMMODESETTINGS>, SwitchScreenAction<LarsmModeSettingsMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULTMODESETTIGNS>, PushScreenAction<DefaultModeSettingsMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TEMPOMATMODESETTINGS>, PushScreenAction<TempomatModeSettingsMenu>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSMMODESETTINGS>, PushScreenAction<LarsmModeSettingsMenu>>>();
|
||||
#ifdef FEATURE_GAMETRAK
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAKMODESETTINGS>, SwitchScreenAction<GametrakModeSettingsMenu>>>();
|
||||
#endif
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string ModesSettingsMenu::text() const
|
||||
@ -40,5 +39,5 @@ std::string ModesSettingsMenu::text() const
|
||||
|
||||
void ModesSettingsMenu::back()
|
||||
{
|
||||
espgui::switchScreen<SettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -2,10 +2,8 @@
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <actions/dummyaction.h>
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <actions/popscreenaction.h>
|
||||
#include <icons/back.h>
|
||||
#include <screenmanager.h>
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <fmt/format.h>
|
||||
#include <icons/back.h>
|
||||
#include <menuitem.h>
|
||||
@ -14,11 +12,8 @@
|
||||
// local includes
|
||||
#include "displays/qrdisplay.h"
|
||||
#include "globals.h"
|
||||
#include "utils.h"
|
||||
#include "settingsmenu.h"
|
||||
#include "wifistasettingsmenu.h"
|
||||
#include "wifiapsettingsmenu.h"
|
||||
#include "texthelpers/networktexthelpers.h"
|
||||
#include "utils.h"
|
||||
#include "wifiapsettingsmenu.h"
|
||||
#include "wifistasettingsmenu.h"
|
||||
|
||||
@ -58,5 +53,5 @@ void NetworkSettingsMenu::back()
|
||||
void NetworkAccessPointQRAction::triggered()
|
||||
{
|
||||
std::string qr = fmt::format("WIFI:T:{};S:{};P:{};H:;", get_wifi_security_string(configs.wifiApAuthmode.value()), configs.wifiApName.value(), configs.wifiApKey.value());
|
||||
espgui::switchScreen<QrDisplay<NetworkSettingsMenu>>(qr);
|
||||
espgui::pushScreen<QrDisplay>(qr);
|
||||
}
|
||||
|
@ -61,19 +61,19 @@ using namespace espgui;
|
||||
|
||||
SelectModeMenu::SelectModeMenu()
|
||||
{
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULT>, MultiAction<SetDefaultModeAction, PushScreenAction<MainMenu>>>>();
|
||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_TEMPOMAT, AvgSpeedAccessor>, MultiAction<SetTempomatModeAction, PushScreenAction<MainMenu>>>>(); }
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSM>, MultiAction<SetLarsmModeAction, PushScreenAction<MainMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICK>, MultiAction<SetMickModeAction, PushScreenAction<MainMenu>>>>();
|
||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REMOTECONTROL>, MultiAction<SetRemoteControlModeAction, PushScreenAction<MainMenu>>>>(); }
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULT>, MultiAction<SetDefaultModeAction, PopScreenAction>>>();
|
||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_TEMPOMAT, AvgSpeedAccessor>, MultiAction<SetTempomatModeAction, PopScreenAction>>>(); }
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSM>, MultiAction<SetLarsmModeAction, PopScreenAction>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICK>, MultiAction<SetMickModeAction, PopScreenAction>>>();
|
||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REMOTECONTROL>, MultiAction<SetRemoteControlModeAction, PopScreenAction>>>(); }
|
||||
#ifdef FEATURE_GAMETRAK
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAK>, MultiAction<SetGametrakModeAction, PopScreenAction>>>();
|
||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAK>, MultiAction<SetGametrakModeAction, PopScreenAction>>>(); }
|
||||
#endif
|
||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTEST>, MultiAction<SetMotorTestModeAction, PushScreenAction<MainMenu>>>>(); }
|
||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTEST>, MultiAction<SetMotorTestModeAction, PopScreenAction>>>(); }
|
||||
#ifdef FEATURE_JOYSTICK
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELCHAIR>, MultiAction<SetWheelchairModeAction, PushScreenAction<MainMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELCHAIR>, MultiAction<SetWheelchairModeAction, PopScreenAction>>>();
|
||||
#endif
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PushScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string SelectModeMenu::text() const
|
||||
@ -114,5 +114,5 @@ void SelectModeMenu::start()
|
||||
|
||||
void SelectModeMenu::back()
|
||||
{
|
||||
popScreen();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -1,24 +1,22 @@
|
||||
#include "selectotabuildmenu.h"
|
||||
|
||||
#include <espwifistack.h>
|
||||
// 3rdparty lib includes
|
||||
#include <fmt/core.h>
|
||||
#include <TFT_eSPI.h>
|
||||
#include "esp_log.h"
|
||||
#include "fmt/core.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "actions/dummyaction.h"
|
||||
#include "icons/back.h"
|
||||
#include <espwifistack.h>
|
||||
|
||||
// local includes
|
||||
#include "actions/dummyaction.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "bobbyerrorhandler.h"
|
||||
#include "buildserver.h"
|
||||
#include "displays/menus/otamenu.h"
|
||||
#include "icons/back.h"
|
||||
#include "buildserver.h"
|
||||
#include "utils.h"
|
||||
#include "displays/menus/otamenu.h"
|
||||
#include "globals.h"
|
||||
#include "icons/back.h"
|
||||
#include "newsettings.h"
|
||||
#include "utils.h"
|
||||
|
||||
#define MESSAGE(text) constructMenuItem<makeComponent<MenuItem, StaticText<text>, DefaultFont, StaticColor<TFT_RED>, DummyAction>>()
|
||||
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "displays/menus/crashmenu.h"
|
||||
#include "displays/menus/espnowmenu.h"
|
||||
#include "displays/menus/featureflagsmenu.h"
|
||||
#include "displays/menus/gitmenu.h"
|
||||
#include "displays/menus/limitssettingsmenu.h"
|
||||
#include "displays/menus/mainmenu.h"
|
||||
#include "displays/menus/modessettingsmenu.h"
|
||||
@ -33,6 +34,7 @@
|
||||
#include "icons/bluetooth.h"
|
||||
#include "icons/buzzer.h"
|
||||
#include "icons/demos.h"
|
||||
#include "icons/git.h"
|
||||
#include "icons/hardware.h"
|
||||
#include "icons/info.h"
|
||||
#include "icons/time.h"
|
||||
@ -64,6 +66,7 @@ constexpr char TEXT_FRONTLED[] = "Front LED";
|
||||
constexpr char TEXT_BACKLED[] = "Back LED";
|
||||
constexpr char TEXT_CRASHMENU[] = "Crash Menu";
|
||||
constexpr char TEXT_ABOUT[] = "About";
|
||||
constexpr char TEXT_GIT[] = "Git";
|
||||
constexpr char TEXT_BACK[] = "Back";
|
||||
|
||||
#ifdef FEATURE_LEDBACKLIGHT
|
||||
@ -126,6 +129,7 @@ SettingsMenu::SettingsMenu()
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, BobbyCheckbox, BackLedAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASHMENU>, PushScreenAction<CrashMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, PushScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT>, PushScreenAction<GitMenu>, StaticMenuItemIcon<&bobbyicons::git>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
|
@ -4,15 +4,13 @@
|
||||
#include <textwithvaluehelper.h>
|
||||
|
||||
// local includes
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
#include "changevaluedisplay_bobbyquickactions.h"
|
||||
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
||||
#include "icons/back.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "bobbyquickactions.h"
|
||||
|
||||
using namespace espgui;
|
||||
#include "changevaluedisplay_bobbyquickactions.h"
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
#include "icons/back.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_SETUPQUICKACTIONS[] = "Setup QuickActions";
|
||||
@ -26,27 +24,29 @@ constexpr char TEXT_SETUPEXTRA3[] = "&sSetup Extra3";
|
||||
constexpr char TEXT_SETUPEXTRA4[] = "&sSetup Extra4";
|
||||
constexpr char TEXT_BACK[] = "Back";
|
||||
|
||||
template<typename Tvalue, const char* TEXT, typename Accessor, typename Screen>
|
||||
template<typename Tvalue, const char* TEXT, typename Accessor>
|
||||
using QuickActionChangeValueDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<Tvalue>,
|
||||
espgui::StaticText<TEXT>,
|
||||
Accessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<Screen>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<Screen>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
} // namespace
|
||||
|
||||
SetupQuickActionsMenu::SetupQuickActionsMenu()
|
||||
{
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPLEFT2, QuickActionLeft2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPLEFT2, QuickActionLeft2Accessor, SetupQuickActionsMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPRIGHT2, QuickActionRight2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPRIGHT2, QuickActionRight2Accessor, SetupQuickActionsMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPUP2, QuickActionUp2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPUP2, QuickActionUp2Accessor, SetupQuickActionsMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPDOWN2, QuickActionDown2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPDOWN2, QuickActionDown2Accessor, SetupQuickActionsMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA1, QuickActionExtra1Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA1, QuickActionExtra1Accessor, SetupQuickActionsMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA2, QuickActionExtra2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA2, QuickActionExtra2Accessor, SetupQuickActionsMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA3, QuickActionExtra3Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA3, QuickActionExtra3Accessor, SetupQuickActionsMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA4, QuickActionExtra4Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA4, QuickActionExtra4Accessor, SetupQuickActionsMenu>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
using namespace espgui;
|
||||
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPLEFT2, QuickActionLeft2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPLEFT2, QuickActionLeft2Accessor>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPRIGHT2, QuickActionRight2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPRIGHT2, QuickActionRight2Accessor>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPUP2, QuickActionUp2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPUP2, QuickActionUp2Accessor>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPDOWN2, QuickActionDown2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPDOWN2, QuickActionDown2Accessor>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA1, QuickActionExtra1Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA1, QuickActionExtra1Accessor>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA2, QuickActionExtra2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA2, QuickActionExtra2Accessor>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA3, QuickActionExtra3Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA3, QuickActionExtra3Accessor>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA4, QuickActionExtra4Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA4, QuickActionExtra4Accessor>>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string SetupQuickActionsMenu::text() const
|
||||
@ -56,5 +56,5 @@ std::string SetupQuickActionsMenu::text() const
|
||||
|
||||
void SetupQuickActionsMenu::back()
|
||||
{
|
||||
switchScreen<BoardcomputerHardwareSettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
#include "timersmenu.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "changevaluedisplay.h"
|
||||
#include "icons/back.h"
|
||||
|
||||
@ -19,16 +20,16 @@ using StatsUpdateRateChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_STATSUPDATERATE>,
|
||||
StatsUpdateRateAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimersMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimersMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
} // namespace
|
||||
|
||||
TimersMenu::TimersMenu()
|
||||
{
|
||||
using namespace espgui;
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSUPDATERATE>, SwitchScreenAction<StatsUpdateRateChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSUPDATERATE>, espgui::PushScreenAction<StatsUpdateRateChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, espgui::PushScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string TimersMenu::text() const
|
||||
@ -38,5 +39,5 @@ std::string TimersMenu::text() const
|
||||
|
||||
void TimersMenu::back()
|
||||
{
|
||||
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -9,7 +9,8 @@
|
||||
#include "changevaluedisplay_daylightsavingmode.h"
|
||||
#include "changevaluedisplay_sntp_sync_mode_t.h"
|
||||
#include "changevaluedisplay_string.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "actions/dummyaction.h"
|
||||
#include "icons/back.h"
|
||||
#include "espstrutils.h"
|
||||
@ -71,40 +72,40 @@ using TimezoneOffsetChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int32_t>,
|
||||
espgui::StaticText<TEXT_OFFSET>,
|
||||
TimezoneOffsetAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
using DaylightSavingModeChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<espchrono::DayLightSavingMode>,
|
||||
espgui::StaticText<TEXT_DAYLIGHTSAVINGMODE>,
|
||||
DaylightSavingModeAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
using TimeServerChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<std::string>,
|
||||
espgui::StaticText<TEXT_NTPSERVER>,
|
||||
TimeServerAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
using TimeSyncModeChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<sntp_sync_mode_t>,
|
||||
espgui::StaticText<TEXT_NTPMODE>,
|
||||
TimeSyncModeAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
using TimeSyncIntervalChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int32_t>,
|
||||
espgui::StaticText<TEXT_NTPINTERVAL>,
|
||||
TimeSyncIntervalAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
|
||||
class NtpSyncStatusText : public virtual espgui::TextInterface
|
||||
@ -123,17 +124,17 @@ TimeSettingsMenu::TimeSettingsMenu()
|
||||
constructMenuItem<makeComponent<MenuItem, CurrentUtcDateTimeText, StaticFont<2>, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, CurrentLocalDateTimeText, StaticFont<2>, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, SuntimeText, StaticFont<2>, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OFFSET>, SwitchScreenAction<TimezoneOffsetChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DAYLIGHTSAVINGMODE>, SwitchScreenAction<DaylightSavingModeChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OFFSET>, PushScreenAction<TimezoneOffsetChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DAYLIGHTSAVINGMODE>, PushScreenAction<DaylightSavingModeChangeDisplay>>>();
|
||||
if (configs.feature.ntp.isEnabled.value())
|
||||
{
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPENABLED>, BobbyCheckbox, TimeServerEnabledAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPSERVER>, SwitchScreenAction<TimeServerChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPMODE>, SwitchScreenAction<TimeSyncModeChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPINTERVAL>, SwitchScreenAction<TimeSyncIntervalChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPSERVER>, PushScreenAction<TimeServerChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPMODE>, PushScreenAction<TimeSyncModeChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPINTERVAL>, PushScreenAction<TimeSyncIntervalChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, NtpSyncStatusText, DummyAction>>();
|
||||
}
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string TimeSettingsMenu::text() const
|
||||
@ -143,5 +144,5 @@ std::string TimeSettingsMenu::text() const
|
||||
|
||||
void TimeSettingsMenu::back()
|
||||
{
|
||||
espgui::switchScreen<SettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include <fmt/core.h>
|
||||
#include <icons/back.h>
|
||||
#include <actions/dummyaction.h>
|
||||
#include <actions/switchscreenaction.h>
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <actions/popscreenaction.h>
|
||||
|
||||
// local includes
|
||||
@ -89,7 +89,7 @@ private:
|
||||
};
|
||||
} // namespace typesafeenumchangemenu
|
||||
|
||||
template<typename TEnum, typename TMenu, const char *Ttext>
|
||||
template<typename TEnum, const char *Ttext>
|
||||
class SwitchScreenTypeSafeChangeMenuItem : public espgui::MenuItem
|
||||
{
|
||||
public:
|
||||
@ -103,7 +103,7 @@ public:
|
||||
|
||||
void triggered() override
|
||||
{
|
||||
espgui::switchScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum>>(m_config);
|
||||
espgui::pushScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum>>(m_config);
|
||||
}
|
||||
private:
|
||||
ConfigWrapper<TEnum>* m_config;
|
||||
|
@ -1,18 +1,17 @@
|
||||
#include "udpcloudsettingsmenu.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <actions/popscreenaction.h>
|
||||
#include <actions/pushscreenaction.h>
|
||||
#include <changevaluedisplay.h>
|
||||
#include <fmt/core.h>
|
||||
#include "menuitem.h"
|
||||
#include "changevaluedisplay.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/dummyaction.h"
|
||||
#include "icons/back.h"
|
||||
#include <icons/back.h>
|
||||
#include <menuitem.h>
|
||||
|
||||
// local includes
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "displays/menus/settingsmenu.h"
|
||||
#include "bobbycheckbox.h"
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_UDPCLOUDSETTINGS[] = "UDP Cloud settings";
|
||||
@ -25,8 +24,8 @@ using UdpCloudSendRateChangeDisplay = espgui::makeComponent<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_UDPSENDRATE>,
|
||||
UdpCloudSendIntervalAccessor,
|
||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<UdpCloudSettingsMenu>>,
|
||||
espgui::BackActionInterface<espgui::SwitchScreenAction<UdpCloudSettingsMenu>>
|
||||
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||
>;
|
||||
} // namespace
|
||||
|
||||
@ -36,8 +35,8 @@ UdpCloudSettingsMenu::UdpCloudSettingsMenu()
|
||||
{
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPCLOUDENABLED>, BobbyCheckbox, UdpCloudEnabledAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPUSESTRING>, BobbyCheckbox, UdpUseStdStringAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPSENDRATE>, SwitchScreenAction<UdpCloudSendRateChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPSENDRATE>, PushScreenAction<UdpCloudSendRateChangeDisplay>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
std::string UdpCloudSettingsMenu::text() const
|
||||
@ -47,5 +46,5 @@ std::string UdpCloudSettingsMenu::text() const
|
||||
|
||||
void UdpCloudSettingsMenu::back()
|
||||
{
|
||||
switchScreen<SettingsMenu>();
|
||||
espgui::popScreen();
|
||||
}
|
||||
|
@ -2,15 +2,15 @@
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <tftinstance.h>
|
||||
#include <screenmanager.h>
|
||||
|
||||
// local includes
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
||||
#include "displays/menus/mainmenu.h"
|
||||
#include "displays/statusdisplay.h"
|
||||
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
||||
#include "globals.h"
|
||||
#include "newsettings.h"
|
||||
#include "utils.h"
|
||||
#include "globals.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_CALIBRATE[] = "Potis Calibrate";
|
||||
|
@ -3,11 +3,11 @@
|
||||
// system includes
|
||||
#include <array>
|
||||
#include <string>
|
||||
#include <optional>
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <fmt/core.h>
|
||||
#include <cpputils.h>
|
||||
#include <actions/switchscreenaction.h>
|
||||
#include <widgets/label.h>
|
||||
#include <widgets/progressbar.h>
|
||||
|
||||
|
@ -1,16 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
// 3rd party includes
|
||||
#include <tftinstance.h>
|
||||
#include <qrcode.h>
|
||||
#include <screenmanager.h>
|
||||
#include <tftinstance.h>
|
||||
|
||||
// local includes
|
||||
#include "bobbydisplay.h"
|
||||
#include "screenmanager.h"
|
||||
|
||||
uint16_t get_qrver_from_strlen(std::string_view str);
|
||||
|
||||
template<typename TMenu>
|
||||
class QrDisplay : public BobbyDisplay
|
||||
{
|
||||
using Base = BobbyDisplay;
|
||||
@ -46,14 +45,13 @@ public:
|
||||
|
||||
void buttonPressed(espgui::Button button) override
|
||||
{
|
||||
using namespace espgui;
|
||||
Base::buttonPressed(button);
|
||||
|
||||
switch (button)
|
||||
{
|
||||
case espgui::Button::Left:
|
||||
case espgui::Button::Right:
|
||||
switchScreen<TMenu>();
|
||||
espgui::popScreen();
|
||||
break;
|
||||
default:;
|
||||
}
|
||||
|
30
main/icons/git.cpp
Normal file
30
main/icons/git.cpp
Normal file
@ -0,0 +1,30 @@
|
||||
#include "git.h"
|
||||
|
||||
namespace bobbyicons {
|
||||
const espgui::Icon<24, 24> git{{
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xE245,0xEA66,0xEA66,0xE246,0xD225,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xEA66,0xE246,0xCA25,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE245,0xCA25,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xDA25,0xDA45,0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE246,0xD225,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xDA25,0xDA45,0xEA66,0xEA66,0xDA45,0xE245,0xEA86,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE245,0xDA45,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0xDA25,0xDA45,0xEA66,0xF286,0xEA86,0xEA66,0xDA45,0xE246,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xDA45,0xDA45,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0xD225,0xDA45,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xE266,0xC1E5,0xDA45,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xE245,0xD225,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xD225,0x0000,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE246,0xCA25,0x0000,0x0000,
|
||||
0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA66,0xDA45,0xD225,0xD225,0xE266,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE245,0xCA25,0x0000,
|
||||
0xD225,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xE266,0xEA66,0xD225,0xE266,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE246,0xD225,
|
||||
0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xEA66,0xEA66,0xD225,0xE246,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xE246,
|
||||
0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xF286,0xEA66,0xEA66,0x0000,0xD225,0xE266,0xF286,0xF286,0xF286,0xF286,0xEA66,
|
||||
0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xF286,0xEA86,0xEA66,0x2882,0xD225,0xE266,0xF286,0xF286,0xF286,0xF286,0xEA66,
|
||||
0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xF286,0xF286,0xEA66,0xE266,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xE266,
|
||||
0xD225,0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE266,
|
||||
0x0000,0xCA25,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA66,0xDA45,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,
|
||||
0x0000,0x0000,0xCA25,0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE245,0xE266,0xEA66,0xEA86,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xCA05,0xCA05,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0xDA45,0xDA45,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xEA66,0xE266,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE266,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xDA45,0xE245,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE266,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xCA25,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xCA05,0xE245,0xEA66,0xEA66,0xE266,0xE266,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
}, "git"};
|
||||
} // namespace bobbyicons
|
7
main/icons/git.h
Normal file
7
main/icons/git.h
Normal file
@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "icon.h"
|
||||
|
||||
namespace bobbyicons {
|
||||
extern const espgui::Icon<24, 24> git;
|
||||
} // namespace bobbyicons
|
@ -14,6 +14,7 @@ constexpr const char * const TAG = "BOBBY";
|
||||
using namespace std::chrono_literals;
|
||||
#include <espwifistack.h>
|
||||
#include <schedulertask.h>
|
||||
#include <screenmanager.h>
|
||||
|
||||
// local includes
|
||||
#include "bobbycar-common.h"
|
||||
|
Reference in New Issue
Block a user