From 0a4ce6f5061e24831cc4e8335f481372746a8ea6 Mon Sep 17 00:00:00 2001 From: zyj Date: Mon, 23 Oct 2023 11:30:35 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=8C=E6=88=90=202.=E5=AE=8C=E6=88=90=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E7=95=8C=E9=9D=A2=E9=83=A8=E5=88=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cardv/SrcCode/UIApp/Play/UIPlayComm.c | 145 ++++++++++-- .../UIFlowMenuCommonItem/MenuGeneral.c | 140 ++++++++++- .../UIFlowMenuCommonItem/MenuGeneral.h | 3 + .../UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h | 2 + .../UIFlowMenuCommonItem/MenuMore.c | 30 +++ .../UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c | 4 +- .../UIFlowMenuCommonItem/MenuSend.c | 221 +++++++++++++++++- .../UIFlowMenuCommonItem/MenuSend.h | 5 + .../UIFlowMenuCommonOptionEventCallback.c | 90 +++++-- 9 files changed, 586 insertions(+), 54 deletions(-) diff --git a/code/application/source/cardv/SrcCode/UIApp/Play/UIPlayComm.c b/code/application/source/cardv/SrcCode/UIApp/Play/UIPlayComm.c index a9e2461ae..9bffa3b03 100755 --- a/code/application/source/cardv/SrcCode/UIApp/Play/UIPlayComm.c +++ b/code/application/source/cardv/SrcCode/UIApp/Play/UIPlayComm.c @@ -59,39 +59,69 @@ void ChkKeySoundComm(void) } -#if _TODO + +static BOOL gbNoFile = TRUE; static void xUIPlay_Filesys_DelCB(FIND_DATA *pFindData, BOOL *bDelete, UINT32 Param1, UINT32 Param2) { + INT32 fileNum; + UINT32 fileType; + UINT32 filterType = (DCF_GetDBInfo(DCF_INFO_VALID_FILE_FMT) | DCF_GetDBInfo(DCF_INFO_DEP_FILE_FMT)); + UINT8 attrib; + attrib = pFindData->attrib; + DBG_IND("FileName = %s\r\n", pFindData->FATMainName); + + fileNum = DCF_IsValidFile(pFindData->FATMainName, pFindData->FATExtName, &fileType); + + if (!M_IsReadOnly(attrib) && fileNum && (filterType & fileType)) { + *bDelete = TRUE; + } else { + *bDelete = FALSE; + gbNoFile = FALSE; + } } - static void xUIPlay_Filesys_LockCB(FIND_DATA *pFindData, BOOL *bApply, UINT32 Param1, UINT32 Param2) { + INT32 fileNum; + UINT32 fileType; + UINT32 filterType = (DCF_GetDBInfo(DCF_INFO_VALID_FILE_FMT) | DCF_GetDBInfo(DCF_INFO_DEP_FILE_FMT)); + DBG_IND("FileName = %s\r\n", pFindData->FATMainName); + + fileNum = DCF_IsValidFile(pFindData->FATMainName, pFindData->FATExtName, &fileType); + if (fileNum && (filterType & fileType)) { + *bApply = TRUE; + } else { + *bApply = FALSE; + } } - static void xUIPlay_FList_DCF_DelAll(void) { + SDCFDIRINFO dirinfo; + char path[DCF_FULL_FILE_PATH_LEN]; + BOOL ret; + UINT32 i, uiMaxDirNum; + uiMaxDirNum = DCF_GetDBInfo(DCF_INFO_MAX_DIR_ID); + for (i = 100; i <= uiMaxDirNum; i++) { + // check if folder has file + ret = DCF_GetDirInfo(i, &dirinfo); + if (ret /*&& dirinfo.uiNumOfDcfObj*/) { + // delete all in one folder + DCF_GetDirPath(i, path); + gbNoFile = TRUE; + FileSys_DelDirFiles(path, xUIPlay_Filesys_DelCB); + // delete empty folder + if (gbNoFile) { + if (FileSys_DeleteDir(path) != FST_STA_OK) { + DBG_ERR("Failed to Delete %s.\r\n", path); + } + } + } + } + DCF_Refresh(); } - - - -static ER xUIPlay_FList_DCF_DelFile(UINT32 cmdID) -{ - - return E_OK; -} - -static void xUIPlay_FList_DCF_LockAll(BOOL bLock) -{ - -} - -#endif - - static ER xUIPlay_FList_FDB_ProtectFile(UINT32 cmdID) { FILEDB_HANDLE FileDBHdl = 0; @@ -156,11 +186,26 @@ FDB_Protect_Err: DBG_ERR("cmdID=%d\r\n", cmdID); return E_OK; } +static void xUIPlay_FList_DCF_LockAll(BOOL bLock) +{ + SDCFDIRINFO dirinfo = {0}; + char path[DCF_FULL_FILE_PATH_LEN] = {0}; + UINT32 i, uiMaxDirNum; + uiMaxDirNum = DCF_GetDBInfo(DCF_INFO_MAX_DIR_ID); + for (i = 100; i <= uiMaxDirNum; i++) { + // check if folder has file + if (DCF_GetDirInfo(i, &dirinfo)) { + if (dirinfo.uiNumOfDcfObj) { + DCF_GetDirPath(i, path); + FileSys_LockDirFiles(path, bLock, xUIPlay_Filesys_LockCB); + } + } + } +} static ER xUIPlay_FList_DCF_ProtectFile(UINT32 cmdID) { -#if _TODO char filePath[DCF_FULL_FILE_PATH_LEN]; UINT32 index, i, uiThisFileFormat, tmpFileType; BOOL bLock; @@ -190,8 +235,7 @@ static ER xUIPlay_FList_DCF_ProtectFile(UINT32 cmdID) } xUIPlay_FList_DCF_LockAll(bLock); } -#endif - +//DBG_IND("ProtectTime = %04d ms \r\n", Perf_GetDuration() / 1000); return E_OK; } @@ -314,9 +358,54 @@ static ER xUIPlay_FList_FDB_DelFile(UINT32 cmdID) return E_SYS; } +static ER xUIPlay_FList_DCF_DelFile(UINT32 cmdID) +{ + DBG_IND("cmdID=%d\r\n", cmdID); + if (cmdID == PB_DELETE_ONE) { + //#NT#2016/05/24#Ben Wang -begin + //#NT#Fix the coverity issue. + UINT32 index, uiThisFileFormat, i, tmpFileType; + //#NT#2016/05/24#Ben Wang -end + CHAR filePath[DCF_FULL_FILE_PATH_LEN] = {0}; + index = DCF_GetCurIndex(); + uiThisFileFormat = DCF_GetDBInfo(DCF_INFO_CUR_FILE_TYPE); + for (i = 0; i <= DCF_FILE_TYPE_NUM; i++) { + tmpFileType = 0x0001 << i; + if (uiThisFileFormat & tmpFileType) { + if (DCF_GetObjPath(index, uiThisFileFormat, filePath)) { + if (FST_STA_OK == FileSys_DeleteFile(filePath)) { + DCF_DelDBfile(filePath); + } + } + } + } + } else if (cmdID == PB_DELETE_ALL) { + char filePath[DCF_FULL_FILE_PATH_LEN]; + BOOL ret; + UINT8 attrib = 0; + UINT32 DirID = 0, FileID = 0, Index = 0, uiThisFileFormat = 0; + BOOL isCurrFileReadOnly = FALSE; + Index = DCF_GetDBInfo(DCF_INFO_CUR_INDEX); + DCF_GetObjInfo(Index, &DirID, &FileID, &uiThisFileFormat); + DCF_GetObjPath(Index, uiThisFileFormat, filePath); + ret = FileSys_GetAttrib(filePath, &attrib); + if ((ret == E_OK) && M_IsReadOnly(attrib) == TRUE) { + isCurrFileReadOnly = TRUE; + } + + // --------- delete all files ----------------------- + xUIPlay_FList_DCF_DelAll(); + if (isCurrFileReadOnly) { + Index = DCF_GetIndexByID(DirID, FileID); + DCF_SetCurIndex(Index); + } + DCF_Refresh(); + } + return E_OK; +} void UIPlay_Protect(PLAY_PROTECT_CMD Command) { UINT32 useFileDB = 0; @@ -333,8 +422,14 @@ void UIPlay_Protect(PLAY_PROTECT_CMD Command) void UIPlay_Delete(UINT32 Command) { UINT32 index = 0; - - xUIPlay_FList_FDB_DelFile(Command); + UINT32 useFileDB = 0; + + useFileDB = UI_GetData(FL_IsUseFileDB); + if (useFileDB) { + xUIPlay_FList_FDB_DelFile(Command); + }else{ + xUIPlay_FList_DCF_DelFile(Command); + } PB_GetParam(PBPRMID_CURR_FILESEQ, &index); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c index 58ad4b65f..376eaf6ce 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c @@ -2,6 +2,7 @@ #include "PrjInc.h" #include "UIFlowLVGL/UIFlowMenuCommonItem/TabMenu.h" #include "UIWnd/UIFlow.h" +#include "sf_systemMng.h" TMDEF_BEGIN_OPTIONS(CAMERA_MODE) TMDEF_OPTION_TEXT_S(CAMERA_MODE_PHOTO, TM_OPTION_ENABLE) @@ -99,7 +100,7 @@ int General_MenuCallback(UINT32 uiMessage, UINT32 uiParam) case IDM_IMAGE_SIZE: { puiPara->ImgSize = uwOption; - printf("\033[33m[General_MenuCallback]set CamMode:%d\033[0m\n", uwOption); + printf("\033[33m[General_MenuCallback]set ImgSize:%d\033[0m\n", uwOption); break; } case IDM_VIDEO_SIZE: @@ -112,12 +113,9 @@ int General_MenuCallback(UINT32 uiMessage, UINT32 uiParam) puiPara->VideoLenth = uwOption; break; } - case IDM_NIGHT_MODE: - { - break; - } case IDM_FLASH_POWER: { + puiPara->VideoLenth = uwOption; break; } case IDM_SENSITIVITY: @@ -694,3 +692,135 @@ void Option_Operating_Time_Key(lv_obj_t* obj, uint32_t key) } } +// -------------------------------------------------------------------------- +// DateTime +// -------------------------------------------------------------------------- +static int DateTimeIndex = 0; +static lv_obj_t* DateTimeMatrixObj = NULL; +static char DateTimeMOBuf[3] = "00"; +static char DateTimeDDBuf[3] = "00"; +static char DateTimeYYBuf[5] = "0000"; +static char DateTimeHHBuf[3] = "00"; +static char DateTimeMIBuf[3] = "00"; +static char DateTimeSSBuf[3] = "00"; +static const char* DateTimeMap[12] = +{ + DateTimeMOBuf, + ":", + DateTimeDDBuf, + ":", + DateTimeYYBuf, + " ", + DateTimeHHBuf, + ":", + DateTimeMIBuf, + ":", + DateTimeSSBuf, + "" +}; + +static void update_DateTime_Time_msg(lv_obj_t* obj) +{ + // UIMenuStoreInfo *puiPara = sf_ui_para_get(); + + lv_btnmatrix_set_focused_btn(DateTimeMatrixObj, DateTimeIndex); +} + +void show_DateTime_page(lv_obj_t* obj) +{ + OperatingTimeIndex = 0; + + init_Matrix_style(); + + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + SF_PARA_TIME_S tmptime; + if(puiPara->DateAuto == SF_DATE_AUTO) + { + tmptime.Year = 2023; + tmptime.Mon = 1; + tmptime.Day = 1; + tmptime.Hour = 8; + tmptime.Min = 0; + tmptime.Sec = 0; + } + snprintf(DateTimeMOBuf, 3, "%02d", tmptime.Mon); + snprintf(DateTimeDDBuf, 3, "%02d", tmptime.Day); + snprintf(DateTimeYYBuf, 5, "%04d", tmptime.Year); + snprintf(DateTimeHHBuf, 3, "%02d", tmptime.Hour); + snprintf(DateTimeMIBuf, 3, "%02d", tmptime.Min); + snprintf(DateTimeSSBuf, 3, "%02d", tmptime.Sec); + + + DateTimeMatrixObj = lv_btnmatrix_create(obj, NULL); + lv_obj_set_hidden(DateTimeMatrixObj, false); + lv_obj_set_click(DateTimeMatrixObj, true); + lv_obj_set_drag(DateTimeMatrixObj, false); + lv_obj_set_pos(DateTimeMatrixObj, 25, 58); + lv_obj_set_size(DateTimeMatrixObj, 270, 140); + lv_btnmatrix_set_map(DateTimeMatrixObj, DateTimeMap); + lv_btnmatrix_set_one_check(DateTimeMatrixObj, true); + lv_btnmatrix_set_align(DateTimeMatrixObj, LV_LABEL_ALIGN_CENTER); + lv_btnmatrix_set_focused_btn(DateTimeMatrixObj,0); + lv_btnmatrix_set_one_check(DateTimeMatrixObj, false); + lv_btnmatrix_set_btn_width(DateTimeMatrixObj, 0, 2); + lv_btnmatrix_set_btn_width(DateTimeMatrixObj, 2, 2); + lv_btnmatrix_set_btn_width(DateTimeMatrixObj, 4, 3); + lv_btnmatrix_set_btn_width(DateTimeMatrixObj, 6, 2); + lv_btnmatrix_set_btn_width(DateTimeMatrixObj, 8, 2); + lv_btnmatrix_set_btn_width(DateTimeMatrixObj, 10, 2); + lv_btnmatrix_set_btn_width(DateTimeMatrixObj, 5, 2); + lv_obj_add_style(DateTimeMatrixObj, 0, &gMatrixStylebg); + lv_obj_add_style(DateTimeMatrixObj, 1, &gMatrixStylebtn); +} + +void hidde_DateTime_page(void) +{ + if(DateTimeMatrixObj) + { + lv_obj_del(DateTimeMatrixObj); + } +} + +void Option_DateTime_Key(lv_obj_t* obj, uint32_t key) +{ + if(DateTimeMatrixObj == NULL) + { + printf("DateTimeMatrixObj is NULL"); + return; + } + + // char result[2]; + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + printf("key:%d\n",key); + + switch(key) + { + case LV_USER_KEY_NEXT: + printf("\033[33m[Option_DateTime_Key]s\033[0m\n"); + update_DateTime_Time_msg(obj); + break; + case LV_USER_KEY_PREV: + printf("\033[33m[Option_DateTime_Key]w\033[0m\n"); + update_DateTime_Time_msg(obj); + break; + case LV_USER_KEY_LEFT: + printf("\033[33m[Option_DateTime_Key]a\033[0m\n"); + DateTimeIndex = (DateTimeIndex - 2 + 12) % 12; + update_DateTime_Time_msg(obj); + break; + case LV_USER_KEY_RIGHT: + printf("\033[33m[Option_DateTime_Key]d\033[0m\n"); + DateTimeIndex = (DateTimeIndex + 2) % 12; + update_DateTime_Time_msg(obj); + break; + case LV_KEY_ENTER: + printf("\033[33m[Option_DateTime_Key]SELECT\033[0m\n"); + puiPara->DateAuto = SF_DATE_MANUAL; + lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); + hidde_DateTime_page(); + break; + default: + break; + } +} + diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.h index 1a21e98fd..25af6166a 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.h @@ -10,9 +10,12 @@ extern void show_Delay_page(lv_obj_t* obj); extern void hidde_Delay_page(void); extern void show_Operating_Time_page(lv_obj_t* obj); extern void hidde_Operating_Time_page(void); +extern void show_DateTime_page(lv_obj_t* obj); +extern void hidde_DateTime_page(void); extern void Option_Sensitivity_Key(lv_obj_t* obj, uint32_t key); extern void Option_Delay_Key(lv_obj_t* obj, uint32_t key); extern void Option_Operating_Time_Key(lv_obj_t* obj, uint32_t key); +extern void Option_DateTime_Key(lv_obj_t* obj, uint32_t key); #endif diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h index 06efcebea..922c516a8 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h @@ -735,6 +735,8 @@ enum _MENU_IDS { IDS_BATTERY_TYPE_LITHIUM = LV_PLUGIN_STRING_ID_STRING_LITHIUM, IDS_BATTERY_TYPE_LITH_PACK = LV_PLUGIN_STRING_ID_STRING_LITH_PACK, IDS_SD_LOOP = LV_PLUGIN_STRING_ID_STRING_SD_LOOP, + IDS_SD_LOOP_OFF = LV_PLUGIN_STRING_ID_STRID_OFF, + IDS_SD_LOOP_ON = LV_PLUGIN_STRING_ID_STRID_ON, IDS_CAMERA_FW_UPGRADE = LV_PLUGIN_STRING_ID_STRING_CAMERA_FW_UPGRADE, IDS_MODULE_FW_UPGRADE = LV_PLUGIN_STRING_ID_STRING_MODE_FW_UPGRADE, IDS_RESET = LV_PLUGIN_STRING_ID_STRING_RESET, diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuMore.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuMore.c index a4bdb6d5f..3a0ee1062 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuMore.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuMore.c @@ -9,6 +9,8 @@ TMDEF_OPTION_TEXT_S(BATTERY_TYPE_LITHIUM, TM_OPTION_ENABLE) TMDEF_OPTION_TEXT_S(BATTERY_TYPE_LITH_PACK, TM_OPTION_ENABLE) TMDEF_END_OPTIONS() TMDEF_BEGIN_OPTIONS(SD_LOOP) +TMDEF_OPTION_TEXT_S(SD_LOOP_OFF, TM_OPTION_ENABLE) +TMDEF_OPTION_TEXT_S(SD_LOOP_ON, TM_OPTION_ENABLE) TMDEF_OPTION_TEXT_S(END, TM_OPTION_ENABLE) TMDEF_END_OPTIONS() TMDEF_BEGIN_OPTIONS(CAMERA_FW_UPGRADE) @@ -43,5 +45,33 @@ TMDEF_EMNU(gMoreMenu, MORE, More_MenuCallback) // -------------------------------------------------------------------------- int More_MenuCallback(UINT32 uiMessage, UINT32 uiParam) { + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + // printf(" ====================================================== \n"); + printf("\033[33m[More_MenuCallback]uiMessage:%d uiParam:%d\033[0m\n", uiMessage, uiParam); + UINT16 uwItemId; + UINT16 uwOption; + if (uiMessage == TMM_CONFIRM_OPTION) + { + uwItemId = LO_WORD(uiParam); + uwOption = HI_WORD(uiParam); + switch (uwItemId) + { + case IDM_BATTERY_TYPE: + { + puiPara->BatteryType = uwOption; + printf("\033[33m[Send_MenuCallback]BatteryType:%d\033[0m\n", puiPara->BatteryType); + break; + } + case IDM_SD_LOOP: + { + puiPara->SdLoopSwitch = uwOption; + printf("\033[33m[Send_MenuCallback]SdLoopSwitch:%d\033[0m\n", puiPara->SdLoopSwitch); + break; + } + default: + break; + } + } + return TMF_PROCESSED; } \ No newline at end of file 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 3997cf8ec..3a9312c94 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 @@ -323,7 +323,7 @@ static void update_Camera_Info_msg(lv_obj_t* obj) } break; case 5: - sprintf(tmpStr, "MOD:\n"); + sprintf(tmpStr, "MOD:%s\n", puiPara->ModuleVer); strcat(CamInfoStr, tmpStr); break; default: @@ -355,7 +355,7 @@ static void update_Camera_Info_msg(lv_obj_t* obj) strcat(CamInfoStr, tmpStr); break; case 4: - sprintf(tmpStr, "BLE:\n"); + sprintf(tmpStr, "BLE:%s\n", puiPara->BluSsid); strcat(CamInfoStr, tmpStr); default: break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c index 55c24b633..c4581b1dc 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c @@ -51,11 +51,11 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) // printf(" ====================================================== \n"); printf("\033[33m[Send_MenuCallback]uiMessage:%d uiParam:%d\033[0m\n", uiMessage, uiParam); UINT16 uwItemId; -// UINT16 uwOption; + UINT16 uwOption; if (uiMessage == TMM_CONFIRM_OPTION) { uwItemId = LO_WORD(uiParam); - // uwOption = HI_WORD(uiParam); + uwOption = HI_WORD(uiParam); switch (uwItemId) { case IDM_MAX_NUM_DAY: @@ -65,7 +65,8 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) } case IDM_SETTINGS_CHECK: { - // printf("\033[33m[Send_MenuCallback]SendMaxNum:%d\033[0m\n", puiPara->SendMaxNum); + puiPara->GprsMode = uwOption; + printf("\033[33m[Send_MenuCallback]GprsMode:%d\033[0m\n", puiPara->GprsMode); break; } case IDM_SEND_TYPE: @@ -80,6 +81,7 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) } case IDM_GPS: { + puiPara->GpsSendFlag = uwOption; printf("\033[33m[Send_MenuCallback]GpsSendFlag:%d\033[0m\n", puiPara->GpsSendFlag); break; } @@ -91,4 +93,215 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) } } return TMF_PROCESSED; -} \ No newline at end of file +} +// -------------------------------------------------------------------------- +// Common Function +// -------------------------------------------------------------------------- +static lv_style_t gMatrixStylebg; +static lv_style_t gMatrixStylebtn; +static void init_Matrix_style(void) +{ + static int isinitialized = 0; + if(isinitialized) + return; + + lv_color_t color = {0}; + lv_style_init(&gMatrixStylebg); + lv_style_set_pad_top(&gMatrixStylebg,LV_STATE_DEFAULT,0); + lv_style_set_pad_bottom(&gMatrixStylebg,LV_STATE_DEFAULT,0); + lv_style_set_pad_left(&gMatrixStylebg,LV_STATE_DEFAULT,0); + lv_style_set_pad_right(&gMatrixStylebg,LV_STATE_DEFAULT,0); + lv_style_set_pad_inner(&gMatrixStylebg,LV_STATE_DEFAULT,0); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebg, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebg, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebg, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebg, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebg, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebg, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebg, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebg, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebg, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebg, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebg, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebg, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebg, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebg, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebg, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebg, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebg, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebg, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebg, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebg, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebg, LV_STATE_DISABLED, color); + + lv_style_init(&gMatrixStylebtn); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_value_color(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + lv_style_set_value_font(&gMatrixStylebtn,LV_STATE_DEFAULT,&sf_ui_text_bold_20_8bpp); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + lv_style_set_text_font(&gMatrixStylebtn,LV_STATE_DEFAULT,&sf_ui_text_bold_20_8bpp); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_color(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_bg_color(&gMatrixStylebtn, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_value_color(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_color(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_bg_color(&gMatrixStylebtn, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_value_color(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0xc8, 0x00, 0x00, 0x00) ; lv_style_set_text_color(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_color(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_bg_color(&gMatrixStylebtn, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_value_color(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_color(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_bg_color(&gMatrixStylebtn, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_value_color(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_color(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_bg_color(&gMatrixStylebtn, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_value_color(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_color(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_bg_color(&gMatrixStylebtn, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&gMatrixStylebtn, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&gMatrixStylebtn, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&gMatrixStylebtn, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&gMatrixStylebtn, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&gMatrixStylebtn, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&gMatrixStylebtn, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_value_color(&gMatrixStylebtn, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&gMatrixStylebtn, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_color(&gMatrixStylebtn, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_text_sel_bg_color(&gMatrixStylebtn, LV_STATE_DISABLED, color); + + isinitialized = 1; +} + + +// -------------------------------------------------------------------------- +// MaxNum +// -------------------------------------------------------------------------- +static lv_obj_t *MaxNumTitleLabel = NULL; +static lv_obj_t *MaxNumValueLabel = NULL; +void show_MaxNum_page(lv_obj_t* obj) +{ + init_Matrix_style(); + + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + if(!puiPara->SendMaxNum) + { + puiPara->SendMaxNum = 1; + } + + MaxNumTitleLabel = lv_label_create(obj, NULL); + lv_obj_set_pos(MaxNumTitleLabel, 133, 159); + lv_obj_set_size(MaxNumTitleLabel, 54, 24); + lv_obj_add_style(MaxNumTitleLabel, 0, &gMatrixStylebtn); + lv_obj_set_state(MaxNumTitleLabel, LV_STATE_DEFAULT); + lv_label_set_text(MaxNumTitleLabel, "01-99"); + + char result[3]; + sprintf(result, "%02d", puiPara->SendMaxNum); + MaxNumValueLabel = lv_label_create(obj, NULL); + lv_obj_set_pos(MaxNumValueLabel, 145, 93); + lv_obj_set_size(MaxNumValueLabel, 30, 24); + lv_obj_add_style(MaxNumValueLabel, 0, &gMatrixStylebtn); + lv_obj_set_state(MaxNumValueLabel, LV_STATE_DEFAULT); + lv_label_set_text(MaxNumValueLabel, result); +} + +void hidde_MaxNum_page(void) +{ + if(MaxNumTitleLabel) + { + lv_obj_del(MaxNumTitleLabel); + } + if(MaxNumValueLabel) + { + lv_obj_del(MaxNumValueLabel); + } +} + +void Option_MaxNum_Key(lv_obj_t* obj, uint32_t key) +{ + if(MaxNumTitleLabel == NULL || MaxNumValueLabel == NULL) + { + printf("MaxNum is NULL"); + return; + } + + char result[3]; + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + printf("key:%d\n",key); + + switch(key) + { + case LV_USER_KEY_NEXT: + printf("\033[33m[Option_MaxNum_Key]s\033[0m\n"); + if(puiPara->SendMaxNum > 1 && puiPara->SendMaxNum <= 99) + puiPara->SendMaxNum--; + else + puiPara->SendMaxNum = 99; + sprintf(result, "%d", puiPara->SendMaxNum); + lv_label_set_text(MaxNumValueLabel, result); + break; + case LV_USER_KEY_PREV: + printf("\033[33m[Option_MaxNum_Key]w\033[0m\n"); + if(puiPara->SendMaxNum >= 1 && puiPara->SendMaxNum < 99) + puiPara->SendMaxNum++; + else + puiPara->SendMaxNum = 1; + sprintf(result, "%d", puiPara->SendMaxNum); + lv_label_set_text(MaxNumValueLabel, result); + break; + case LV_USER_KEY_LEFT: + printf("\033[33m[Option_MaxNum_Key]a\033[0m\n"); + break; + case LV_USER_KEY_RIGHT: + printf("\033[33m[Option_MaxNum_Key]d\033[0m\n"); + break; + case LV_KEY_ENTER: + printf("\033[33m[Option_MaxNum_Key]SELECT\033[0m\n"); + lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); + hidde_MaxNum_page(); + break; + default: + break; + } +} + + diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h index 3eefcf366..623504025 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h @@ -4,4 +4,9 @@ extern TM_MENU gSendMenu; extern TM_ITEM gTM_ITEMS_SEND[]; +extern void show_MaxNum_page(lv_obj_t* obj); +extern void hidde_MaxNum_page(void); + +extern void Option_MaxNum_Key(lv_obj_t* obj, uint32_t key); + #endif 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 47f2a8d23..758e36aea 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 @@ -141,22 +141,23 @@ static int is_message_item(lv_obj_t* obj) return MESSAGE_ITEM_FALSE; } case IDM_OPERATING_TIME: - { - printf("[is_message_item]IDM_OPERATING_TIME\n"); - return MESSAGE_ITEM_FALSE; - } + break; case IDM_FORMAT_SD: { printf("[is_message_item]IDM_FORMAT_SD\n"); return MESSAGE_ITEM_TRUE; } case IDM_DATE_AND_TIME: - { - printf("[is_message_item]IDM_DATE_AND_TIME\n"); - return MESSAGE_ITEM_FALSE; - } + break; + + case IDM_MAX_NUM_DAY: + case IDM_SETTINGS_CHECK: + case IDM_SEND_TYPE: + case IDM_CHECK_IN_PHOTO: + case IDM_GPS: + break; default: - break; + break; } return MESSAGE_ITEM_FALSE; } @@ -196,7 +197,7 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu) TM_ITEM *pItem; TM_OPTION *pOption; UINT32 i; - UINT16 startIndex = 0; + // UINT16 startIndex = 0; UINT16 itemIndex = 0; #if 1 UINT16 SelOption = 0; @@ -288,14 +289,14 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu) - //find startIndex - TM_FindStartIndex(pMenu, pItem->Count, &startIndex); - DBG_DUMP("%s startIndex=%d\r\n", __func__,startIndex); + // //find startIndex + // TM_FindStartIndex(pMenu, pItem->Count, &startIndex); + // DBG_DUMP("%s startIndex=%d\r\n", __func__,startIndex); - //draw item form startIndex - itemIndex = startIndex; - + // //draw item form startIndex + // itemIndex = startIndex; + itemIndex = 0; #if 1 for (i = 0; i < pItem->Count; i++) { DBG_DUMP("%s enableIndex=%d :%d\r\n", __func__,i,enableIndex[i]); @@ -563,8 +564,12 @@ static void LV_MenuOption_OnSelected(lv_obj_t* obj) if((pItem->ItemId == IDM_PASSWORD || pItem->ItemId == IDM_CAMERA_NAME || pItem->ItemId == IDM_DELAY || - pItem->ItemId == IDM_OPERATING_TIME) - && pOption->TextId == IDS_CAMERA_NAME_ON) + pItem->ItemId == IDM_OPERATING_TIME || + pItem->ItemId == IDM_DATE_AND_TIME || + pItem->ItemId == IDM_MAX_NUM_DAY) + && (pOption->TextId == IDS_CAMERA_NAME_ON || + pOption->TextId == IDS_DATE_AND_TIME_MANUAL || + pOption->TextId == IDS_MAX_NUM_DAY_NUMBER)) { lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, true); isSetting = 1; @@ -582,6 +587,11 @@ static void LV_MenuOption_OnSelected(lv_obj_t* obj) case IDM_OPERATING_TIME: show_Operating_Time_page(obj); break; + case IDM_DATE_AND_TIME: + show_DateTime_page(obj); + break; + case IDM_MAX_NUM_DAY: + show_MaxNum_page(obj); default: break; } @@ -837,6 +847,50 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event) break; case IDM_FORMAT_SD: case IDM_DATE_AND_TIME: + if(isSetting) + { + Option_DateTime_Key(obj, *key); + } + else + { + UIFlowMenuCommonOption_Key(obj, *key); + } + break; + + case IDM_MAX_NUM_DAY: + if(isSetting) + { + Option_MaxNum_Key(obj, *key); + } + else + { + UIFlowMenuCommonOption_Key(obj, *key); + } + break; + case IDM_SETTINGS_CHECK: + UIFlowMenuCommonOption_Key(obj, *key); + break; + case IDM_SEND_TYPE: + if(isSetting) + { + // Option_Operating_Time_Key(obj, *key); + } + else + { + UIFlowMenuCommonOption_Key(obj, *key); + } + break; + case IDM_CHECK_IN_PHOTO: + case IDM_GPS: + UIFlowMenuCommonOption_Key(obj, *key); + break; + + case IDM_BATTERY_TYPE: + case IDM_SD_LOOP: + case IDM_CAMERA_FW_UPGRADE: + case IDM_MODULE_FW_UPGRADE: + case IDM_RESET: + UIFlowMenuCommonOption_Key(obj, *key); break; default: break;