Backup switch setting code.

This commit is contained in:
xiaojiazhu 2023-10-17 09:08:53 +08:00
parent 789db4be0f
commit b1176dc336
4 changed files with 100 additions and 16 deletions

View File

@ -45,7 +45,7 @@ TMDEF_EMNU(gQrMenu, QR, Qr_MenuCallback)
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
int Qr_MenuCallback(UINT32 uiMessage, UINT32 uiParam) int Qr_MenuCallback(UINT32 uiMessage, UINT32 uiParam)
{ {
printf(" ====================================================== \n"); printf(" ====================================================== gQrMenu\n");
UINT16 uwItemId; UINT16 uwItemId;
// UINT16 uwOption; // UINT16 uwOption;
if (uiMessage == TMM_CONFIRM_OPTION) if (uiMessage == TMM_CONFIRM_OPTION)

View File

@ -2,6 +2,7 @@
#include "PrjInc.h" #include "PrjInc.h"
#include "UIFlowLVGL/UIFlowLVGL.h" #include "UIFlowLVGL/UIFlowLVGL.h"
#include "UIApp/Network/UIAppNetwork.h" #include "UIApp/Network/UIAppNetwork.h"
#include "UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h"
#include <kwrap/debug.h> #include <kwrap/debug.h>
#define PAGE 32 #define PAGE 32
@ -145,7 +146,70 @@ static void LV_MenuItem_OnDown(lv_obj_t* obj)
LV_MenuItem_OnSelected(obj); LV_MenuItem_OnSelected(obj);
} }
} }
#define ITEM_IS_SWITCH 1
#define ITEM_IS_NOT_SWITCH 0
static int IsItemSwitch(const TM_ITEM *item)
{
if (NULL == item || NULL == item->pOptions)
{
printf(" faield:null pointer.\n");
return -1;
}
if (LV_PLUGIN_STRING_ID_STRID_OFF == (&item->pOptions[0])->TextId
||LV_PLUGIN_STRING_ID_STRID_ON == (&item->pOptions[0])->TextId)
{
printf("item is switch.\n");
return ITEM_IS_SWITCH;
} else {
printf("item is not switch.\n");
return ITEM_IS_NOT_SWITCH;
}
return -1;
}
static void SetSwitchItem(TM_ITEM *item)
{
if (NULL == item)
{
printf(" faield:null pointer.\n");
return;
}
UIMenuStoreInfo *puiPara = sf_ui_para_get();
switch (item->ItemId)
{
case IDM_PASSWORD:
{
printf("set IDM_PASSWORD.\n");
char settingValue = puiPara->PwdSwitch == SF_CAMID_OFF ? SF_CAMID_ON:SF_CAMID_OFF;
if (SF_CAMID_ON == settingValue)
{
}
else
{
}
puiPara->PwdSwitch = settingValue;
break;
}
case IDM_CAMERA_NAME:
{
printf("set IDM_CAMERA_NAME.\n");
// CamPara->cameraID = puiPara->CamNameSwitch == SF_CAMID_OFF ? 0:1;
char settingValue = puiPara->CamNameSwitch == SF_CAMID_OFF ? SF_CAMID_ON:SF_CAMID_OFF;
if (SF_CAMID_ON == settingValue)
{
}
else
{
}
puiPara->CamNameSwitch = settingValue;
break;
}
default:
break;
}
}
static void LV_MenuItem_OnSelected(lv_obj_t* obj) static void LV_MenuItem_OnSelected(lv_obj_t* obj)
{ {
@ -177,17 +241,24 @@ static void LV_MenuItem_OnSelected(lv_obj_t* obj)
return; return;
} }
} }
if (ITEM_IS_SWITCH == IsItemSwitch(pItem))
if (pItem->Count != 0 && pItem->SysFlag != 0) // standard process {
{ SetSwitchItem(pItem);
pMenu->Status = TMS_ON_OPTION; LV_MenuCommonItem_UpdateContent(pMenu);
lv_plugin_scr_open(UIFlowMenuCommonOption, NULL); }
} else
else if (pItem->pOptions != 0) // custom process {
{ if (pItem->Count != 0 && pItem->SysFlag != 0) // standard process
pMenu->Status = TMS_ON_CUSTOM; {
TM_ITEM_CALLBACK(pItem, 0, 0); // execute custom menu flow pMenu->Status = TMS_ON_OPTION;
} lv_plugin_scr_open(UIFlowMenuCommonOption, NULL);
}
else if (pItem->pOptions != 0) // custom process
{
pMenu->Status = TMS_ON_CUSTOM;
TM_ITEM_CALLBACK(pItem, 0, 0); // execute custom menu flow
}
}
}else if(pMenu->Status == TMS_ON_TAB){ }else if(pMenu->Status == TMS_ON_TAB){
pItem = &pPage->pItems[pPage->SelItem]; pItem = &pPage->pItems[pPage->SelItem];
lv_plugin_menu_set_item_string_id(menu_item, 0, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pItem->TextId); lv_plugin_menu_set_item_string_id(menu_item, 0, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pItem->TextId);
@ -292,6 +363,7 @@ static void LV_MenuCommonItem_UpdateContent(TM_MENU *pMenu)
BOOL u_hiddenitem = false; BOOL u_hiddenitem = false;
BOOL u_ItemSel = false; BOOL u_ItemSel = false;
lv_plugin_res_id img_id = LV_PLUGIN_IMG_ID_ICON_REC_TRANSPAENT; lv_plugin_res_id img_id = LV_PLUGIN_IMG_ID_ICON_REC_TRANSPAENT;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
// UINT32 uiIcon[TAB_PAGE]; // 2 pages per menu // UINT32 uiIcon[TAB_PAGE]; // 2 pages per menu
// UINT32 uiText[TAB_PAGE]; // 2 pages per menu // UINT32 uiText[TAB_PAGE]; // 2 pages per menu
// UINT16 SelOption = 0; // UINT16 SelOption = 0;
@ -304,7 +376,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 FirstPage= %d\r\n", __func__, pMenu->FirstPage);
DBG_DUMP("\r\n %s pMenu Count= %d\r\n", __func__, pMenu->Count); DBG_DUMP("\r\n %s pMenu Count= %d\r\n", __func__, pMenu->Count);
#endif #endif
printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage); printf("update content select page = %d\n", pMenu->SelPage);
pPage = &pMenu->pPages[pMenu->SelPage]; pPage = &pMenu->pPages[pMenu->SelPage];
pItem = &pPage->pItems[pPage->SelItem]; pItem = &pPage->pItems[pPage->SelItem];
#if 1 #if 1
@ -384,7 +456,9 @@ printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage);
pOption = &pItem->pOptions[SysGetFlag(pItem->SysFlag)]; pOption = &pItem->pOptions[SysGetFlag(pItem->SysFlag)];
// DBG_DUMP("\r\n %s pOption TextId= %d\r\n", __func__, pOption->TextId); // DBG_DUMP("\r\n %s pOption TextId= %d\r\n", __func__, pOption->TextId);
if(pItem->ItemId == IDM_MOVIE_WDR){ // if(IDM_PASSWORD == pItem->ItemId
// || IDM_CAMERA_NAME == pItem->ItemId){
if(0){
static lv_plugin_res_id res[] = { static lv_plugin_res_id res[] = {
LV_PLUGIN_IMG_ID_SF_OFF, LV_PLUGIN_IMG_ID_SF_OFF,
LV_PLUGIN_IMG_ID_SF_ON, LV_PLUGIN_IMG_ID_SF_ON,
@ -393,6 +467,10 @@ printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage);
case IDM_MOVIE_WDR: case IDM_MOVIE_WDR:
img_id = res[SysGetFlag(FL_MOVIE_WDR)]; img_id = res[SysGetFlag(FL_MOVIE_WDR)];
break; break;
case IDM_PASSWORD:
// char settingValue = puiPara->PwdSwitch == SF_CAMID_OFF ? SF_CAMID_ON:SF_CAMID_OFF;
img_id = puiPara->PwdSwitch == SF_CAMID_OFF ? LV_PLUGIN_IMG_ID_SF_OFF:LV_PLUGIN_IMG_ID_SF_ON;
break;
default: default:
img_id = LV_PLUGIN_IMG_ID_SF_OFF; img_id = LV_PLUGIN_IMG_ID_SF_OFF;
DBG_ERR("NO_match_ItemID, add please!"); DBG_ERR("NO_match_ItemID, add please!");
@ -624,7 +702,6 @@ void container_main_menu_callback(lv_obj_t* obj, lv_event_t event)
void UIFlowMenuCommonItemEventCallback(lv_obj_t* obj, lv_event_t event) void UIFlowMenuCommonItemEventCallback(lv_obj_t* obj, lv_event_t event)
{ {
printf("========================================= %d\n", event);
switch(event) switch(event)
{ {
case LV_PLUGIN_EVENT_SCR_OPEN: case LV_PLUGIN_EVENT_SCR_OPEN:

View File

@ -415,6 +415,8 @@ static void LV_MenuOption_OnSelected(lv_obj_t* obj)
static void UIFlowMenuCommonOption_ScrClose(lv_obj_t* obj) static void UIFlowMenuCommonOption_ScrClose(lv_obj_t* obj)
{ {
DBG_DUMP("%s\r\n", __func__); DBG_DUMP("%s\r\n", __func__);
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("camera mode = %d\n", puiPara->CamMode);
} }
static void UIFlowMenuCommonOption_ChildScrClose(lv_obj_t* obj) static void UIFlowMenuCommonOption_ChildScrClose(lv_obj_t* obj)
@ -498,6 +500,12 @@ static void UIFlowMenuCommonOption_Key(lv_obj_t* obj, uint32_t key)
LV_MenuOption_OnPrev(obj); LV_MenuOption_OnPrev(obj);
break; break;
} }
case LV_KEY_RIGHT:
{
printf("========================== right.\n");
LV_MenuOption_OnSelected(obj);
break;
}
case LV_USER_KEY_SELECT: case LV_USER_KEY_SELECT:
{ {

View File

@ -27,7 +27,6 @@ printf("========================== %d\n", event);
/* default to block next key event until released, could be removed depend on use cases. */ /* default to block next key event until released, could be removed depend on use cases. */
if(key && *key != LV_KEY_ENTER) if(key && *key != LV_KEY_ENTER)
lv_indev_wait_release(lv_indev_get_act()); lv_indev_wait_release(lv_indev_get_act());
printf("sssssssssssssssssssssssssssssssssssssssssssssssssssssss %d\n", *key);
break; break;
} }