diff options
| author | Jean-François Milants <jf@codingfield.com> | 2021-04-09 18:47:24 (GMT) |
|---|---|---|
| committer | Jean-François Milants <jf@codingfield.com> | 2021-04-09 18:47:24 (GMT) |
| commit | 63584b6561cbc31095354b06e356f700dcf0e32b (patch) | |
| tree | b8ee17d8bfdc57c3b80b7c918f3431d198939856 /src/displayapp/screens/settings/Settings.cpp | |
| parent | 3934e9bef20c5c2ad393e20cfff3a5a1b0d24569 (diff) | |
| parent | 9096d1db4c6be9f4a2cc8af99a994c219f25108c (diff) | |
Merge branch 'develop' into notification-title
# Conflicts:
# src/displayapp/screens/Notifications.cpp
Diffstat (limited to 'src/displayapp/screens/settings/Settings.cpp')
| -rw-r--r-- | src/displayapp/screens/settings/Settings.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/displayapp/screens/settings/Settings.cpp b/src/displayapp/screens/settings/Settings.cpp new file mode 100644 index 0000000..b282591 --- /dev/null +++ b/src/displayapp/screens/settings/Settings.cpp @@ -0,0 +1,69 @@ +#include "Settings.h" +#include <lvgl/lvgl.h> +#include <array> +#include "displayapp/screens/List.h" +#include "displayapp/Apps.h" +#include "displayapp/DisplayApp.h" +#include "displayapp/screens/Symbols.h" + +using namespace Pinetime::Applications::Screens; + +Settings::Settings( + Pinetime::Applications::DisplayApp *app, + Pinetime::Controllers::Settings &settingsController) : + Screen(app), + settingsController{settingsController}, + screens{app, + settingsController.GetSettingsMenu(), + { + [this]() -> std::unique_ptr<Screen> { return CreateScreen1(); }, + [this]() -> std::unique_ptr<Screen> { return CreateScreen2(); } + }, + Screens::ScreenListModes::UpDown + } {} + +Settings::~Settings() { + lv_obj_clean(lv_scr_act()); +} + +bool Settings::Refresh() { + + if(running) + running = screens.Refresh(); + return running; +} + +bool Settings::OnTouchEvent(Pinetime::Applications::TouchEvents event) { + return screens.OnTouchEvent(event); +} + +std::unique_ptr<Screen> Settings::CreateScreen1() { + + std::array<Screens::List::Applications, 4> applications { + { + {Symbols::sun, "Display", Apps::SettingDisplay}, + {Symbols::clock, "Wake Up", Apps::SettingWakeUp}, + {Symbols::clock, "Time format", Apps::SettingTimeFormat}, + {Symbols::clock, "Watch face", Apps::SettingWatchFace}, + } + + }; + + return std::unique_ptr<Screen>(new Screens::List(0, 2, app, settingsController, applications)); +} + + +std::unique_ptr<Screen> Settings::CreateScreen2() { + + std::array<Screens::List::Applications, 4> applications { + { + {Symbols::batteryHalf, "Battery", Apps::BatteryInfo}, + {Symbols::check, "Firmware", Apps::FirmwareValidation}, + {Symbols::list, "About", Apps::SysInfo}, + {"", "", Apps::None}, + } + + }; + + return std::unique_ptr<Screen>(new Screens::List(1, 2, app, settingsController, applications)); +} |
