From b740ce8adaf6ee29e02e9bdab6291b8d9c40b694 Mon Sep 17 00:00:00 2001 From: joeycastillo Date: Sat, 28 Sep 2024 21:33:05 -0400 Subject: [PATCH] countdown: use long press ALARM to enter settings --- watch-faces/complication/countdown_face.c | 35 ++++++++++++++--------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/watch-faces/complication/countdown_face.c b/watch-faces/complication/countdown_face.c index ac7b2d24..9a51c37b 100644 --- a/watch-faces/complication/countdown_face.c +++ b/watch-faces/complication/countdown_face.c @@ -239,17 +239,13 @@ bool countdown_face_loop(movement_event_t event, movement_settings_t *settings, case EVENT_LIGHT_BUTTON_UP: switch(state->mode) { case cd_running: + case cd_reset: movement_illuminate_led(); break; case cd_paused: reset(state); button_beep(settings); break; - case cd_reset: - state->mode = cd_setting; - movement_request_tick_frequency(4); - button_beep(settings); - break; case cd_setting: state->selection++; if(state->selection >= CD_SELECTIONS) { @@ -286,18 +282,21 @@ bool countdown_face_loop(movement_event_t event, movement_settings_t *settings, break; case EVENT_ALARM_LONG_PRESS: switch(state->mode) { + case cd_reset: + // long press in reset mode enters settings + state->mode = cd_setting; + movement_request_tick_frequency(4); + button_beep(settings); + break; case cd_setting: + // long press in settings mode starts quick ticks for adjusting the time quick_ticks_running = true; movement_request_tick_frequency(8); break; - default: - // Toggle auto-repeat - button_beep(settings); - state->repeat = !state->repeat; - if(state->repeat) - watch_set_indicator(WATCH_INDICATOR_BELL); - else - watch_clear_indicator(WATCH_INDICATOR_BELL); + case cd_running: + case cd_paused: + // do nothing + break; } break; case EVENT_LIGHT_LONG_PRESS: @@ -313,6 +312,14 @@ bool countdown_face_loop(movement_event_t event, movement_settings_t *settings, state->seconds = 0; break; } + } else { + // Toggle auto-repeat + button_beep(settings); + state->repeat = !state->repeat; + if(state->repeat) + watch_set_indicator(WATCH_INDICATOR_BELL); + else + watch_clear_indicator(WATCH_INDICATOR_BELL); } break; case EVENT_ALARM_LONG_UP: @@ -326,8 +333,8 @@ bool countdown_face_loop(movement_event_t event, movement_settings_t *settings, movement_move_to_face(0); break; case EVENT_LOW_ENERGY_UPDATE: - // intentionally squelch the light default event; we only show the light when cd is running case EVENT_LIGHT_BUTTON_DOWN: + // intentionally squelch the light default event; we only show the light when cd is running or reset break; default: movement_default_loop_handler(event, settings);