summaryrefslogtreecommitdiff
path: root/src/displayapp/screens/Clock.cpp
diff options
context:
space:
mode:
authorRiku Isokoski <riksu9000@gmail.com>2021-08-01 08:47:26 (GMT)
committerRiku Isokoski <riksu9000@gmail.com>2021-08-01 08:47:26 (GMT)
commit5bdef365f2b8f8e0ba06d04216749205a5bba50d (patch)
treeb0260cd863c37ca1cee57fd813647706e2d07f77 /src/displayapp/screens/Clock.cpp
parent9e8dd9a1e63523f4e3ed322978e5b5e079c50375 (diff)
parent514481ef7f9c71ad816b31d979c6ab39ce9380dd (diff)
Merge branch 'develop' into HEAD
Diffstat (limited to 'src/displayapp/screens/Clock.cpp')
-rw-r--r--src/displayapp/screens/Clock.cpp44
1 files changed, 27 insertions, 17 deletions
diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp
index 1429984..e068497 100644
--- a/src/displayapp/screens/Clock.cpp
+++ b/src/displayapp/screens/Clock.cpp
@@ -14,6 +14,7 @@
#include "../DisplayApp.h"
#include "WatchFaceDigital.h"
#include "WatchFaceAnalog.h"
+#include "PineTimeStyle.h"
using namespace Pinetime::Applications::Screens;
@@ -33,21 +34,20 @@ Clock::Clock(DisplayApp* app,
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} {
-
+ screen {[this, &settingsController]() {
+ switch (settingsController.GetClockFace()) {
+ case 0:
+ return WatchFaceDigitalScreen();
+ break;
+ case 1:
+ return WatchFaceAnalogScreen();
+ break;
+ case 2:
+ return PineTimeStyleScreen();
+ break;
+ }
+ return WatchFaceDigitalScreen();
+ }()} {
settingsController.SetAppMenu(0);
}
@@ -56,12 +56,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() {
@@ -80,6 +80,16 @@ std::unique_ptr<Screen> Clock::WatchFaceAnalogScreen() {
app, dateTimeController, batteryController, bleController, notificatioManager, settingsController);
}
+std::unique_ptr<Screen> Clock::PineTimeStyleScreen() {
+ return std::make_unique<Screens::PineTimeStyle>(app,
+ dateTimeController,
+ batteryController,
+ bleController,
+ notificatioManager,
+ settingsController,
+ motionController);
+}
+
/*
// Examples for more watch faces
std::unique_ptr<Screen> Clock::WatchFaceMinimalScreen() {