Skip to content

Commit da36d4a

Browse files
committed
Code optimizations in SettingSetTime
The positions of the labels are controlled by #define's, just like in SettingSetDate.
1 parent 0842a13 commit da36d4a

1 file changed

Lines changed: 17 additions & 9 deletions

File tree

src/displayapp/screens/settings/SettingSetTime.cpp

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@
55
#include "displayapp/DisplayApp.h"
66
#include "displayapp/screens/Symbols.h"
77

8+
#define POS_X_HOURS -72
9+
#define POS_X_MINUTES 0
10+
#define POS_X_SECONDS 72
11+
#define POS_Y_PLUS -50
12+
#define POS_Y_TEXT -6
13+
#define POS_Y_MINUS 40
14+
#define OFS_Y_COLON -2
15+
816
using namespace Pinetime::Applications::Screens;
917

1018
namespace {
@@ -36,32 +44,32 @@ SettingSetTime::SettingSetTime(
3644
lv_obj_set_style_local_text_font(lblHours, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
3745
lv_label_set_text_fmt(lblHours, "%02d", hoursValue);
3846
lv_label_set_align(lblHours, LV_LABEL_ALIGN_CENTER);
39-
lv_obj_align(lblHours, lv_scr_act(), LV_ALIGN_CENTER, -72, -6);
47+
lv_obj_align(lblHours, lv_scr_act(), LV_ALIGN_CENTER, POS_X_HOURS, POS_Y_TEXT);
4048

4149
lv_obj_t * lblColon1 = lv_label_create(lv_scr_act(), NULL);
4250
lv_obj_set_style_local_text_font(lblColon1, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
4351
lv_label_set_text_static(lblColon1, ":");
4452
lv_label_set_align(lblColon1, LV_LABEL_ALIGN_CENTER);
45-
lv_obj_align(lblColon1, lv_scr_act(), LV_ALIGN_CENTER, -36, -8);
53+
lv_obj_align(lblColon1, lv_scr_act(), LV_ALIGN_CENTER, (POS_X_HOURS + POS_X_MINUTES) / 2, POS_Y_TEXT + OFS_Y_COLON);
4654

4755
minutesValue = static_cast<int>(dateTimeController.Minutes());
4856
lblMinutes = lv_label_create(lv_scr_act(), NULL);
4957
lv_obj_set_style_local_text_font(lblMinutes, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
5058
lv_label_set_text_fmt(lblMinutes, "%02d", minutesValue);
5159
lv_label_set_align(lblMinutes, LV_LABEL_ALIGN_CENTER);
52-
lv_obj_align(lblMinutes, lv_scr_act(), LV_ALIGN_CENTER, 0, -6);
60+
lv_obj_align(lblMinutes, lv_scr_act(), LV_ALIGN_CENTER, POS_X_MINUTES, POS_Y_TEXT);
5361

5462
lv_obj_t * lblColon2 = lv_label_create(lv_scr_act(), NULL);
5563
lv_obj_set_style_local_text_font(lblColon2, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
5664
lv_label_set_text_static(lblColon2, ":");
5765
lv_label_set_align(lblColon2, LV_LABEL_ALIGN_CENTER);
58-
lv_obj_align(lblColon2, lv_scr_act(), LV_ALIGN_CENTER, 36, -8);
66+
lv_obj_align(lblColon2, lv_scr_act(), LV_ALIGN_CENTER, (POS_X_MINUTES + POS_X_SECONDS) / 2, POS_Y_TEXT + OFS_Y_COLON);
5967

6068
lv_obj_t * lblSeconds = lv_label_create(lv_scr_act(), NULL);
6169
lv_obj_set_style_local_text_font(lblSeconds, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
6270
lv_label_set_text_static(lblSeconds, "00");
6371
lv_label_set_align(lblSeconds, LV_LABEL_ALIGN_CENTER);
64-
lv_obj_align(lblSeconds, lv_scr_act(), LV_ALIGN_CENTER, 72, -6);
72+
lv_obj_align(lblSeconds, lv_scr_act(), LV_ALIGN_CENTER, POS_X_SECONDS, POS_Y_TEXT);
6573

6674
btnHoursPlus = lv_btn_create(lv_scr_act(), NULL);
6775
btnHoursPlus->user_data = this;
@@ -118,31 +126,31 @@ void SettingSetTime::HandleButtonPress(lv_obj_t *object, lv_event_t event) {
118126
if (hoursValue > 23)
119127
hoursValue = 0;
120128
lv_label_set_text_fmt(lblHours, "%02d", hoursValue);
121-
lv_obj_align(lblHours, lv_scr_act(), LV_ALIGN_CENTER, -72, -6);
129+
lv_obj_align(lblHours, lv_scr_act(), LV_ALIGN_CENTER, POS_X_HOURS, POS_Y_TEXT);
122130
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
123131
}
124132
else if (object == btnHoursMinus) {
125133
hoursValue--;
126134
if (hoursValue < 0)
127135
hoursValue = 23;
128136
lv_label_set_text_fmt(lblHours, "%02d", hoursValue);
129-
lv_obj_align(lblHours, lv_scr_act(), LV_ALIGN_CENTER, -72, -6);
137+
lv_obj_align(lblHours, lv_scr_act(), LV_ALIGN_CENTER, POS_X_HOURS, POS_Y_TEXT);
130138
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
131139
}
132140
else if (object == btnMinutesPlus) {
133141
minutesValue++;
134142
if (minutesValue > 59)
135143
minutesValue = 0;
136144
lv_label_set_text_fmt(lblMinutes, "%02d", minutesValue);
137-
lv_obj_align(lblMinutes, lv_scr_act(), LV_ALIGN_CENTER, 0, -6);
145+
lv_obj_align(lblMinutes, lv_scr_act(), LV_ALIGN_CENTER, POS_X_MINUTES, POS_Y_TEXT);
138146
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
139147
}
140148
else if (object == btnMinutesMinus) {
141149
minutesValue--;
142150
if (minutesValue < 0)
143151
minutesValue = 59;
144152
lv_label_set_text_fmt(lblMinutes, "%02d", minutesValue);
145-
lv_obj_align(lblMinutes, lv_scr_act(), LV_ALIGN_CENTER, 0, -6);
153+
lv_obj_align(lblMinutes, lv_scr_act(), LV_ALIGN_CENTER, POS_X_MINUTES, POS_Y_TEXT);
146154
lv_btn_set_state(btnSetTime, LV_BTN_STATE_RELEASED);
147155
}
148156
else if (object == btnSetTime) {

0 commit comments

Comments
 (0)