From cfa278a4b10e58c7543781893bcbf3fc828000ac Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Thu, 27 Jan 2022 18:02:25 +0100 Subject: [PATCH] Basic Menu for managing profiles --- main/CMakeLists.txt | 2 ++ main/displays/menus/mainmenu.cpp | 3 +++ main/displays/menus/manageprofilesmenu.cpp | 31 ++++++++++++++++++++++ main/displays/menus/manageprofilesmenu.h | 14 ++++++++++ 4 files changed, 50 insertions(+) create mode 100644 main/displays/menus/manageprofilesmenu.cpp create mode 100644 main/displays/menus/manageprofilesmenu.h diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index dd14754..f3bd8f6 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -111,6 +111,7 @@ set(headers displays/menus/limitssettingsmenu.h displays/menus/lockscreensettingsmenu.h displays/menus/mainmenu.h + displays/menus/manageprofilesmenu.h displays/menus/modessettingsmenu.h displays/menus/mosfetsmenu.h displays/menus/motorfeedbackdebugmenu.h @@ -341,6 +342,7 @@ set(sources displays/menus/limitssettingsmenu.cpp displays/menus/lockscreensettingsmenu.cpp displays/menus/mainmenu.cpp + displays/menus/manageprofilesmenu.cpp displays/menus/modessettingsmenu.cpp displays/menus/mosfetsmenu.cpp displays/menus/motorfeedbackdebugmenu.cpp diff --git a/main/displays/menus/mainmenu.cpp b/main/displays/menus/mainmenu.cpp index a14d028..d5cd736 100644 --- a/main/displays/menus/mainmenu.cpp +++ b/main/displays/menus/mainmenu.cpp @@ -16,6 +16,7 @@ #include "displays/powersupplydisplay.h" #include "displays/menus/bmsmenu.h" #include "displays/menus/settingsmenu.h" +#include "displays/menus/manageprofilesmenu.h" #include "displays/menus/mosfetsmenu.h" #include "displays/menus/demosmenu.h" #include "displays/menus/greenpassmenu.h" @@ -78,6 +79,7 @@ constexpr char TEXT_DEBUG[] = "Debug"; constexpr char TEXT_BATTERY[] = "Battery"; constexpr char TEXT_BATTERYDEBUG[] = "Bat Debug Menu"; constexpr char TEXT_TOGGLECLOUDDEBUG[] = "Cloud Debug"; +constexpr char TEXT_MANAGEPROFILESMENU[] = "Manage Profile Settings"; } // namespace @@ -115,6 +117,7 @@ MainMenu::MainMenu() #endif constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::demos>>>(); if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } + if (SHOWITEM) { constructMenuItem,SwitchScreenAction>>(); } if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::poweroff>>>(); constructMenuItem, RebootAction, StaticMenuItemIcon<&bobbyicons::reboot>>>(); diff --git a/main/displays/menus/manageprofilesmenu.cpp b/main/displays/menus/manageprofilesmenu.cpp new file mode 100644 index 0000000..2b87c85 --- /dev/null +++ b/main/displays/menus/manageprofilesmenu.cpp @@ -0,0 +1,31 @@ +#include "manageprofilesmenu.h" + +// 3rdparty lib includes +#include + +// local includes +#include "actions/switchscreenaction.h" +#include "mainmenu.h" + +namespace { +constexpr char TEXT_MANAGEPROFILESMENU[] = "Manage Profiles Menu"; +constexpr char TEXT_BACK[] = "Back"; +} + +using namespace espgui; + +ManageProfilesMenu::ManageProfilesMenu() +{ + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); +} + +void ManageProfilesMenu::back() +{ + switchScreen(); +} + +std::string ManageProfilesMenu::text() const +{ + return TEXT_MANAGEPROFILESMENU; +} +// functions: clear profile, copy profile, move profile diff --git a/main/displays/menus/manageprofilesmenu.h b/main/displays/menus/manageprofilesmenu.h new file mode 100644 index 0000000..fa77fd2 --- /dev/null +++ b/main/displays/menus/manageprofilesmenu.h @@ -0,0 +1,14 @@ +#pragma once + +// local includes +#include + +class ManageProfilesMenu : public BobbyMenuDisplay +{ +public: + ManageProfilesMenu(); + + std::string text() const override; + + void back() override; +};