From b1176dc336e34c033d322a1398f7daf434be8248 Mon Sep 17 00:00:00 2001 From: xiaojiazhu <258828110@qq.com> Date: Tue, 17 Oct 2023 09:08:53 +0800 Subject: [PATCH] Backup switch setting code. --- .../UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c | 2 +- .../UIFlowMenuCommonItemEventCallback.c | 105 +++++++++++++++--- .../UIFlowMenuCommonOptionEventCallback.c | 8 ++ .../UIFlowPasswordEventCallback.c | 1 - 4 files changed, 100 insertions(+), 16 deletions(-) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c index 51b8958f1..7a0a19592 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c @@ -45,7 +45,7 @@ TMDEF_EMNU(gQrMenu, QR, Qr_MenuCallback) // -------------------------------------------------------------------------- int Qr_MenuCallback(UINT32 uiMessage, UINT32 uiParam) { - printf(" ====================================================== \n"); + printf(" ====================================================== gQrMenu\n"); UINT16 uwItemId; // UINT16 uwOption; if (uiMessage == TMM_CONFIRM_OPTION) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c index dd39c96c1..73031bd47 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c @@ -2,6 +2,7 @@ #include "PrjInc.h" #include "UIFlowLVGL/UIFlowLVGL.h" #include "UIApp/Network/UIAppNetwork.h" +#include "UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h" #include #define PAGE 32 @@ -145,7 +146,70 @@ static void LV_MenuItem_OnDown(lv_obj_t* 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) { @@ -177,17 +241,24 @@ static void LV_MenuItem_OnSelected(lv_obj_t* obj) return; } } - - if (pItem->Count != 0 && pItem->SysFlag != 0) // standard process - { - 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 - } + if (ITEM_IS_SWITCH == IsItemSwitch(pItem)) + { + SetSwitchItem(pItem); + LV_MenuCommonItem_UpdateContent(pMenu); + } + else + { + if (pItem->Count != 0 && pItem->SysFlag != 0) // standard process + { + 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){ pItem = &pPage->pItems[pPage->SelItem]; 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_ItemSel = false; 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 uiText[TAB_PAGE]; // 2 pages per menu // 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 Count= %d\r\n", __func__, pMenu->Count); #endif -printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage); + printf("update content select page = %d\n", pMenu->SelPage); pPage = &pMenu->pPages[pMenu->SelPage]; pItem = &pPage->pItems[pPage->SelItem]; #if 1 @@ -384,7 +456,9 @@ printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage); pOption = &pItem->pOptions[SysGetFlag(pItem->SysFlag)]; // 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[] = { LV_PLUGIN_IMG_ID_SF_OFF, LV_PLUGIN_IMG_ID_SF_ON, @@ -393,6 +467,10 @@ printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage); case IDM_MOVIE_WDR: img_id = res[SysGetFlag(FL_MOVIE_WDR)]; 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: img_id = LV_PLUGIN_IMG_ID_SF_OFF; 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) { -printf("========================================= %d\n", event); switch(event) { case LV_PLUGIN_EVENT_SCR_OPEN: diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c index c2109bdb8..2139b14df 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c @@ -415,6 +415,8 @@ static void LV_MenuOption_OnSelected(lv_obj_t* obj) static void UIFlowMenuCommonOption_ScrClose(lv_obj_t* obj) { 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) @@ -498,6 +500,12 @@ static void UIFlowMenuCommonOption_Key(lv_obj_t* obj, uint32_t key) LV_MenuOption_OnPrev(obj); break; } + case LV_KEY_RIGHT: + { + printf("========================== right.\n"); + LV_MenuOption_OnSelected(obj); + break; + } case LV_USER_KEY_SELECT: { diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c index d57e300a7..323b40a18 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c @@ -27,7 +27,6 @@ printf("========================== %d\n", event); /* default to block next key event until released, could be removed depend on use cases. */ if(key && *key != LV_KEY_ENTER) lv_indev_wait_release(lv_indev_get_act()); - printf("sssssssssssssssssssssssssssssssssssssssssssssssssssssss %d\n", *key); break; }