55#include " displayapp/DisplayApp.h"
66#include " displayapp/screens/Symbols.h"
77
8- #define POS_X_DAY -72
9- #define POS_X_MONTH 0
10- #define POS_X_YEAR 72
11- #define POS_Y_PLUS -50
12- #define POS_Y_TEXT -6
13- #define POS_Y_MINUS 40
14-
158using namespace Pinetime ::Applications::Screens;
169
1710namespace {
18- static void event_handler (lv_obj_t * obj, lv_event_t event) {
19- SettingSetDate* screen = static_cast <SettingSetDate *>(obj->user_data );
11+ constexpr int16_t POS_X_DAY = -72 ;
12+ constexpr int16_t POS_X_MONTH = 0 ;
13+ constexpr int16_t POS_X_YEAR = 72 ;
14+ constexpr int16_t POS_Y_PLUS = -50 ;
15+ constexpr int16_t POS_Y_TEXT = -6 ;
16+ constexpr int16_t POS_Y_MINUS = 40 ;
17+
18+ void event_handler (lv_obj_t * obj, lv_event_t event) {
19+ auto * screen = static_cast <SettingSetDate *>(obj->user_data );
2020 screen->HandleButtonPress (obj, event);
2121 }
2222}
2323
24- SettingSetDate::SettingSetDate (
25- Pinetime::Applications::DisplayApp *app, Pinetime::Controllers::DateTime &dateTimeController) :
24+ SettingSetDate::SettingSetDate (Pinetime::Applications::DisplayApp *app, Pinetime::Controllers::DateTime &dateTimeController) :
2625 Screen(app),
27- dateTimeController {dateTimeController}
28- {
29- lv_obj_t * title = lv_label_create (lv_scr_act (), NULL );
26+ dateTimeController {dateTimeController} {
27+ lv_obj_t * title = lv_label_create (lv_scr_act (), nullptr );
3028 lv_label_set_text_static (title, " Set current date" );
3129 lv_label_set_align (title, LV_LABEL_ALIGN_CENTER);
3230 lv_obj_align (title, lv_scr_act (), LV_ALIGN_IN_TOP_MID, 15 , 15 );
3331
34- lv_obj_t * icon = lv_label_create (lv_scr_act (), NULL );
32+ lv_obj_t * icon = lv_label_create (lv_scr_act (), nullptr );
3533 lv_obj_set_style_local_text_color (icon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_ORANGE);
3634
3735 lv_label_set_text_static (icon, Symbols::clock);
3836 lv_label_set_align (icon, LV_LABEL_ALIGN_CENTER);
3937 lv_obj_align (icon, title, LV_ALIGN_OUT_LEFT_MID, -10 , 0 );
4038
4139 dayValue = static_cast <int >(dateTimeController.Day ());
42- lblDay = lv_label_create (lv_scr_act (), NULL );
40+ lblDay = lv_label_create (lv_scr_act (), nullptr );
4341 lv_label_set_text_fmt (lblDay, " %d" , dayValue);
4442 lv_label_set_align (lblDay, LV_LABEL_ALIGN_CENTER);
4543 lv_obj_align (lblDay, lv_scr_act (), LV_ALIGN_CENTER, POS_X_DAY, POS_Y_TEXT);
4644 lv_obj_set_auto_realign (lblDay, true );
4745
4846 monthValue = static_cast <int >(dateTimeController.Month ());
49- lblMonth = lv_label_create (lv_scr_act (), NULL );
47+ lblMonth = lv_label_create (lv_scr_act (), nullptr );
5048 UpdateMonthLabel ();
5149 lv_label_set_align (lblMonth, LV_LABEL_ALIGN_CENTER);
5250 lv_obj_align (lblMonth, lv_scr_act (), LV_ALIGN_CENTER, POS_X_MONTH, POS_Y_TEXT);
@@ -55,55 +53,55 @@ SettingSetDate::SettingSetDate(
5553 yearValue = static_cast <int >(dateTimeController.Year ());
5654 if (yearValue < 2021 )
5755 yearValue = 2021 ;
58- lblYear = lv_label_create (lv_scr_act (), NULL );
56+ lblYear = lv_label_create (lv_scr_act (), nullptr );
5957 lv_label_set_text_fmt (lblYear, " %d" , yearValue);
6058 lv_label_set_align (lblYear, LV_LABEL_ALIGN_CENTER);
6159 lv_obj_align (lblYear, lv_scr_act (), LV_ALIGN_CENTER, POS_X_YEAR, POS_Y_TEXT);
6260 lv_obj_set_auto_realign (lblYear, true );
6361
64- btnDayPlus = lv_btn_create (lv_scr_act (), NULL );
62+ btnDayPlus = lv_btn_create (lv_scr_act (), nullptr );
6563 btnDayPlus->user_data = this ;
6664 lv_obj_set_size (btnDayPlus, 50 , 40 );
6765 lv_obj_align (btnDayPlus, lv_scr_act (), LV_ALIGN_CENTER, POS_X_DAY, POS_Y_PLUS);
6866 lv_obj_set_style_local_value_str (btnDayPlus, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, " +" );
6967 lv_obj_set_event_cb (btnDayPlus, event_handler);
7068
71- btnDayMinus = lv_btn_create (lv_scr_act (), NULL );
69+ btnDayMinus = lv_btn_create (lv_scr_act (), nullptr );
7270 btnDayMinus->user_data = this ;
7371 lv_obj_set_size (btnDayMinus, 50 , 40 );
7472 lv_obj_align (btnDayMinus, lv_scr_act (), LV_ALIGN_CENTER, POS_X_DAY, POS_Y_MINUS);
7573 lv_obj_set_style_local_value_str (btnDayMinus, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, " -" );
7674 lv_obj_set_event_cb (btnDayMinus, event_handler);
7775
78- btnMonthPlus = lv_btn_create (lv_scr_act (), NULL );
76+ btnMonthPlus = lv_btn_create (lv_scr_act (), nullptr );
7977 btnMonthPlus->user_data = this ;
8078 lv_obj_set_size (btnMonthPlus, 50 , 40 );
8179 lv_obj_align (btnMonthPlus, lv_scr_act (), LV_ALIGN_CENTER, POS_X_MONTH, POS_Y_PLUS);
8280 lv_obj_set_style_local_value_str (btnMonthPlus, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, " +" );
8381 lv_obj_set_event_cb (btnMonthPlus, event_handler);
8482
85- btnMonthMinus = lv_btn_create (lv_scr_act (), NULL );
83+ btnMonthMinus = lv_btn_create (lv_scr_act (), nullptr );
8684 btnMonthMinus->user_data = this ;
8785 lv_obj_set_size (btnMonthMinus, 50 , 40 );
8886 lv_obj_align (btnMonthMinus, lv_scr_act (), LV_ALIGN_CENTER, POS_X_MONTH, POS_Y_MINUS);
8987 lv_obj_set_style_local_value_str (btnMonthMinus, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, " -" );
9088 lv_obj_set_event_cb (btnMonthMinus, event_handler);
9189
92- btnYearPlus = lv_btn_create (lv_scr_act (), NULL );
90+ btnYearPlus = lv_btn_create (lv_scr_act (), nullptr );
9391 btnYearPlus->user_data = this ;
9492 lv_obj_set_size (btnYearPlus, 50 , 40 );
9593 lv_obj_align (btnYearPlus, lv_scr_act (), LV_ALIGN_CENTER, POS_X_YEAR, POS_Y_PLUS);
9694 lv_obj_set_style_local_value_str (btnYearPlus, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, " +" );
9795 lv_obj_set_event_cb (btnYearPlus, event_handler);
9896
99- btnYearMinus = lv_btn_create (lv_scr_act (), NULL );
97+ btnYearMinus = lv_btn_create (lv_scr_act (), nullptr );
10098 btnYearMinus->user_data = this ;
10199 lv_obj_set_size (btnYearMinus, 50 , 40 );
102100 lv_obj_align (btnYearMinus, lv_scr_act (), LV_ALIGN_CENTER, POS_X_YEAR, POS_Y_MINUS);
103101 lv_obj_set_style_local_value_str (btnYearMinus, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, " -" );
104102 lv_obj_set_event_cb (btnYearMinus, event_handler);
105103
106- btnSetTime = lv_btn_create (lv_scr_act (), NULL );
104+ btnSetTime = lv_btn_create (lv_scr_act (), nullptr );
107105 btnSetTime->user_data = this ;
108106 lv_obj_set_size (btnSetTime, 120 , 48 );
109107 lv_obj_align (btnSetTime, lv_scr_act (), LV_ALIGN_IN_BOTTOM_MID, 0 , 0 );
@@ -116,7 +114,6 @@ SettingSetDate::~SettingSetDate() {
116114}
117115
118116void SettingSetDate::HandleButtonPress (lv_obj_t *object, lv_event_t event) {
119-
120117 if (event != LV_EVENT_CLICKED)
121118 return ;
122119
@@ -126,43 +123,37 @@ void SettingSetDate::HandleButtonPress(lv_obj_t *object, lv_event_t event) {
126123 dayValue = 1 ;
127124 lv_label_set_text_fmt (lblDay, " %d" , dayValue);
128125 lv_btn_set_state (btnSetTime, LV_BTN_STATE_RELEASED);
129- }
130- else if (object == btnDayMinus) {
126+ } else if (object == btnDayMinus) {
131127 dayValue--;
132128 if (dayValue < 1 )
133129 dayValue = MaximumDayOfMonth ();
134130 lv_label_set_text_fmt (lblDay, " %d" , dayValue);
135131 lv_btn_set_state (btnSetTime, LV_BTN_STATE_RELEASED);
136- }
137- else if (object == btnMonthPlus) {
132+ } else if (object == btnMonthPlus) {
138133 monthValue++;
139134 if (monthValue > 12 )
140135 monthValue = 1 ;
141136 UpdateMonthLabel ();
142137 lv_btn_set_state (btnSetTime, LV_BTN_STATE_RELEASED);
143138 CheckDay ();
144- }
145- else if (object == btnMonthMinus) {
139+ } else if (object == btnMonthMinus) {
146140 monthValue--;
147141 if (monthValue < 1 )
148142 monthValue = 12 ;
149143 UpdateMonthLabel ();
150144 lv_btn_set_state (btnSetTime, LV_BTN_STATE_RELEASED);
151145 CheckDay ();
152- }
153- else if (object == btnYearPlus) {
146+ } else if (object == btnYearPlus) {
154147 yearValue++;
155148 lv_label_set_text_fmt (lblYear, " %d" , yearValue);
156149 lv_btn_set_state (btnSetTime, LV_BTN_STATE_RELEASED);
157150 CheckDay ();
158- }
159- else if (object == btnYearMinus) {
151+ } else if (object == btnYearMinus) {
160152 yearValue--;
161153 lv_label_set_text_fmt (lblYear, " %d" , yearValue);
162154 lv_btn_set_state (btnSetTime, LV_BTN_STATE_RELEASED);
163155 CheckDay ();
164- }
165- else if (object == btnSetTime) {
156+ } else if (object == btnSetTime) {
166157 NRF_LOG_INFO (" Setting date (manually) to %04d-%02d-%02d" , yearValue, monthValue, dayValue);
167158 dateTimeController.SetTime (static_cast <uint16_t >(yearValue),
168159 static_cast <uint8_t >(monthValue),
@@ -202,7 +193,6 @@ void SettingSetDate::CheckDay() {
202193}
203194
204195void SettingSetDate::UpdateMonthLabel () {
205- lv_label_set_text_static (lblMonth,
206- Pinetime::Controllers::DateTime::MonthShortToStringLow (static_cast <Pinetime::Controllers::DateTime::Months>(monthValue)));
196+ lv_label_set_text_static (
197+ lblMonth, Pinetime::Controllers::DateTime::MonthShortToStringLow (static_cast <Pinetime::Controllers::DateTime::Months>(monthValue)));
207198}
208-
0 commit comments