Finally reworked the way date and time are set so that they have the expected value and behaviour
This commit is contained in:
parent
0789cc62ad
commit
9f241454c6
@ -112,12 +112,11 @@ static void time_roller_cb(lv_event_t *e)
|
||||
}
|
||||
else if(roller == settingsScreen->month_roller)
|
||||
{
|
||||
index+=1;
|
||||
settingsScreen->settingsScreenAPIInterface.setTimeSettingsCb(&NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &index, &NOT_SELECTED, SETTING_MODE_SET);
|
||||
}
|
||||
else
|
||||
{
|
||||
index+=22; // Year is starting from 2000
|
||||
index+=100+22; // Year is starting from 1900
|
||||
settingsScreen->settingsScreenAPIInterface.setTimeSettingsCb(&NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &index, SETTING_MODE_SET);
|
||||
}
|
||||
}
|
||||
@ -356,13 +355,13 @@ static void load_time_and_date_side_screen(SettingsScreen_t *settingsScreen)
|
||||
lv_roller_set_options(settingsScreen->month_roller, month_options, LV_ROLLER_MODE_NORMAL);
|
||||
lv_obj_align_to(settingsScreen->month_roller, settingsScreen->day_roller, LV_ALIGN_OUT_RIGHT_TOP, 5, 0);
|
||||
lv_roller_set_visible_row_count(settingsScreen->month_roller, 2);
|
||||
lv_roller_set_selected(settingsScreen->month_roller, month-1, LV_ANIM_OFF);
|
||||
lv_roller_set_selected(settingsScreen->month_roller, month, LV_ANIM_OFF);
|
||||
lv_obj_add_event_cb(settingsScreen->month_roller, &(time_roller_cb), LV_EVENT_RELEASED, settingsScreen);
|
||||
|
||||
lv_roller_set_options(settingsScreen->year_roller, year_options, LV_ROLLER_MODE_NORMAL);
|
||||
lv_obj_align_to(settingsScreen->year_roller, settingsScreen->month_roller, LV_ALIGN_OUT_RIGHT_TOP, 5, 0);
|
||||
lv_roller_set_visible_row_count(settingsScreen->year_roller, 2);
|
||||
lv_roller_set_selected(settingsScreen->year_roller, year-22, LV_ANIM_OFF);
|
||||
lv_roller_set_selected(settingsScreen->year_roller, year-100-22, LV_ANIM_OFF);
|
||||
lv_obj_add_event_cb(settingsScreen->year_roller, &(time_roller_cb), LV_EVENT_RELEASED, settingsScreen);
|
||||
// We set the state of the rollers only here, because they are not created yet earlier.
|
||||
_enable_time_and_date_rollers(!auto_set_enable, settingsScreen);
|
||||
@ -774,8 +773,8 @@ static void _set_rtc_time_to_label(SettingsScreen_t * const settingsScreen)
|
||||
settingsScreen->settingsScreenAPIInterface.setTimeSettingsCb(&hour, &minute, &second, &day, &month, &year, SETTING_MODE_GET);
|
||||
sprintf(settingsScreen->currentTime.current_time_text, "%u:%u:%u %s%u/%s%u/%u", hour, minute, second,
|
||||
day < 10 ? "0":"", day,
|
||||
month < 10 ? "0":"", month,
|
||||
year+2000);
|
||||
month + 1 < 10 ? "0":"", month,
|
||||
year+1900);
|
||||
lv_label_set_text_static(settingsScreen->currentTime.current_time_label, settingsScreen->currentTime.current_time_text);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user