2023-01-14 14:50:21 -05:00
|
|
|
#include "displayapp/screens/settings/SettingSetDateTime.h"
|
|
|
|
#include "displayapp/screens/settings/SettingSetDate.h"
|
|
|
|
#include "displayapp/screens/settings/SettingSetTime.h"
|
|
|
|
#include "displayapp/DisplayApp.h"
|
|
|
|
#include "displayapp/screens/ScreenList.h"
|
|
|
|
#include "components/settings/Settings.h"
|
|
|
|
#include "displayapp/widgets/DotIndicator.h"
|
|
|
|
|
|
|
|
using namespace Pinetime::Applications::Screens;
|
|
|
|
|
|
|
|
bool SettingSetDateTime::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
|
|
|
|
return screens.OnTouchEvent(event);
|
|
|
|
}
|
|
|
|
|
|
|
|
SettingSetDateTime::SettingSetDateTime(Pinetime::Applications::DisplayApp* app,
|
|
|
|
Pinetime::Controllers::DateTime& dateTimeController,
|
|
|
|
Pinetime::Controllers::Settings& settingsController)
|
2023-02-22 15:05:37 -05:00
|
|
|
: app {app},
|
2023-01-14 14:50:21 -05:00
|
|
|
dateTimeController {dateTimeController},
|
|
|
|
settingsController {settingsController},
|
|
|
|
screens {app,
|
|
|
|
0,
|
|
|
|
{[this]() -> std::unique_ptr<Screen> {
|
|
|
|
return screenSetDate();
|
|
|
|
},
|
|
|
|
[this]() -> std::unique_ptr<Screen> {
|
|
|
|
return screenSetTime();
|
|
|
|
}},
|
|
|
|
Screens::ScreenListModes::UpDown} {
|
|
|
|
}
|
|
|
|
|
|
|
|
std::unique_ptr<Screen> SettingSetDateTime::screenSetDate() {
|
|
|
|
Widgets::DotIndicator dotIndicator(0, 2);
|
|
|
|
dotIndicator.Create();
|
2023-02-22 15:36:38 -05:00
|
|
|
return std::make_unique<Screens::SettingSetDate>(dateTimeController, *this);
|
2023-01-14 14:50:21 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
std::unique_ptr<Screen> SettingSetDateTime::screenSetTime() {
|
|
|
|
Widgets::DotIndicator dotIndicator(1, 2);
|
|
|
|
dotIndicator.Create();
|
2023-02-22 15:36:38 -05:00
|
|
|
return std::make_unique<Screens::SettingSetTime>(dateTimeController, settingsController, *this);
|
2023-01-14 14:50:21 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
SettingSetDateTime::~SettingSetDateTime() {
|
|
|
|
lv_obj_clean(lv_scr_act());
|
|
|
|
}
|
|
|
|
|
|
|
|
void SettingSetDateTime::Advance() {
|
|
|
|
screens.OnTouchEvent(Pinetime::Applications::TouchEvents::SwipeUp);
|
|
|
|
}
|
|
|
|
|
|
|
|
void SettingSetDateTime::Quit() {
|
|
|
|
running = false;
|
|
|
|
}
|