Add back/next/prev options

This commit is contained in:
fvanroie 2021-03-19 01:01:26 +01:00
parent 608fc73852
commit b608e29696
2 changed files with 13 additions and 4 deletions

View File

@ -62,6 +62,7 @@ void dispatch_reboot(bool saveConfig);
void dispatch_output_idle_state(uint8_t state);
void dispatch_output_statusupdate(const char*, const char*);
void dispatch_current_state();
void dispatch_output_current_page();
void dispatch_gpio_input_event(uint8_t pin, uint8_t group, uint8_t eventid);
bool dispatch_get_event_state(uint8_t eventid);

View File

@ -370,11 +370,19 @@ void generic_event_handler(lv_obj_t* obj, lv_event_t event)
if(obj->user_data.actionid) {
if(eventid == HASP_EVENT_UP || eventid == HASP_EVENT_SHORT) {
lv_scr_load_anim_t transitionid = (lv_scr_load_anim_t)obj->user_data.transitionid;
haspPages.set(obj->user_data.actionid, transitionid);
dispatch_set_page(obj->user_data.actionid, transitionid);
if(obj->user_data.actionid == HASP_NUM_PAGES + 1) {
haspPages.prev(transitionid);
} else if(obj->user_data.actionid == HASP_NUM_PAGES + 2) {
haspPages.back(transitionid);
} else if(obj->user_data.actionid == HASP_NUM_PAGES + 3) {
haspPages.next(transitionid);
} else {
haspPages.set(obj->user_data.actionid, transitionid);
}
dispatch_output_current_page();
}
} else {
dispatch_object_generic_event(obj, eventid); // send object event
dispatch_object_generic_event(obj, eventid); // send normal object event
}
dispatch_normalized_group_value(obj->user_data.groupid, obj, dispatch_get_event_state(eventid), HASP_EVENT_OFF,
HASP_EVENT_ON);
@ -670,7 +678,7 @@ void hasp_new_object(const JsonObject& config, uint8_t& saved_page_id)
/* Page selection */
uint8_t pageid = saved_page_id;
if(!config[FPSTR(FP_PAGE)].isNull()) {
config[FPSTR(FP_PAGE)].as<uint8_t>();
pageid = config[FPSTR(FP_PAGE)].as<uint8_t>();
config.remove(FPSTR(FP_PAGE));
}