Skip to content

Commit 15c3807

Browse files
committed
Adds enum class for chimes option
1 parent 7a0f72e commit 15c3807

3 files changed

Lines changed: 21 additions & 12 deletions

File tree

src/components/settings/Settings.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ namespace Pinetime {
1111
public:
1212
enum class ClockType : uint8_t { H24, H12 };
1313
enum class Notification : uint8_t { ON, OFF };
14+
enum class ChimesOption : uint8_t { None, Hours, HalfHours };
1415
enum class WakeUpMode : uint8_t {
1516
SingleTap = 0,
1617
DoubleTap = 1,
@@ -40,14 +41,14 @@ namespace Pinetime {
4041
return settings.clockFace;
4142
};
4243

43-
void SetChimesState(uint8_t state) {
44-
if (state != settings.chimesState) {
44+
void SetChimeOption(ChimesOption chimeOption) {
45+
if (chimeOption != settings.chimesOption) {
4546
settingsChanged = true;
4647
}
47-
settings.chimesState = state;
48+
settings.chimesOption = chimeOption;
4849
};
49-
uint8_t GetChimesState() const {
50-
return settings.chimesState;
50+
ChimesOption GetChimeOption() const {
51+
return settings.chimesOption;
5152
};
5253

5354
void SetPTSColorTime(Colors colorTime) {
@@ -182,7 +183,7 @@ namespace Pinetime {
182183
Notification notificationStatus = Notification::ON;
183184

184185
uint8_t clockFace = 0;
185-
uint8_t chimesState = 0;
186+
ChimesOption chimesOption = ChimesOption::None;
186187

187188
PineTimeStyle PTS;
188189

src/displayapp/screens/settings/SettingChimes.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ SettingChimes::SettingChimes(Pinetime::Applications::DisplayApp* app, Pinetime::
4444
lv_checkbox_set_text_static(cbOption[optionsTotal], " Off");
4545
cbOption[optionsTotal]->user_data = this;
4646
lv_obj_set_event_cb(cbOption[optionsTotal], event_handler);
47-
if (settingsController.GetChimesState() == 0) {
47+
if (settingsController.GetChimeOption() == Controllers::Settings::ChimesOption::None) {
4848
lv_checkbox_set_checked(cbOption[optionsTotal], true);
4949
}
5050

@@ -53,7 +53,7 @@ SettingChimes::SettingChimes(Pinetime::Applications::DisplayApp* app, Pinetime::
5353
lv_checkbox_set_text_static(cbOption[optionsTotal], " Every hour");
5454
cbOption[optionsTotal]->user_data = this;
5555
lv_obj_set_event_cb(cbOption[optionsTotal], event_handler);
56-
if (settingsController.GetChimesState() == 1) {
56+
if (settingsController.GetChimeOption() == Controllers::Settings::ChimesOption::Hours) {
5757
lv_checkbox_set_checked(cbOption[optionsTotal], true);
5858
}
5959

@@ -62,7 +62,7 @@ SettingChimes::SettingChimes(Pinetime::Applications::DisplayApp* app, Pinetime::
6262
lv_checkbox_set_text_static(cbOption[optionsTotal], " Every 30 mins");
6363
cbOption[optionsTotal]->user_data = this;
6464
lv_obj_set_event_cb(cbOption[optionsTotal], event_handler);
65-
if (settingsController.GetChimesState() == 2) {
65+
if (settingsController.GetChimeOption() == Controllers::Settings::ChimesOption::HalfHours) {
6666
lv_checkbox_set_checked(cbOption[optionsTotal], true);
6767
}
6868

@@ -79,7 +79,15 @@ void SettingChimes::UpdateSelected(lv_obj_t* object, lv_event_t event) {
7979
for (uint8_t i = 0; i < optionsTotal; i++) {
8080
if (object == cbOption[i]) {
8181
lv_checkbox_set_checked(cbOption[i], true);
82-
settingsController.SetChimesState(i);
82+
if (i == 0) {
83+
settingsController.SetChimeOption(Controllers::Settings::ChimesOption::None);
84+
}
85+
if (i == 1) {
86+
settingsController.SetChimeOption(Controllers::Settings::ChimesOption::Hours);
87+
}
88+
if (i == 2) {
89+
settingsController.SetChimeOption(Controllers::Settings::ChimesOption::HalfHours);
90+
}
8391
} else {
8492
lv_checkbox_set_checked(cbOption[i], false);
8593
}

src/systemtask/SystemTask.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ void SystemTask::Work() {
405405
break;
406406
case Messages::OnNewHour:
407407
using Pinetime::Controllers::AlarmController;
408-
if (settingsController.GetChimesState() == 1 && alarmController.State() != AlarmController::AlarmState::Alerting) {
408+
if (settingsController.GetChimeOption() == Controllers::Settings::ChimesOption::Hours && alarmController.State() != AlarmController::AlarmState::Alerting) {
409409
if (isSleeping && !isWakingUp) {
410410
GoToRunning();
411411
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock);
@@ -415,7 +415,7 @@ void SystemTask::Work() {
415415
break;
416416
case Messages::OnNewHalfHour:
417417
using Pinetime::Controllers::AlarmController;
418-
if (settingsController.GetChimesState() == 2 && alarmController.State() != AlarmController::AlarmState::Alerting) {
418+
if (settingsController.GetChimeOption() == Controllers::Settings::ChimesOption::HalfHours && alarmController.State() != AlarmController::AlarmState::Alerting) {
419419
if (isSleeping && !isWakingUp) {
420420
GoToRunning();
421421
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock);

0 commit comments

Comments
 (0)