diff options
author | Florian <florian@florian-thinkpad.local> | 2021-06-11 01:15:32 +0200 |
---|---|---|
committer | Florian <florian@florian-thinkpad.local> | 2021-06-11 01:15:32 +0200 |
commit | 049174bd3535d980a2744cbf035e1e33d33b5e39 (patch) | |
tree | ab2e485cddc2212f5500293978ac62fb891b49f3 | |
parent | 79f0fcb07aa80eb70385223272e29f2ba5657bc8 (diff) |
replace ScreenList with a single screen in Clock. This removes the tap to switch feature
-rw-r--r-- | src/displayapp/screens/Clock.cpp | 39 | ||||
-rw-r--r-- | src/displayapp/screens/Clock.h | 4 |
2 files changed, 23 insertions, 20 deletions
diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp index 14299840..9962a9f4 100644 --- a/src/displayapp/screens/Clock.cpp +++ b/src/displayapp/screens/Clock.cpp @@ -32,22 +32,25 @@ Clock::Clock(DisplayApp* app, notificatioManager {notificatioManager}, settingsController {settingsController}, heartRateController {heartRateController}, - motionController {motionController}, - screens {app, - settingsController.GetClockFace(), - { - [this]() -> std::unique_ptr<Screen> { - return WatchFaceDigitalScreen(); - }, - [this]() -> std::unique_ptr<Screen> { - return WatchFaceAnalogScreen(); - }, - // Examples for more watch faces - //[this]() -> std::unique_ptr<Screen> { return WatchFaceMinimalScreen(); }, - //[this]() -> std::unique_ptr<Screen> { return WatchFaceCustomScreen(); } - }, - Screens::ScreenListModes::LongPress} { - + motionController {motionController} { + + switch (settingsController.GetClockFace()) { + case 0: + screen = WatchFaceDigitalScreen(); + break; + case 1: + screen = WatchFaceAnalogScreen(); + break; + /* + // Examples for more watch faces + case 2: + screen = WatchFaceMinimalScreen(); + break; + case 3: + screen = WatchFaceCustomScreen(); + break; + */ + } settingsController.SetAppMenu(0); } @@ -56,12 +59,12 @@ Clock::~Clock() { } bool Clock::Refresh() { - screens.Refresh(); + screen->Refresh(); return running; } bool Clock::OnTouchEvent(Pinetime::Applications::TouchEvents event) { - return screens.OnTouchEvent(event); + return screen->OnTouchEvent(event); } std::unique_ptr<Screen> Clock::WatchFaceDigitalScreen() { diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h index 9879985f..174c73b7 100644 --- a/src/displayapp/screens/Clock.h +++ b/src/displayapp/screens/Clock.h @@ -4,8 +4,8 @@ #include <chrono> #include <cstdint> #include <memory> +#include <components/heartrate/HeartRateController.h> #include "Screen.h" -#include "ScreenList.h" #include "components/datetime/DateTimeController.h" namespace Pinetime { @@ -47,7 +47,7 @@ namespace Pinetime { Controllers::HeartRateController& heartRateController; Controllers::MotionController& motionController; - ScreenList<2> screens; + std::unique_ptr<Screen> screen; std::unique_ptr<Screen> WatchFaceDigitalScreen(); std::unique_ptr<Screen> WatchFaceAnalogScreen(); |