feat(menu): make menu widget more compatible with encoder (#3061)
This commit is contained in:
@@ -1079,11 +1079,11 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj)
|
||||
lv_obj_add_style(obj, &styles->menu_pressed, LV_STATE_PRESSED);
|
||||
lv_obj_add_style(obj, &styles->bg_color_primary_muted, LV_STATE_PRESSED | LV_STATE_CHECKED);
|
||||
lv_obj_add_style(obj, &styles->bg_color_primary_muted, LV_STATE_CHECKED);
|
||||
lv_obj_add_style(obj, &styles->bg_color_primary, LV_STATE_FOCUS_KEY);
|
||||
}
|
||||
else if(lv_obj_check_type(obj, &lv_menu_sidebar_header_cont_class) ||
|
||||
lv_obj_check_type(obj, &lv_menu_main_header_cont_class)) {
|
||||
lv_obj_add_style(obj, &styles->menu_header_cont, 0);
|
||||
lv_obj_add_style(obj, &styles->menu_pressed, LV_STATE_PRESSED);
|
||||
}
|
||||
else if(lv_obj_check_type(obj, &lv_menu_page_class)) {
|
||||
lv_obj_add_style(obj, &styles->menu_page, 0);
|
||||
|
||||
@@ -360,8 +360,9 @@ void lv_menu_set_load_page_event(lv_obj_t * menu, lv_obj_t * obj, lv_obj_t * pag
|
||||
{
|
||||
LV_ASSERT_OBJ(menu, MY_CLASS);
|
||||
|
||||
/* Make the object clickable */
|
||||
lv_obj_add_flag(obj, LV_OBJ_FLAG_CLICKABLE);
|
||||
lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLLABLE);
|
||||
lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ON_FOCUS);
|
||||
|
||||
/* Remove old event */
|
||||
if(lv_obj_remove_event_cb(obj, lv_menu_load_page_event_cb)) {
|
||||
@@ -683,6 +684,11 @@ static void lv_menu_load_page_event_cb(lv_event_t * e)
|
||||
}
|
||||
|
||||
lv_menu_set_page((lv_obj_t *)menu, page);
|
||||
|
||||
if(lv_group_get_default() != NULL && menu->sidebar_page == NULL) {
|
||||
/* Sidebar is not supported for now*/
|
||||
lv_group_focus_next(lv_group_get_default());
|
||||
}
|
||||
}
|
||||
|
||||
static void lv_menu_obj_del_event_cb(lv_event_t * e)
|
||||
|
||||
Reference in New Issue
Block a user