mirror of
https://github.com/meshtastic/firmware.git
synced 2025-07-31 19:05:44 +00:00
Dismiss Clock Frame
This commit is contained in:
parent
7e067f5bf5
commit
e6be655f66
@ -882,10 +882,12 @@ void Screen::setFrames(FrameFocus focus)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(DISPLAY_CLOCK_FRAME)
|
#if defined(DISPLAY_CLOCK_FRAME)
|
||||||
|
if (!dismissedFrames.clock) {
|
||||||
fsi.positions.clock = numframes;
|
fsi.positions.clock = numframes;
|
||||||
normalFrames[numframes++] = uiconfig.is_clockface_analog ? graphics::ClockRenderer::drawAnalogClockFrame
|
normalFrames[numframes++] = uiconfig.is_clockface_analog ? graphics::ClockRenderer::drawAnalogClockFrame
|
||||||
: graphics::ClockRenderer::drawDigitalClockFrame;
|
: graphics::ClockRenderer::drawDigitalClockFrame;
|
||||||
indicatorIcons.push_back(digital_icon_clock);
|
indicatorIcons.push_back(digital_icon_clock);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Declare this early so it’s available in FOCUS_PRESERVE block
|
// Declare this early so it’s available in FOCUS_PRESERVE block
|
||||||
@ -950,10 +952,12 @@ void Screen::setFrames(FrameFocus focus)
|
|||||||
indicatorIcons.push_back(icon_system);
|
indicatorIcons.push_back(icon_system);
|
||||||
}
|
}
|
||||||
#if !defined(DISPLAY_CLOCK_FRAME)
|
#if !defined(DISPLAY_CLOCK_FRAME)
|
||||||
|
if (!dismissedFrames.clock) {
|
||||||
fsi.positions.clock = numframes;
|
fsi.positions.clock = numframes;
|
||||||
normalFrames[numframes++] = uiconfig.is_clockface_analog ? graphics::ClockRenderer::drawAnalogClockFrame
|
normalFrames[numframes++] = uiconfig.is_clockface_analog ? graphics::ClockRenderer::drawAnalogClockFrame
|
||||||
: graphics::ClockRenderer::drawDigitalClockFrame;
|
: graphics::ClockRenderer::drawDigitalClockFrame;
|
||||||
indicatorIcons.push_back(digital_icon_clock);
|
indicatorIcons.push_back(digital_icon_clock);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_WIFI && !defined(ARCH_PORTDUINO)
|
#if HAS_WIFI && !defined(ARCH_PORTDUINO)
|
||||||
@ -1115,6 +1119,10 @@ void Screen::dismissCurrentFrame()
|
|||||||
LOG_INFO("Dismiss Memory");
|
LOG_INFO("Dismiss Memory");
|
||||||
dismissedFrames.system = true;
|
dismissedFrames.system = true;
|
||||||
dismissed = true;
|
dismissed = true;
|
||||||
|
} else if (currentFrame == framesetInfo.positions.clock) {
|
||||||
|
LOG_INFO("Dismiss Clock");
|
||||||
|
dismissedFrames.clock = true;
|
||||||
|
dismissed = true;
|
||||||
#if HAS_GPS
|
#if HAS_GPS
|
||||||
} else if (currentFrame == framesetInfo.positions.nodelist_bearings) {
|
} else if (currentFrame == framesetInfo.positions.nodelist_bearings) {
|
||||||
LOG_INFO("Dismiss Bearings");
|
LOG_INFO("Dismiss Bearings");
|
||||||
|
@ -677,6 +677,7 @@ class Screen : public concurrency::OSThread
|
|||||||
bool wifi = false;
|
bool wifi = false;
|
||||||
bool system = false;
|
bool system = false;
|
||||||
bool home = false;
|
bool home = false;
|
||||||
|
bool clock = false;
|
||||||
#ifndef USE_EINK
|
#ifndef USE_EINK
|
||||||
bool nodelist = false;
|
bool nodelist = false;
|
||||||
#endif
|
#endif
|
||||||
|
@ -234,12 +234,12 @@ void menuHandler::TZPicker()
|
|||||||
|
|
||||||
void menuHandler::clockMenu()
|
void menuHandler::clockMenu()
|
||||||
{
|
{
|
||||||
static const char *optionsArray[] = {"Back", "Clock Face", "Time Format", "Timezone"};
|
static const char *optionsArray[] = {"Back", "Clock Face", "Time Format", "Timezone", "Dismiss Frame"};
|
||||||
enum optionsNumbers { Back = 0, Clock = 1, Time = 2, Timezone = 3 };
|
enum optionsNumbers { Back = 0, Clock = 1, Time = 2, Timezone = 3, DismissCurrentFrame = 4 };
|
||||||
BannerOverlayOptions bannerOptions;
|
BannerOverlayOptions bannerOptions;
|
||||||
bannerOptions.message = "Clock Action";
|
bannerOptions.message = "Clock Action";
|
||||||
bannerOptions.optionsArrayPtr = optionsArray;
|
bannerOptions.optionsArrayPtr = optionsArray;
|
||||||
bannerOptions.optionsCount = 4;
|
bannerOptions.optionsCount = 5;
|
||||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||||
if (selected == Clock) {
|
if (selected == Clock) {
|
||||||
menuHandler::menuQueue = menuHandler::clock_face_picker;
|
menuHandler::menuQueue = menuHandler::clock_face_picker;
|
||||||
@ -250,6 +250,8 @@ void menuHandler::clockMenu()
|
|||||||
} else if (selected == Timezone) {
|
} else if (selected == Timezone) {
|
||||||
menuHandler::menuQueue = menuHandler::TZ_picker;
|
menuHandler::menuQueue = menuHandler::TZ_picker;
|
||||||
screen->runNow();
|
screen->runNow();
|
||||||
|
} else if (selected == DismissCurrentFrame) {
|
||||||
|
menuHandler::menuQueue = menuHandler::DismissCurrentFrame;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
screen->showOverlayBanner(bannerOptions);
|
screen->showOverlayBanner(bannerOptions);
|
||||||
|
Loading…
Reference in New Issue
Block a user