mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-27 13:16:45 +00:00
Add back/next/prev options
This commit is contained in:
parent
608fc73852
commit
b608e29696
@ -62,6 +62,7 @@ void dispatch_reboot(bool saveConfig);
|
|||||||
void dispatch_output_idle_state(uint8_t state);
|
void dispatch_output_idle_state(uint8_t state);
|
||||||
void dispatch_output_statusupdate(const char*, const char*);
|
void dispatch_output_statusupdate(const char*, const char*);
|
||||||
void dispatch_current_state();
|
void dispatch_current_state();
|
||||||
|
void dispatch_output_current_page();
|
||||||
|
|
||||||
void dispatch_gpio_input_event(uint8_t pin, uint8_t group, uint8_t eventid);
|
void dispatch_gpio_input_event(uint8_t pin, uint8_t group, uint8_t eventid);
|
||||||
bool dispatch_get_event_state(uint8_t eventid);
|
bool dispatch_get_event_state(uint8_t eventid);
|
||||||
|
@ -370,11 +370,19 @@ void generic_event_handler(lv_obj_t* obj, lv_event_t event)
|
|||||||
if(obj->user_data.actionid) {
|
if(obj->user_data.actionid) {
|
||||||
if(eventid == HASP_EVENT_UP || eventid == HASP_EVENT_SHORT) {
|
if(eventid == HASP_EVENT_UP || eventid == HASP_EVENT_SHORT) {
|
||||||
lv_scr_load_anim_t transitionid = (lv_scr_load_anim_t)obj->user_data.transitionid;
|
lv_scr_load_anim_t transitionid = (lv_scr_load_anim_t)obj->user_data.transitionid;
|
||||||
haspPages.set(obj->user_data.actionid, transitionid);
|
if(obj->user_data.actionid == HASP_NUM_PAGES + 1) {
|
||||||
dispatch_set_page(obj->user_data.actionid, transitionid);
|
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 {
|
} 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,
|
dispatch_normalized_group_value(obj->user_data.groupid, obj, dispatch_get_event_state(eventid), HASP_EVENT_OFF,
|
||||||
HASP_EVENT_ON);
|
HASP_EVENT_ON);
|
||||||
@ -670,7 +678,7 @@ void hasp_new_object(const JsonObject& config, uint8_t& saved_page_id)
|
|||||||
/* Page selection */
|
/* Page selection */
|
||||||
uint8_t pageid = saved_page_id;
|
uint8_t pageid = saved_page_id;
|
||||||
if(!config[FPSTR(FP_PAGE)].isNull()) {
|
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));
|
config.remove(FPSTR(FP_PAGE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user