aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp/screens/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/displayapp/screens/settings')
-rw-r--r--src/displayapp/screens/settings/SettingDisplay.cpp14
-rw-r--r--src/displayapp/screens/settings/SettingDisplay.h2
2 files changed, 13 insertions, 3 deletions
diff --git a/src/displayapp/screens/settings/SettingDisplay.cpp b/src/displayapp/screens/settings/SettingDisplay.cpp
index bd533e67..760f1e9e 100644
--- a/src/displayapp/screens/settings/SettingDisplay.cpp
+++ b/src/displayapp/screens/settings/SettingDisplay.cpp
@@ -15,7 +15,7 @@ namespace {
}
}
-constexpr std::array<uint16_t, 6> SettingDisplay::options;
+constexpr std::array<uint16_t, 7> SettingDisplay::options;
SettingDisplay::SettingDisplay(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController)
: app {app}, settingsController {settingsController} {
@@ -46,7 +46,11 @@ SettingDisplay::SettingDisplay(Pinetime::Applications::DisplayApp* app, Pinetime
char buffer[4];
for (unsigned int i = 0; i < options.size(); i++) {
cbOption[i] = lv_checkbox_create(container1, nullptr);
- snprintf(buffer, sizeof(buffer), "%2" PRIu16 "s", options[i] / 1000);
+ if (options[i] == 0) {
+ sprintf(buffer, "%s", "Always On");
+ } else {
+ sprintf(buffer, "%2ds", options[i] / 1000);
+ }
lv_checkbox_set_text(cbOption[i], buffer);
cbOption[i]->user_data = this;
lv_obj_set_event_cb(cbOption[i], event_handler);
@@ -64,6 +68,12 @@ SettingDisplay::~SettingDisplay() {
}
void SettingDisplay::UpdateSelected(lv_obj_t* object, lv_event_t event) {
+ if (settingsController.GetScreenTimeOut() == 0) {
+ settingsController.SetAlwaysOnDisplay(true);
+ } else {
+ settingsController.SetAlwaysOnDisplay(false);
+ }
+
if (event == LV_EVENT_CLICKED) {
for (unsigned int i = 0; i < options.size(); i++) {
if (object == cbOption[i]) {
diff --git a/src/displayapp/screens/settings/SettingDisplay.h b/src/displayapp/screens/settings/SettingDisplay.h
index 64212c02..a4370463 100644
--- a/src/displayapp/screens/settings/SettingDisplay.h
+++ b/src/displayapp/screens/settings/SettingDisplay.h
@@ -21,7 +21,7 @@ namespace Pinetime {
private:
DisplayApp* app;
- static constexpr std::array<uint16_t, 6> options = {5000, 7000, 10000, 15000, 20000, 30000};
+ static constexpr std::array<uint16_t, 7> options = {5000, 7000, 10000, 15000, 20000, 30000, 0};
Controllers::Settings& settingsController;
lv_obj_t* cbOption[options.size()];