diff options
| author | Riku Isokoski <riksu9000@gmail.com> | 2022-10-13 21:24:58 +0300 |
|---|---|---|
| committer | JF <JF002@users.noreply.github.com> | 2022-12-18 16:39:34 +0100 |
| commit | bfedf47d1a8ac6d5df1d0ad4d4071323366d22e8 (patch) | |
| tree | ea0c3c019c03b951753777b4a64edd09a3156a7a /src/displayapp/screens/settings/SettingWatchFace.h | |
| parent | 99b5b49993d6d18c9377d8fab5c2306195c546a1 (diff) | |
Optimize SettingWatchFace
Diffstat (limited to 'src/displayapp/screens/settings/SettingWatchFace.h')
| -rw-r--r-- | src/displayapp/screens/settings/SettingWatchFace.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/displayapp/screens/settings/SettingWatchFace.h b/src/displayapp/screens/settings/SettingWatchFace.h index 158397f8..7b8cdcdc 100644 --- a/src/displayapp/screens/settings/SettingWatchFace.h +++ b/src/displayapp/screens/settings/SettingWatchFace.h @@ -8,6 +8,9 @@ #include "components/settings/Settings.h" #include "displayapp/screens/Screen.h" #include "displayapp/screens/Symbols.h" +#include "displayapp/screens/CheckboxList.h" +#include "displayapp/screens/WatchFaceInfineat.h" +#include "displayapp/screens/WatchFaceCasioStyleG7710.h" namespace Pinetime { @@ -22,14 +25,30 @@ namespace Pinetime { bool OnTouchEvent(TouchEvents event) override; private: + auto CreateScreenList() const; + std::unique_ptr<Screen> CreateScreen(unsigned int screenNum) const; + Controllers::Settings& settingsController; Pinetime::Controllers::FS& filesystem; - ScreenList<2> screens; static constexpr const char* title = "Watch face"; static constexpr const char* symbol = Symbols::home; - std::unique_ptr<Screen> CreateScreen1(); - std::unique_ptr<Screen> CreateScreen2(); + + static constexpr int settingsPerScreen = 4; + + // Increment this when more space is needed + static constexpr int nScreens = 2; + + std::array<Screens::CheckboxList::Item, settingsPerScreen * nScreens> watchfaces { + {{"Digital face", true}, + {"Analog face", true}, + {"PineTimeStyle", true}, + {"Terminal", true}, + {"Infineat face", Applications::Screens::WatchFaceInfineat::IsAvailable(filesystem)}, + {"Casio G7710", Applications::Screens::WatchFaceCasioStyleG7710::IsAvailable(filesystem)}, + {"", false}, + {"", false}}}; + ScreenList<nScreens> screens; }; } } |
