Fix setting page bug on select page.

This commit is contained in:
xiaojiazhu 2023-10-14 20:24:35 +08:00
parent 5ba4a9f588
commit bd661101d5
3 changed files with 22 additions and 5 deletions

View File

@ -34,6 +34,9 @@ TMDEF_END_ITEMS()
// QR Menu Pages
TMDEF_BEGIN_PAGES(QR)
TMDEF_PAGE_TEXT_ICON(QR)
TMDEF_PAGE_TEXT_ICON(QR)
TMDEF_PAGE_TEXT_ICON(QR)
TMDEF_PAGE_TEXT_ICON(QR)
TMDEF_END_PAGES()
TMDEF_EMNU(gQrMenu, QR, Qr_MenuCallback)

View File

@ -18,6 +18,9 @@ void TM_SelectTab(TM_MENU *pMenu, INT32 iNewSel)
} else {
pMenu->SelPage = iNewSel;
}
printf("iNewSel:%d\n", iNewSel);
printf("page count:%d\n", pMenu->Count);
printf("select page changed:%d\n", pMenu->SelPage);
}
void TM_ShiftTab(TM_MENU *pMenu, INT32 iOffset)

View File

@ -118,10 +118,12 @@ static void LV_MenuItem_OnUp(lv_obj_t* obj)
if (pMenu->Status == TMS_ON_TAB)
{
printf("handle on tab.\n");
TM_ShiftTab(pMenu, -1);
lv_plugin_menu_select_prev_item(menu_tab);
LV_MenuCommonItem_UpdateContent(pMenu);
}else{
printf("handle on item.\n");
lv_plugin_scr_close(obj, NULL);
}
}
@ -134,10 +136,12 @@ static void LV_MenuItem_OnDown(lv_obj_t* obj)
if (pMenu->Status == TMS_ON_TAB)
{
printf("handle on tab.\n");
TM_ShiftTab(pMenu, +1);
lv_plugin_menu_select_next_item(menu_tab);
LV_MenuCommonItem_UpdateContent(pMenu);
}else{
printf("handle on item.\n");
LV_MenuItem_OnSelected(obj);
}
}
@ -249,10 +253,11 @@ void LV_MenuItem_OnOpen(lv_obj_t* obj)
pCurMenu->pPages[3]= gPlaybackMenu.pPages[0]; //= QR_UI
pCurMenu->pPages[4]= gSetupMenu.pPages[0]; //= QR_UI
#endif
pCurMenu->pPages[0]= gSFMoreMenu.pPages[0]; //= QR_UI
pCurMenu->pPages[1]= gPhotoMenu.pPages[0]; //= General_UI
pCurMenu->pPages[2]= gPlaybackMenu.pPages[0]; //= Send_UI
pCurMenu->pPages[3]= gSetupMenu.pPages[0]; //= QR_UI
pCurMenu->pPages[0]= gQrMenu.pPages[0]; //= QR_UI
pCurMenu->pPages[1]= gGeneralMenu.pPages[0]; //= General_UI
pCurMenu->pPages[2]= gSendMenu.pPages[0]; //= Send_UI
pCurMenu->pPages[3]= gQrMenu.pPages[0]; //= QR_UI
pCurMenu->Count = 4;
TM_SetMenu(pCurMenu);
@ -299,6 +304,7 @@ static void LV_MenuCommonItem_UpdateContent(TM_MENU *pMenu)
DBG_DUMP("\r\n %s pMenu FirstPage= %d\r\n", __func__, pMenu->FirstPage);
DBG_DUMP("\r\n %s pMenu Count= %d\r\n", __func__, pMenu->Count);
#endif
printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage);
pPage = &pMenu->pPages[pMenu->SelPage];
pItem = &pPage->pItems[pPage->SelItem];
#if 1
@ -539,12 +545,14 @@ static void UIFlowMenuCommonItem_Key(lv_obj_t* obj, uint32_t key)
case LV_USER_KEY_NEXT:
{
printf("========================== down.\n");
LV_MenuItem_OnNext(obj);
break;
}
case LV_USER_KEY_PREV:
{
printf("========================== up.\n");
LV_MenuItem_OnPrev(obj);
break;
}
@ -552,6 +560,7 @@ static void UIFlowMenuCommonItem_Key(lv_obj_t* obj, uint32_t key)
case LV_KEY_LEFT:
case LV_USER_KEY_UP:
{
printf("========================== left.\n");
LV_MenuItem_OnUp(obj);
break;
}
@ -559,6 +568,7 @@ static void UIFlowMenuCommonItem_Key(lv_obj_t* obj, uint32_t key)
case LV_KEY_RIGHT:
case LV_USER_KEY_DOWN:
{
printf("========================== right.\n");
LV_MenuItem_OnDown(obj);
break;
}
@ -566,6 +576,7 @@ static void UIFlowMenuCommonItem_Key(lv_obj_t* obj, uint32_t key)
case LV_USER_KEY_SELECT:
{
CHKPNT;
printf("========================== select.\n");
LV_MenuItem_OnSelected(obj);
break;
}
@ -613,7 +624,7 @@ void container_main_menu_callback(lv_obj_t* obj, lv_event_t event)
void UIFlowMenuCommonItemEventCallback(lv_obj_t* obj, lv_event_t event)
{
printf("========================================= %d\n", event);
switch(event)
{
case LV_PLUGIN_EVENT_SCR_OPEN: