Skip to content

Commit ffa5161

Browse files
committed
Code optimizations in SettingSetDate and SettingSetTime
Instead of calling lv_obj_align after each button click, the labels have their auto_realign property set.
1 parent da36d4a commit ffa5161

2 files changed

Lines changed: 7 additions & 13 deletions

File tree

src/displayapp/screens/settings/SettingSetDate.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,24 +40,26 @@ SettingSetDate::SettingSetDate(
4040

4141
dayValue = static_cast<int>(dateTimeController.Day());
4242
lblDay = lv_label_create(lv_scr_act(), NULL);
43-
//lv_obj_set_style_local_text_font(lblDay, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
4443
lv_label_set_text_fmt(lblDay, "%d", dayValue);
4544
lv_label_set_align(lblDay, LV_LABEL_ALIGN_CENTER);
4645
lv_obj_align(lblDay, lv_scr_act(), LV_ALIGN_CENTER, POS_X_DAY, POS_Y_TEXT);
46+
lv_obj_set_auto_realign(lblDay, true);
4747

4848
monthValue = static_cast<int>(dateTimeController.Month());
4949
lblMonth = lv_label_create(lv_scr_act(), NULL);
50-
//lv_obj_set_style_local_text_font(lblMonth, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
5150
UpdateMonthLabel();
51+
lv_label_set_align(lblMonth, LV_LABEL_ALIGN_CENTER);
52+
lv_obj_align(lblMonth, lv_scr_act(), LV_ALIGN_CENTER, POS_X_MONTH, POS_Y_TEXT);
53+
lv_obj_set_auto_realign(lblMonth, true);
5254

5355
yearValue = static_cast<int>(dateTimeController.Year());
5456
if (yearValue < 2021)
5557
yearValue = 2021;
5658
lblYear = lv_label_create(lv_scr_act(), NULL);
57-
//lv_obj_set_style_local_text_font(lblYear, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
5859
lv_label_set_text_fmt(lblYear, "%d", yearValue);
5960
lv_label_set_align(lblYear, LV_LABEL_ALIGN_CENTER);
6061
lv_obj_align(lblYear, lv_scr_act(), LV_ALIGN_CENTER, POS_X_YEAR, POS_Y_TEXT);
62+
lv_obj_set_auto_realign(lblYear, true);
6163

6264
btnDayPlus = lv_btn_create(lv_scr_act(), NULL);
6365
btnDayPlus->user_data = this;
@@ -128,15 +130,13 @@ void SettingSetDate::HandleButtonPress(lv_obj_t *object, lv_event_t event) {
128130
if (dayValue > MaximumDayOfMonth())
129131
dayValue = 1;
130132
lv_label_set_text_fmt(lblDay, "%d", dayValue);
131-
lv_obj_align(lblDay, lv_scr_act(), LV_ALIGN_CENTER, POS_X_DAY, POS_Y_TEXT);
132133
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
133134
}
134135
else if (object == btnDayMinus) {
135136
dayValue--;
136137
if (dayValue < 1)
137138
dayValue = MaximumDayOfMonth();
138139
lv_label_set_text_fmt(lblDay, "%d", dayValue);
139-
lv_obj_align(lblDay, lv_scr_act(), LV_ALIGN_CENTER, POS_X_DAY, POS_Y_TEXT);
140140
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
141141
}
142142
else if (object == btnMonthPlus) {
@@ -158,14 +158,12 @@ void SettingSetDate::HandleButtonPress(lv_obj_t *object, lv_event_t event) {
158158
else if (object == btnYearPlus) {
159159
yearValue++;
160160
lv_label_set_text_fmt(lblYear, "%d", yearValue);
161-
lv_obj_align(lblYear, lv_scr_act(), LV_ALIGN_CENTER, POS_X_YEAR, POS_Y_TEXT);
162161
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
163162
CheckDay();
164163
}
165164
else if (object == btnYearMinus) {
166165
yearValue--;
167166
lv_label_set_text_fmt(lblYear, "%d", yearValue);
168-
lv_obj_align(lblYear, lv_scr_act(), LV_ALIGN_CENTER, POS_X_YEAR, POS_Y_TEXT);
169167
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
170168
CheckDay();
171169
}
@@ -211,7 +209,5 @@ void SettingSetDate::CheckDay() {
211209
void SettingSetDate::UpdateMonthLabel() {
212210
lv_label_set_text_static(lblMonth,
213211
Pinetime::Controllers::DateTime::MonthShortToStringLow(static_cast<Pinetime::Controllers::DateTime::Months>(monthValue)));
214-
lv_label_set_align(lblMonth, LV_LABEL_ALIGN_CENTER);
215-
lv_obj_align(lblMonth, lv_scr_act(), LV_ALIGN_CENTER, POS_X_MONTH, POS_Y_TEXT);
216212
}
217213

src/displayapp/screens/settings/SettingSetTime.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ SettingSetTime::SettingSetTime(
4545
lv_label_set_text_fmt(lblHours, "%02d", hoursValue);
4646
lv_label_set_align(lblHours, LV_LABEL_ALIGN_CENTER);
4747
lv_obj_align(lblHours, lv_scr_act(), LV_ALIGN_CENTER, POS_X_HOURS, POS_Y_TEXT);
48+
lv_obj_set_auto_realign(lblHours, true);
4849

4950
lv_obj_t * lblColon1 = lv_label_create(lv_scr_act(), NULL);
5051
lv_obj_set_style_local_text_font(lblColon1, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
@@ -58,6 +59,7 @@ SettingSetTime::SettingSetTime(
5859
lv_label_set_text_fmt(lblMinutes, "%02d", minutesValue);
5960
lv_label_set_align(lblMinutes, LV_LABEL_ALIGN_CENTER);
6061
lv_obj_align(lblMinutes, lv_scr_act(), LV_ALIGN_CENTER, POS_X_MINUTES, POS_Y_TEXT);
62+
lv_obj_set_auto_realign(lblMinutes, true);
6163

6264
lv_obj_t * lblColon2 = lv_label_create(lv_scr_act(), NULL);
6365
lv_obj_set_style_local_text_font(lblColon2, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
@@ -126,31 +128,27 @@ void SettingSetTime::HandleButtonPress(lv_obj_t *object, lv_event_t event) {
126128
if (hoursValue > 23)
127129
hoursValue = 0;
128130
lv_label_set_text_fmt(lblHours, "%02d", hoursValue);
129-
lv_obj_align(lblHours, lv_scr_act(), LV_ALIGN_CENTER, POS_X_HOURS, POS_Y_TEXT);
130131
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
131132
}
132133
else if (object == btnHoursMinus) {
133134
hoursValue--;
134135
if (hoursValue < 0)
135136
hoursValue = 23;
136137
lv_label_set_text_fmt(lblHours, "%02d", hoursValue);
137-
lv_obj_align(lblHours, lv_scr_act(), LV_ALIGN_CENTER, POS_X_HOURS, POS_Y_TEXT);
138138
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
139139
}
140140
else if (object == btnMinutesPlus) {
141141
minutesValue++;
142142
if (minutesValue > 59)
143143
minutesValue = 0;
144144
lv_label_set_text_fmt(lblMinutes, "%02d", minutesValue);
145-
lv_obj_align(lblMinutes, lv_scr_act(), LV_ALIGN_CENTER, POS_X_MINUTES, POS_Y_TEXT);
146145
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
147146
}
148147
else if (object == btnMinutesMinus) {
149148
minutesValue--;
150149
if (minutesValue < 0)
151150
minutesValue = 59;
152151
lv_label_set_text_fmt(lblMinutes, "%02d", minutesValue);
153-
lv_obj_align(lblMinutes, lv_scr_act(), LV_ALIGN_CENTER, POS_X_MINUTES, POS_Y_TEXT);
154152
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
155153
}
156154
else if (object == btnSetTime) {

0 commit comments

Comments
 (0)