aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp/screens/Timer.h
Commit message (Collapse)AuthorAgeFilesLines
* timer: Refactor ringing state managementVictor Kareh2025-12-131-1/+0
| | | | | Consolidate timer ringing logic and use Timer component as single source of truth for expired state.
* Keep screen on during timer buzzingJustScott2025-12-131-2/+5
| | | | | This prevents the motorController from buzzing infinitely while the watch is sleeping.
* timer: Add ringing and counterVictor Kareh2025-12-131-2/+6
| | | | | | | | | The timer app issues a short buzz once and then disappears. There is no trace left that the timer finished or how long ago. This change makes the motor start ringing and presents a timer counter. The timer stops buzzing after 10 seconds, and finally resets after 1 minute.
* navigation: fix greying out the app icon if not enabledHeiko Stuebner2025-07-031-0/+4
| | | | | | | | | | | | | | | | Commit 0aead42fdf51 ("navigation: Add is available (#1847)") added the ability to draw the app icon in grey and in a disabled state when some prerequisits were not met. Only the Navigation app was using this mechanism due to its icons being stored in the external memory and possibly missing. Commit 63e0c4f4efb0 ("Application selection at build time") broke this by always setting the state as true: for (const auto& userApp : userApps) { apps[i++] = Screens::Tile::Applications {userApp.icon, userApp.app, true}; } Fix this by creating an isAvailable() strcuture in the app classes, similar to how the Watchfaces handle the same problem of checking availability.
* remove unused includeLionel Elie Mamane2024-11-251-1/+0
|
* Use DirtyValue for timermark90642024-09-141-0/+3
|
* Fix code formattingJean-François Milants2023-11-191-3/+6
|
* Application selection at build timeJean-François Milants2023-11-191-27/+37
| | | | | | | A list of "user applications" is built at compile time. It contains all the info needed to create the application at runtime (ptr to a create() function) and to display the app in the application menu. All applications declare a TypeTrait with these information. When a new app must be loaded, DisplayApp first check if this app is a System app (in which case it creates it like it did before). If it's not a System app, it looks for the app in the list of User applications and creates it if it found it. Those changes allow to more easily add new app and to select which app must be built into the firmware. Switch to C++20 (and fix a few issues in SpiMaster.cpp and Watchdog.cpp.
* TimerController: Rename to TimerRiku Isokoski2023-04-161-3/+3
|
* screens: Remove unused DisplayApp parametersRiku Isokoski2023-02-251-1/+1
|
* Update clang-tidy configuration and fix some warnings (#1474)Riku Isokoski2022-12-181-3/+2
| | | | | Don't enable coding conventions from unrelated projects. Only enable generic checks.
* Reset timer by long pressing on the button (#1214)Riku Isokoski2022-07-211-4/+17
| | | | | | | | * Reset timer by long pressing on the button * Consider press_lost as released Otherwise the bar would keep increasing if the finger slid off the button
* Extend Counter functionalityRiku Isokoski2022-07-211-2/+2
| | | | Custom fonts, twelve hour mode and Value changed callback.
* Timer: Replace time label with Counter control hiding functionalityRiku Isokoski2022-06-061-1/+0
|
* Use Counter widget in TimerRiku Isokoski2022-06-061-12/+5
|
* Force full screen refresh with a rounder functionRiku Isokoski2022-05-081-1/+0
| | | | | | When the screen switches, the full screen needs to be refreshed for the hardware scrolling to work. This was enforced with backgroundLabels, but is simpler to do with a rounder function.
* Timer App : add background label to ensure that the app will be displayed ↵Jean-François Milants2022-03-281-12/+15
| | | | | | correctly after a full refresh (HW scrolling transition). Code cleaning and rename methods.
* Update includes to to be relative to src directoryReinhold Gschweicher2021-11-151-2/+2
| | | | | | | Don't use relative imports like `../foo.h` as those depend on the relative position of both files. Rather than that use imports relative to the `src` directory, which explicitly is part of the include directories.
* Refresh reworkRiku Isokoski2021-07-191-19/+16
|
* Timer App (#355)Florian2021-05-201-0/+42
* built timer app * Style improvements * making sure buttons stay hidden when the app is reopened and reappear after the timer runs out * more sensible calculations of time deltas. eliminated that mysterious scaling factor * changing the timer icon