mirror of
https://github.com/meshtastic/firmware.git
synced 2026-01-28 04:31:58 +00:00
Establish Action Menu on all node list screens, add NodeDB reset (with confirmation) option
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include "graphics/Screen.h"
|
||||
#include "graphics/draw/UIRenderer.h"
|
||||
#include "main.h"
|
||||
#include "modules/AdminModule.h"
|
||||
#include "modules/CannedMessageModule.h"
|
||||
|
||||
namespace graphics
|
||||
@@ -310,6 +311,29 @@ void menuHandler::positionBaseMenu()
|
||||
});
|
||||
}
|
||||
|
||||
void menuHandler::nodeListMenu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Back", "Reset NodeDB"};
|
||||
screen->showOverlayBanner("Node Options", 30000, optionsArray, 2, [](int selected) -> void {
|
||||
if (selected == 1) {
|
||||
menuQueue = reset_node_db_menu;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void menuHandler::resetNodeDBMenu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Back", "Confirm"};
|
||||
screen->showOverlayBanner("Confirm Reset NodeDB", 30000, optionsArray, 2, [](int selected) -> void {
|
||||
if (selected == 1) {
|
||||
disableBluetooth();
|
||||
LOG_INFO("Initiate node-db reset");
|
||||
nodeDB->resetNodes();
|
||||
rebootAtMsec = (millis() + DEFAULT_REBOOT_SECONDS * 1000);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void menuHandler::compassNorthMenu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Back", "Points Up", "Dynamic"};
|
||||
@@ -405,6 +429,9 @@ void menuHandler::handleMenuSwitch()
|
||||
case compass_point_north_menu:
|
||||
compassNorthMenu();
|
||||
break;
|
||||
case reset_node_db_menu:
|
||||
resetNodeDBMenu();
|
||||
break;
|
||||
}
|
||||
menuQueue = menu_none;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,8 @@ class menuHandler
|
||||
clock_menu,
|
||||
position_base_menu,
|
||||
gps_toggle_menu,
|
||||
compass_point_north_menu
|
||||
compass_point_north_menu,
|
||||
reset_node_db_menu
|
||||
};
|
||||
static screenMenus menuQueue;
|
||||
|
||||
@@ -32,6 +33,8 @@ class menuHandler
|
||||
static void GPSToggleMenu();
|
||||
static void BuzzerModeMenu();
|
||||
static void switchToMUIMenu();
|
||||
static void nodeListMenu();
|
||||
static void resetNodeDBMenu();
|
||||
};
|
||||
|
||||
} // namespace graphics
|
||||
Reference in New Issue
Block a user