From 049174bd3535d980a2744cbf035e1e33d33b5e39 Mon Sep 17 00:00:00 2001 From: Florian Date: Fri, 11 Jun 2021 01:15:32 +0200 Subject: replace ScreenList with a single screen in Clock. This removes the tap to switch feature --- src/displayapp/screens/Clock.cpp | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) (limited to 'src/displayapp/screens/Clock.cpp') 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 { - return WatchFaceDigitalScreen(); - }, - [this]() -> std::unique_ptr { - return WatchFaceAnalogScreen(); - }, - // Examples for more watch faces - //[this]() -> std::unique_ptr { return WatchFaceMinimalScreen(); }, - //[this]() -> std::unique_ptr { 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 Clock::WatchFaceDigitalScreen() { -- cgit v1.2.3-70-g09d2 From d7962617e47c221b6274af53b9488e5280c8d2d8 Mon Sep 17 00:00:00 2001 From: Jean-François Milants Date: Sat, 12 Jun 2021 14:21:29 +0200 Subject: Clock : initialize the actual clockface in initialization list instead of in the core of the ctro(). --- src/displayapp/screens/Clock.cpp | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) (limited to 'src/displayapp/screens/Clock.cpp') diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp index 9962a9f4..05e47a39 100644 --- a/src/displayapp/screens/Clock.cpp +++ b/src/displayapp/screens/Clock.cpp @@ -32,25 +32,18 @@ Clock::Clock(DisplayApp* app, notificatioManager {notificatioManager}, settingsController {settingsController}, heartRateController {heartRateController}, - 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; - */ - } + motionController {motionController}, + screen {[this, &settingsController]() { + switch (settingsController.GetClockFace()) { + case 0: + return WatchFaceDigitalScreen(); + break; + case 1: + return WatchFaceAnalogScreen(); + break; + } + return WatchFaceDigitalScreen(); + }()} { settingsController.SetAppMenu(0); } -- cgit v1.2.3-70-g09d2