diff --git a/src/graphics/Screen.cpp b/src/graphics/Screen.cpp index 1d0e12c0b..885bffcee 100644 --- a/src/graphics/Screen.cpp +++ b/src/graphics/Screen.cpp @@ -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) { diff --git a/src/graphics/draw/MenuHandler.cpp b/src/graphics/draw/MenuHandler.cpp index f4da575fe..884f7be1d 100644 --- a/src/graphics/draw/MenuHandler.cpp +++ b/src/graphics/draw/MenuHandler.cpp @@ -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); diff --git a/src/graphics/draw/MenuHandler.h b/src/graphics/draw/MenuHandler.h index 2ae208a65..2bf723b18 100644 --- a/src/graphics/draw/MenuHandler.h +++ b/src/graphics/draw/MenuHandler.h @@ -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();