diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6f022e46..a6e7ad56 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -604,6 +604,7 @@ set(INCLUDE_FILES displayapp/screens/ApplicationList.h displayapp/screens/CheckboxList.h displayapp/Apps.h + displayapp/WatchFaces.h displayapp/screens/Notifications.h displayapp/screens/HeartRate.h displayapp/screens/Metronome.h diff --git a/src/components/settings/Settings.h b/src/components/settings/Settings.h index d1e71656..0a55c08a 100644 --- a/src/components/settings/Settings.h +++ b/src/components/settings/Settings.h @@ -3,6 +3,7 @@ #include #include "components/brightness/BrightnessController.h" #include "components/fs/FS.h" +#include "displayapp/WatchFaces.h" namespace Pinetime { namespace Controllers { @@ -61,15 +62,15 @@ namespace Pinetime { void Init(); void SaveSettings(); - void SetClockFace(uint8_t face) { - if (face != settings.clockFace) { + void SetWatchFace(Pinetime::Applications::WatchFace face) { + if (face != settings.watchFace) { settingsChanged = true; } - settings.clockFace = face; + settings.watchFace = face; }; - uint8_t GetClockFace() const { - return settings.clockFace; + Pinetime::Applications::WatchFace GetWatchFace() const { + return settings.watchFace; }; void SetChimeOption(ChimesOption chimeOption) { @@ -276,7 +277,7 @@ namespace Pinetime { ClockType clockType = ClockType::H24; Notification notificationStatus = Notification::On; - uint8_t clockFace = 0; + Pinetime::Applications::WatchFace watchFace = Pinetime::Applications::WatchFace::Digital; ChimesOption chimesOption = ChimesOption::None; PineTimeStyle PTS; diff --git a/src/displayapp/WatchFaces.h b/src/displayapp/WatchFaces.h new file mode 100644 index 00000000..2982347a --- /dev/null +++ b/src/displayapp/WatchFaces.h @@ -0,0 +1,14 @@ +#pragma once + +namespace Pinetime { + namespace Applications { + enum class WatchFace : uint8_t { + Digital = 0, + Analog = 1, + PineTimeStyle = 2, + Terminal = 3, + Infineat = 4, + CasioStyleG7710 = 5, + }; + } +} diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp index a03dc68b..ce70f23f 100644 --- a/src/displayapp/screens/Clock.cpp +++ b/src/displayapp/screens/Clock.cpp @@ -15,6 +15,7 @@ #include "displayapp/screens/WatchFaceCasioStyleG7710.h" using namespace Pinetime::Applications::Screens; +using namespace Pinetime::Applications; Clock::Clock(Controllers::DateTime& dateTimeController, const Controllers::Battery& batteryController, @@ -33,23 +34,23 @@ Clock::Clock(Controllers::DateTime& dateTimeController, motionController {motionController}, filesystem {filesystem}, screen {[this, &settingsController]() { - switch (settingsController.GetClockFace()) { - case 0: + switch (settingsController.GetWatchFace()) { + case WatchFace::Digital: return WatchFaceDigitalScreen(); break; - case 1: + case WatchFace::Analog: return WatchFaceAnalogScreen(); break; - case 2: + case WatchFace::PineTimeStyle: return WatchFacePineTimeStyleScreen(); break; - case 3: + case WatchFace::Terminal: return WatchFaceTerminalScreen(); break; - case 4: + case WatchFace::Infineat: return WatchFaceInfineatScreen(); break; - case 5: + case WatchFace::CasioStyleG7710: return WatchFaceCasioStyleG7710(); break; } diff --git a/src/displayapp/screens/settings/SettingWatchFace.cpp b/src/displayapp/screens/settings/SettingWatchFace.cpp index 285efa72..5498d067 100644 --- a/src/displayapp/screens/settings/SettingWatchFace.cpp +++ b/src/displayapp/screens/settings/SettingWatchFace.cpp @@ -3,6 +3,7 @@ #include "displayapp/DisplayApp.h" #include "displayapp/screens/Screen.h" #include "components/settings/Settings.h" +#include "displayapp/WatchFaces.h" using namespace Pinetime::Applications::Screens; @@ -47,9 +48,9 @@ std::unique_ptr SettingWatchFace::CreateScreen(unsigned int screenNum) c nScreens, title, symbol, - settingsController.GetClockFace(), - [&settings = settingsController](uint32_t clockFace) { - settings.SetClockFace(clockFace); + static_cast(settingsController.GetWatchFace()), + [&settings = settingsController](uint32_t index) { + settings.SetWatchFace(static_cast(index)); settings.SaveSettings(); }, watchfacesOnThisScreen);