mirror of
https://github.com/meshtastic/firmware.git
synced 2025-07-30 02:15:41 +00:00
Move Dismiss into a Generic Confirmation
This commit is contained in:
parent
964afd0335
commit
ff8275e0dd
@ -1111,6 +1111,7 @@ void Screen::dismissCurrentFrame()
|
||||
LOG_INFO("Dismiss Memory");
|
||||
dismissedFrames.system = true;
|
||||
dismissed = true;
|
||||
#if HAS_GPS
|
||||
} else if (currentFrame == framesetInfo.positions.nodelist_bearings) {
|
||||
LOG_INFO("Dismiss Bearings");
|
||||
dismissedFrames.nodelist_bearings = true;
|
||||
@ -1119,6 +1120,27 @@ void Screen::dismissCurrentFrame()
|
||||
LOG_INFO("Dismiss Position");
|
||||
dismissedFrames.gps = true;
|
||||
dismissed = true;
|
||||
#endif
|
||||
#ifndef USE_EINK
|
||||
} else if (currentFrame == framesetInfo.positions.nodelist) {
|
||||
LOG_INFO("Dismiss NodeList");
|
||||
dismissedFrames.nodelist = true;
|
||||
dismissed = true;
|
||||
#endif
|
||||
#ifdef USE_EINK
|
||||
} else if (currentFrame == framesetInfo.positions.nodelist_lastheard) {
|
||||
LOG_INFO("Dismiss NodeList (Last Heard - EInk)");
|
||||
dismissedFrames.nodelist_lastheard = true;
|
||||
dismissed = true;
|
||||
} else if (currentFrame == framesetInfo.positions.nodelist_hopsignal) {
|
||||
LOG_INFO("Dismiss NodeList (Hop / Signal - EInk)");
|
||||
dismissedFrames.nodelist_hopsignal = true;
|
||||
dismissed = true;
|
||||
} else if (currentFrame == framesetInfo.positions.nodelinodelist_distancest) {
|
||||
LOG_INFO("Dismiss NodeList (Distance - EInk)");
|
||||
dismissedFrames.nodelist_distance = true;
|
||||
dismissed = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (dismissed) {
|
||||
|
@ -375,7 +375,7 @@ void menuHandler::textMessageBaseMenu()
|
||||
|
||||
void menuHandler::systemBaseMenu()
|
||||
{
|
||||
enum optionsNumbers { Back, Notifications, ScreenOptions, PowerMenu, Test, DismissSystemFrame, enumEnd };
|
||||
enum optionsNumbers { Back, Notifications, ScreenOptions, PowerMenu, Test, DismissFrame, enumEnd };
|
||||
static const char *optionsArray[enumEnd] = {"Back"};
|
||||
static int optionsEnumArray[enumEnd] = {Back};
|
||||
int options = 1;
|
||||
@ -396,8 +396,8 @@ void menuHandler::systemBaseMenu()
|
||||
optionsEnumArray[options++] = Test;
|
||||
}
|
||||
|
||||
optionsArray[options] = "Dismiss Frame";
|
||||
optionsEnumArray[options++] = DismissSystemFrame;
|
||||
// optionsArray[options] = "Dismiss Frame";
|
||||
// optionsEnumArray[options++] = DismissCurrentFrame;
|
||||
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "System Action";
|
||||
@ -417,8 +417,8 @@ void menuHandler::systemBaseMenu()
|
||||
} else if (selected == Test) {
|
||||
menuHandler::menuQueue = menuHandler::test_menu;
|
||||
screen->runNow();
|
||||
} else if (selected == DismissSystemFrame) {
|
||||
menuHandler::menuQueue = menuHandler::DismissSystemFrame;
|
||||
} else if (selected == DismissFrame) {
|
||||
menuHandler::menuQueue = menuHandler::DismissCurrentFrame;
|
||||
screen->runNow();
|
||||
} else if (selected == Back && !test_enabled) {
|
||||
test_count++;
|
||||
@ -489,7 +489,7 @@ void menuHandler::positionBaseMenu()
|
||||
} else if (selected == CompassCalibrate) {
|
||||
accelerometerThread->calibrate(30);
|
||||
} else if (selected == DismissFrame) {
|
||||
menuQueue = DismissPositionFrame;
|
||||
menuQueue = DismissCurrentFrame;
|
||||
screen->runNow();
|
||||
}
|
||||
};
|
||||
@ -498,7 +498,7 @@ void menuHandler::positionBaseMenu()
|
||||
|
||||
void menuHandler::nodeListMenu()
|
||||
{
|
||||
enum optionsNumbers { Back, Favorite, Verify, Reset, Dismissnodelist_bearings };
|
||||
enum optionsNumbers { Back, Favorite, Verify, Reset, DismissFrame };
|
||||
static const char *optionsArray[] = {"Back", "Add Favorite", "Key Verification", "Reset NodeDB", "Dismiss Frame"};
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "Node Action";
|
||||
@ -514,8 +514,8 @@ void menuHandler::nodeListMenu()
|
||||
} else if (selected == Reset) {
|
||||
menuQueue = reset_node_db_menu;
|
||||
screen->runNow();
|
||||
} else if (selected == Dismissnodelist_bearings) {
|
||||
menuQueue = Dismissnodelist_bearingsFrame;
|
||||
} else if (selected == DismissFrame) {
|
||||
menuQueue = DismissCurrentFrame;
|
||||
screen->runNow();
|
||||
}
|
||||
};
|
||||
@ -1079,73 +1079,16 @@ void menuHandler::keyVerificationFinalPrompt()
|
||||
}
|
||||
}
|
||||
|
||||
void menuHandler::DismissSystemFrame_menu()
|
||||
void menuHandler::DismissCurrentFrame_menu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Back", "Confirm"};
|
||||
static const char *optionsArray[] = {"Cancel", "Confirm"};
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "Dismiss System Frame?";
|
||||
bannerOptions.message = "Dismiss Current Frame?";
|
||||
bannerOptions.optionsArrayPtr = optionsArray;
|
||||
bannerOptions.optionsCount = 2;
|
||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||
if (selected == 1) {
|
||||
screen->dismissCurrentFrame();
|
||||
} else {
|
||||
menuQueue = system_base_menu;
|
||||
screen->runNow();
|
||||
}
|
||||
};
|
||||
screen->showOverlayBanner(bannerOptions);
|
||||
}
|
||||
|
||||
void menuHandler::Dismissnodelist_bearings_menu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Back", "Confirm"};
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "Dismiss Bearings Frame?";
|
||||
bannerOptions.optionsArrayPtr = optionsArray;
|
||||
bannerOptions.optionsCount = 2;
|
||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||
if (selected == 1) {
|
||||
screen->dismissCurrentFrame();
|
||||
} else {
|
||||
// menuQueue = system_base_menu;
|
||||
// screen->runNow();
|
||||
}
|
||||
};
|
||||
screen->showOverlayBanner(bannerOptions);
|
||||
}
|
||||
|
||||
void menuHandler::DismissLoRaFrame_menu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Back", "Confirm"};
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "Dismiss LoRa Frame?";
|
||||
bannerOptions.optionsArrayPtr = optionsArray;
|
||||
bannerOptions.optionsCount = 2;
|
||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||
if (selected == 1) {
|
||||
screen->dismissCurrentFrame();
|
||||
} else {
|
||||
// menuQueue = system_base_menu;
|
||||
// screen->runNow();
|
||||
}
|
||||
};
|
||||
screen->showOverlayBanner(bannerOptions);
|
||||
}
|
||||
|
||||
void menuHandler::DismissPositionFrame_menu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Back", "Confirm"};
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "Dismiss Position Frame?";
|
||||
bannerOptions.optionsArrayPtr = optionsArray;
|
||||
bannerOptions.optionsCount = 2;
|
||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||
if (selected == 1) {
|
||||
screen->dismissCurrentFrame();
|
||||
} else {
|
||||
menuQueue = position_base_menu;
|
||||
screen->runNow();
|
||||
}
|
||||
};
|
||||
screen->showOverlayBanner(bannerOptions);
|
||||
@ -1241,17 +1184,8 @@ void menuHandler::handleMenuSwitch(OLEDDisplay *display)
|
||||
case power_menu:
|
||||
powerMenu();
|
||||
break;
|
||||
case DismissSystemFrame:
|
||||
DismissSystemFrame_menu();
|
||||
break;
|
||||
case DismissLoRaFrame:
|
||||
DismissLoRaFrame_menu();
|
||||
break;
|
||||
case Dismissnodelist_bearingsFrame:
|
||||
Dismissnodelist_bearings_menu();
|
||||
break;
|
||||
case DismissPositionFrame:
|
||||
DismissPositionFrame_menu();
|
||||
case DismissCurrentFrame:
|
||||
DismissCurrentFrame_menu();
|
||||
break;
|
||||
case throttle_message:
|
||||
screen->showSimpleBanner("Too Many Attempts\nTry again in 60 seconds.", 5000);
|
||||
|
@ -37,10 +37,7 @@ class menuHandler
|
||||
key_verification_init,
|
||||
key_verification_final_prompt,
|
||||
throttle_message,
|
||||
DismissSystemFrame,
|
||||
DismissLoRaFrame,
|
||||
Dismissnodelist_bearingsFrame,
|
||||
DismissPositionFrame
|
||||
DismissCurrentFrame
|
||||
};
|
||||
static screenMenus menuQueue;
|
||||
|
||||
@ -75,10 +72,7 @@ class menuHandler
|
||||
static void notificationsMenu();
|
||||
static void screenOptionsMenu();
|
||||
static void powerMenu();
|
||||
static void DismissSystemFrame_menu();
|
||||
static void Dismissnodelist_bearings_menu();
|
||||
static void DismissLoRaFrame_menu();
|
||||
static void DismissPositionFrame_menu();
|
||||
static void DismissCurrentFrame_menu();
|
||||
|
||||
private:
|
||||
static void saveUIConfig();
|
||||
|
Loading…
Reference in New Issue
Block a user