mirror of
https://github.com/meshtastic/firmware.git
synced 2025-07-30 02:15:41 +00:00
Rename "Dismissed" to "Hidden" and relabeled menu options
This commit is contained in:
parent
c8717751b3
commit
da8e70fc7c
@ -882,7 +882,7 @@ void Screen::setFrames(FrameFocus focus)
|
||||
}
|
||||
|
||||
#if defined(DISPLAY_CLOCK_FRAME)
|
||||
if (!dismissedFrames.clock) {
|
||||
if (!hiddenFrames.clock) {
|
||||
fsi.positions.clock = numframes;
|
||||
normalFrames[numframes++] = uiconfig.is_clockface_analog ? graphics::ClockRenderer::drawAnalogClockFrame
|
||||
: graphics::ClockRenderer::drawDigitalClockFrame;
|
||||
@ -893,7 +893,7 @@ void Screen::setFrames(FrameFocus focus)
|
||||
// Declare this early so it’s available in FOCUS_PRESERVE block
|
||||
bool willInsertTextMessage = shouldDrawMessage(&devicestate.rx_text_message);
|
||||
|
||||
if (!dismissedFrames.home) {
|
||||
if (!hiddenFrames.home) {
|
||||
fsi.positions.home = numframes;
|
||||
normalFrames[numframes++] = graphics::UIRenderer::drawDeviceFocused;
|
||||
indicatorIcons.push_back(icon_home);
|
||||
@ -904,7 +904,7 @@ void Screen::setFrames(FrameFocus focus)
|
||||
indicatorIcons.push_back(icon_mail);
|
||||
|
||||
#ifndef USE_EINK
|
||||
if (!dismissedFrames.nodelist) {
|
||||
if (!hiddenFrames.nodelist) {
|
||||
fsi.positions.nodelist = numframes;
|
||||
normalFrames[numframes++] = graphics::NodeListRenderer::drawDynamicNodeListScreen;
|
||||
indicatorIcons.push_back(icon_nodes);
|
||||
@ -913,46 +913,46 @@ void Screen::setFrames(FrameFocus focus)
|
||||
|
||||
// Show detailed node views only on E-Ink builds
|
||||
#ifdef USE_EINK
|
||||
if (!dismissedFrames.nodelist_lastheard) {
|
||||
if (!hiddenFrames.nodelist_lastheard) {
|
||||
fsi.positions.nodelist_lastheard = numframes;
|
||||
normalFrames[numframes++] = graphics::NodeListRenderer::drawLastHeardScreen;
|
||||
indicatorIcons.push_back(icon_nodes);
|
||||
}
|
||||
if (!dismissedFrames.nodelist_hopsignal) {
|
||||
if (!hiddenFrames.nodelist_hopsignal) {
|
||||
fsi.positions.nodelist_hopsignal = numframes;
|
||||
normalFrames[numframes++] = graphics::NodeListRenderer::drawHopSignalScreen;
|
||||
indicatorIcons.push_back(icon_signal);
|
||||
}
|
||||
if (!dismissedFrames.nodelist_distance) {
|
||||
if (!hiddenFrames.nodelist_distance) {
|
||||
fsi.positions.nodelist_distance = numframes;
|
||||
normalFrames[numframes++] = graphics::NodeListRenderer::drawDistanceScreen;
|
||||
indicatorIcons.push_back(icon_distance);
|
||||
}
|
||||
#endif
|
||||
#if HAS_GPS
|
||||
if (!dismissedFrames.nodelist_bearings) {
|
||||
if (!hiddenFrames.nodelist_bearings) {
|
||||
fsi.positions.nodelist_bearings = numframes;
|
||||
normalFrames[numframes++] = graphics::NodeListRenderer::drawNodeListWithCompasses;
|
||||
indicatorIcons.push_back(icon_list);
|
||||
}
|
||||
if (!dismissedFrames.gps) {
|
||||
if (!hiddenFrames.gps) {
|
||||
fsi.positions.gps = numframes;
|
||||
normalFrames[numframes++] = graphics::UIRenderer::drawCompassAndLocationScreen;
|
||||
indicatorIcons.push_back(icon_compass);
|
||||
}
|
||||
#endif
|
||||
if (RadioLibInterface::instance && !dismissedFrames.lora) {
|
||||
if (RadioLibInterface::instance && !hiddenFrames.lora) {
|
||||
fsi.positions.lora = numframes;
|
||||
normalFrames[numframes++] = graphics::DebugRenderer::drawLoRaFocused;
|
||||
indicatorIcons.push_back(icon_radio);
|
||||
}
|
||||
if (!dismissedFrames.system) {
|
||||
if (!hiddenFrames.system) {
|
||||
fsi.positions.system = numframes;
|
||||
normalFrames[numframes++] = graphics::DebugRenderer::drawSystemScreen;
|
||||
indicatorIcons.push_back(icon_system);
|
||||
}
|
||||
#if !defined(DISPLAY_CLOCK_FRAME)
|
||||
if (!dismissedFrames.clock) {
|
||||
if (!hiddenFrames.clock) {
|
||||
fsi.positions.clock = numframes;
|
||||
normalFrames[numframes++] = uiconfig.is_clockface_analog ? graphics::ClockRenderer::drawAnalogClockFrame
|
||||
: graphics::ClockRenderer::drawDigitalClockFrame;
|
||||
@ -961,7 +961,7 @@ void Screen::setFrames(FrameFocus focus)
|
||||
#endif
|
||||
|
||||
#if HAS_WIFI && !defined(ARCH_PORTDUINO)
|
||||
if (!dismissedFrames.wifi && isWifiAvailable()) {
|
||||
if (!hiddenFrames.wifi && isWifiAvailable()) {
|
||||
fsi.positions.wifi = numframes;
|
||||
normalFrames[numframes++] = graphics::DebugRenderer::drawDebugInfoWiFiTrampoline;
|
||||
indicatorIcons.push_back(icon_wifi);
|
||||
@ -1093,94 +1093,78 @@ void Screen::setFrameImmediateDraw(FrameCallback *drawFrames)
|
||||
// Dismisses the currently displayed screen frame, if possible
|
||||
// Relevant for text message, waypoint, others in future?
|
||||
// Triggered with a CardKB keycombo
|
||||
void Screen::dismissCurrentFrame()
|
||||
void Screen::hideCurrentFrame()
|
||||
{
|
||||
uint8_t currentFrame = ui->getUiState()->currentFrame;
|
||||
bool dismissed = false;
|
||||
|
||||
if (currentFrame == framesetInfo.positions.textMessage && devicestate.has_rx_text_message) {
|
||||
LOG_INFO("Dismiss Text Message");
|
||||
LOG_INFO("Hide Text Message");
|
||||
devicestate.has_rx_text_message = false;
|
||||
memset(&devicestate.rx_text_message, 0, sizeof(devicestate.rx_text_message));
|
||||
} else if (currentFrame == framesetInfo.positions.waypoint && devicestate.has_rx_waypoint) {
|
||||
LOG_DEBUG("Dismiss Waypoint");
|
||||
LOG_DEBUG("Hide Waypoint");
|
||||
devicestate.has_rx_waypoint = false;
|
||||
dismissedFrames.waypoint = true;
|
||||
dismissed = true;
|
||||
hiddenFrames.waypoint = true;
|
||||
} else if (currentFrame == framesetInfo.positions.wifi) {
|
||||
LOG_DEBUG("Dismiss WiFi Screen");
|
||||
dismissedFrames.wifi = true;
|
||||
dismissed = true;
|
||||
LOG_DEBUG("Hide WiFi Screen");
|
||||
hiddenFrames.wifi = true;
|
||||
} else if (currentFrame == framesetInfo.positions.lora) {
|
||||
LOG_INFO("Dismiss LoRa");
|
||||
dismissedFrames.lora = true;
|
||||
dismissed = true;
|
||||
LOG_INFO("Hide LoRa");
|
||||
hiddenFrames.lora = true;
|
||||
} else if (currentFrame == framesetInfo.positions.system) {
|
||||
LOG_INFO("Dismiss Memory");
|
||||
dismissedFrames.system = true;
|
||||
dismissed = true;
|
||||
LOG_INFO("Hide Memory");
|
||||
hiddenFrames.system = true;
|
||||
} else if (currentFrame == framesetInfo.positions.clock) {
|
||||
LOG_INFO("Dismiss Clock");
|
||||
dismissedFrames.clock = true;
|
||||
dismissed = true;
|
||||
LOG_INFO("Hide Clock");
|
||||
hiddenFrames.clock = true;
|
||||
#if HAS_GPS
|
||||
} else if (currentFrame == framesetInfo.positions.nodelist_bearings) {
|
||||
LOG_INFO("Dismiss Bearings");
|
||||
dismissedFrames.nodelist_bearings = true;
|
||||
dismissed = true;
|
||||
LOG_INFO("Hide Bearings");
|
||||
hiddenFrames.nodelist_bearings = true;
|
||||
} else if (currentFrame == framesetInfo.positions.gps) {
|
||||
LOG_INFO("Dismiss Position");
|
||||
dismissedFrames.gps = true;
|
||||
dismissed = true;
|
||||
LOG_INFO("Hide Position");
|
||||
hiddenFrames.gps = true;
|
||||
#endif
|
||||
#ifndef USE_EINK
|
||||
} else if (currentFrame == framesetInfo.positions.nodelist) {
|
||||
LOG_INFO("Dismiss NodeList");
|
||||
dismissedFrames.nodelist = true;
|
||||
dismissed = true;
|
||||
LOG_INFO("Hide NodeList");
|
||||
hiddenFrames.nodelist = 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;
|
||||
LOG_INFO("Hide NodeList (Last Heard - EInk)");
|
||||
hiddenFrames.nodelist_lastheard = true;
|
||||
} else if (currentFrame == framesetInfo.positions.nodelist_hopsignal) {
|
||||
LOG_INFO("Dismiss NodeList (Hop / Signal - EInk)");
|
||||
dismissedFrames.nodelist_hopsignal = true;
|
||||
dismissed = true;
|
||||
LOG_INFO("Hide NodeList (Hop / Signal - EInk)");
|
||||
hiddenFrames.nodelist_hopsignal = true;
|
||||
} else if (currentFrame == framesetInfo.positions.nodelinodelist_distancest) {
|
||||
LOG_INFO("Dismiss NodeList (Distance - EInk)");
|
||||
dismissedFrames.nodelist_distance = true;
|
||||
dismissed = true;
|
||||
LOG_INFO("Hide NodeList (Distance - EInk)");
|
||||
hiddenFrames.nodelist_distance = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (dismissed) {
|
||||
setFrames(FOCUS_DEFAULT); // You could also use FOCUS_PRESERVE
|
||||
}
|
||||
setFrames(FOCUS_DEFAULT); // You could also use FOCUS_PRESERVE
|
||||
}
|
||||
|
||||
void Screen::restoreAllFrames()
|
||||
{
|
||||
dismissedFrames.textMessage = false;
|
||||
dismissedFrames.waypoint = false;
|
||||
dismissedFrames.wifi = false;
|
||||
dismissedFrames.system = false;
|
||||
dismissedFrames.home = false;
|
||||
dismissedFrames.clock = false;
|
||||
hiddenFrames.textMessage = false;
|
||||
hiddenFrames.waypoint = false;
|
||||
hiddenFrames.wifi = false;
|
||||
hiddenFrames.system = false;
|
||||
hiddenFrames.home = false;
|
||||
hiddenFrames.clock = false;
|
||||
#ifndef USE_EINK
|
||||
dismissedFrames.nodelist = false;
|
||||
hiddenFrames.nodelist = false;
|
||||
#endif
|
||||
#ifdef USE_EINK
|
||||
dismissedFrames.nodelist_lastheard = false;
|
||||
dismissedFrames.nodelist_hopsignal = false;
|
||||
dismissedFrames.nodelist_distance = false;
|
||||
hiddenFrames.nodelist_lastheard = false;
|
||||
hiddenFrames.nodelist_hopsignal = false;
|
||||
hiddenFrames.nodelist_distance = false;
|
||||
#endif
|
||||
#if HAS_GPS
|
||||
dismissedFrames.nodelist_bearings = false;
|
||||
dismissedFrames.gps = false;
|
||||
hiddenFrames.nodelist_bearings = false;
|
||||
hiddenFrames.gps = false;
|
||||
#endif
|
||||
dismissedFrames.lora = false;
|
||||
hiddenFrames.lora = false;
|
||||
setFrames(FOCUS_DEFAULT);
|
||||
}
|
||||
|
||||
@ -1327,7 +1311,7 @@ int Screen::handleTextMessage(const meshtastic_MeshPacket *packet)
|
||||
// Outgoing message (likely sent from phone)
|
||||
devicestate.has_rx_text_message = false;
|
||||
memset(&devicestate.rx_text_message, 0, sizeof(devicestate.rx_text_message));
|
||||
dismissedFrames.textMessage = true;
|
||||
hiddenFrames.textMessage = true;
|
||||
hasUnreadMessage = false; // Clear unread state when user replies
|
||||
|
||||
setFrames(FOCUS_PRESERVE); // Stay on same frame, silently update frame list
|
||||
|
@ -591,7 +591,7 @@ class Screen : public concurrency::OSThread
|
||||
void setSSLFrames();
|
||||
|
||||
// Dismiss the currently focussed frame, if possible (e.g. text message, waypoint)
|
||||
void dismissCurrentFrame();
|
||||
void hideCurrentFrame();
|
||||
|
||||
// Restore all Frames
|
||||
void restoreAllFrames();
|
||||
@ -674,7 +674,7 @@ class Screen : public concurrency::OSThread
|
||||
uint8_t frameCount = 0;
|
||||
} framesetInfo;
|
||||
|
||||
struct DismissedFrames {
|
||||
struct hiddenFrames {
|
||||
bool textMessage = false;
|
||||
bool waypoint = false;
|
||||
bool wifi = false;
|
||||
@ -694,7 +694,7 @@ class Screen : public concurrency::OSThread
|
||||
bool gps = false;
|
||||
#endif
|
||||
bool lora = false;
|
||||
} dismissedFrames;
|
||||
} hiddenFrames;
|
||||
|
||||
/// Try to start drawing ASAP
|
||||
void setFastFramerate();
|
||||
|
@ -25,8 +25,8 @@ uint8_t test_count = 0;
|
||||
|
||||
void menuHandler::loraMenu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Back", "Region Picker", "Dismiss Frame"};
|
||||
enum optionsNumbers { Back = 0, lora_picker = 1, DismissCurrentFrame = 2 };
|
||||
static const char *optionsArray[] = {"Back", "Region Picker", "Hide Frame"};
|
||||
enum optionsNumbers { Back = 0, lora_picker = 1, hideCurrentFrame = 2 };
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "LoRa Actions";
|
||||
bannerOptions.optionsArrayPtr = optionsArray;
|
||||
@ -35,8 +35,8 @@ void menuHandler::loraMenu()
|
||||
if (selected == Back) {
|
||||
menuHandler::menuQueue = menuHandler::clock_menu;
|
||||
screen->runNow();
|
||||
} else if (selected == DismissCurrentFrame) {
|
||||
menuHandler::menuQueue = menuHandler::DismissCurrentFrame;
|
||||
} else if (selected == hideCurrentFrame) {
|
||||
menuHandler::menuQueue = menuHandler::hideCurrentFrame;
|
||||
}
|
||||
};
|
||||
screen->showOverlayBanner(bannerOptions);
|
||||
@ -234,8 +234,8 @@ void menuHandler::TZPicker()
|
||||
|
||||
void menuHandler::clockMenu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Back", "Clock Face", "Time Format", "Timezone", "Dismiss Frame"};
|
||||
enum optionsNumbers { Back = 0, Clock = 1, Time = 2, Timezone = 3, DismissCurrentFrame = 4 };
|
||||
static const char *optionsArray[] = {"Back", "Clock Face", "Time Format", "Timezone", "Hide Frame"};
|
||||
enum optionsNumbers { Back = 0, Clock = 1, Time = 2, Timezone = 3, hideCurrentFrame = 4 };
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "Clock Action";
|
||||
bannerOptions.optionsArrayPtr = optionsArray;
|
||||
@ -250,8 +250,8 @@ void menuHandler::clockMenu()
|
||||
} else if (selected == Timezone) {
|
||||
menuHandler::menuQueue = menuHandler::TZ_picker;
|
||||
screen->runNow();
|
||||
} else if (selected == DismissCurrentFrame) {
|
||||
menuHandler::menuQueue = menuHandler::DismissCurrentFrame;
|
||||
} else if (selected == hideCurrentFrame) {
|
||||
menuHandler::menuQueue = menuHandler::hideCurrentFrame;
|
||||
}
|
||||
};
|
||||
screen->showOverlayBanner(bannerOptions);
|
||||
@ -281,7 +281,7 @@ void menuHandler::messageResponseMenu()
|
||||
bannerOptions.optionsCount = options;
|
||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||
if (selected == Dismiss) {
|
||||
screen->dismissCurrentFrame();
|
||||
screen->hideCurrentFrame();
|
||||
} else if (selected == Preset) {
|
||||
if (devicestate.rx_text_message.to == NODENUM_BROADCAST) {
|
||||
cannedMessageModule->LaunchWithDestination(NODENUM_BROADCAST, devicestate.rx_text_message.channel);
|
||||
@ -420,8 +420,8 @@ void menuHandler::systemBaseMenu()
|
||||
optionsEnumArray[options++] = Test;
|
||||
}
|
||||
|
||||
// optionsArray[options] = "Dismiss Frame";
|
||||
// optionsEnumArray[options++] = DismissCurrentFrame;
|
||||
// optionsArray[options] = "Hide Frame";
|
||||
// optionsEnumArray[options++] = hideCurrentFrame;
|
||||
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "System Action";
|
||||
@ -445,7 +445,7 @@ void menuHandler::systemBaseMenu()
|
||||
menuHandler::menuQueue = menuHandler::test_menu;
|
||||
screen->runNow();
|
||||
} else if (selected == DismissFrame) {
|
||||
menuHandler::menuQueue = menuHandler::DismissCurrentFrame;
|
||||
menuHandler::menuQueue = menuHandler::hideCurrentFrame;
|
||||
screen->runNow();
|
||||
} else if (selected == Back && !test_enabled) {
|
||||
test_count++;
|
||||
@ -493,7 +493,7 @@ void menuHandler::positionBaseMenu()
|
||||
{
|
||||
enum optionsNumbers { Back, GPSToggle, CompassMenu, CompassCalibrate, DismissFrame, enumEnd };
|
||||
|
||||
static const char *optionsArray[enumEnd] = {"Back", "GPS Toggle", "Compass", "Dismiss Frame"};
|
||||
static const char *optionsArray[enumEnd] = {"Back", "GPS Toggle", "Compass", "Hide Frame"};
|
||||
static int optionsEnumArray[enumEnd] = {Back, GPSToggle, CompassMenu, DismissFrame};
|
||||
int options = 4;
|
||||
|
||||
@ -516,7 +516,7 @@ void menuHandler::positionBaseMenu()
|
||||
} else if (selected == CompassCalibrate) {
|
||||
accelerometerThread->calibrate(30);
|
||||
} else if (selected == DismissFrame) {
|
||||
menuQueue = DismissCurrentFrame;
|
||||
menuQueue = hideCurrentFrame;
|
||||
screen->runNow();
|
||||
}
|
||||
};
|
||||
@ -526,7 +526,7 @@ void menuHandler::positionBaseMenu()
|
||||
void menuHandler::nodeListMenu()
|
||||
{
|
||||
enum optionsNumbers { Back, Favorite, Verify, Reset, DismissFrame };
|
||||
static const char *optionsArray[] = {"Back", "Add Favorite", "Key Verification", "Reset NodeDB", "Dismiss Frame"};
|
||||
static const char *optionsArray[] = {"Back", "Add Favorite", "Key Verification", "Reset NodeDB", "Hide Frame"};
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "Node Action";
|
||||
bannerOptions.optionsArrayPtr = optionsArray;
|
||||
@ -542,7 +542,7 @@ void menuHandler::nodeListMenu()
|
||||
menuQueue = reset_node_db_menu;
|
||||
screen->runNow();
|
||||
} else if (selected == DismissFrame) {
|
||||
menuQueue = DismissCurrentFrame;
|
||||
menuQueue = hideCurrentFrame;
|
||||
screen->runNow();
|
||||
}
|
||||
};
|
||||
@ -1106,16 +1106,16 @@ void menuHandler::keyVerificationFinalPrompt()
|
||||
}
|
||||
}
|
||||
|
||||
void menuHandler::DismissCurrentFrame_menu()
|
||||
void menuHandler::hideCurrentFrame_menu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Cancel", "Confirm"};
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "Dismiss Current Frame?";
|
||||
bannerOptions.message = "Hide Current Frame?";
|
||||
bannerOptions.optionsArrayPtr = optionsArray;
|
||||
bannerOptions.optionsCount = 2;
|
||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||
if (selected == 1) {
|
||||
screen->dismissCurrentFrame();
|
||||
screen->hideCurrentFrame();
|
||||
}
|
||||
};
|
||||
screen->showOverlayBanner(bannerOptions);
|
||||
@ -1125,7 +1125,7 @@ void menuHandler::RestoreAllFrames_menu()
|
||||
{
|
||||
static const char *optionsArray[] = {"Cancel", "Confirm"};
|
||||
BannerOverlayOptions bannerOptions;
|
||||
bannerOptions.message = "Restore All Frames?";
|
||||
bannerOptions.message = "Show All Frames?";
|
||||
bannerOptions.optionsArrayPtr = optionsArray;
|
||||
bannerOptions.optionsCount = 2;
|
||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||
@ -1226,8 +1226,8 @@ void menuHandler::handleMenuSwitch(OLEDDisplay *display)
|
||||
case power_menu:
|
||||
powerMenu();
|
||||
break;
|
||||
case DismissCurrentFrame:
|
||||
DismissCurrentFrame_menu();
|
||||
case hideCurrentFrame:
|
||||
hideCurrentFrame_menu();
|
||||
break;
|
||||
case RestoreAllFrames:
|
||||
RestoreAllFrames_menu();
|
||||
|
@ -37,7 +37,7 @@ class menuHandler
|
||||
key_verification_init,
|
||||
key_verification_final_prompt,
|
||||
throttle_message,
|
||||
DismissCurrentFrame,
|
||||
hideCurrentFrame,
|
||||
RestoreAllFrames
|
||||
};
|
||||
static screenMenus menuQueue;
|
||||
@ -74,7 +74,7 @@ class menuHandler
|
||||
static void notificationsMenu();
|
||||
static void screenOptionsMenu();
|
||||
static void powerMenu();
|
||||
static void DismissCurrentFrame_menu();
|
||||
static void hideCurrentFrame_menu();
|
||||
static void RestoreAllFrames_menu();
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user