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 6ce0b775d..47832a976 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 @@ -86,12 +86,14 @@ TMDEF_PAGE_TEXT_ICON(GENERAL) TMDEF_END_PAGES() TMDEF_EMNU(gGeneralMenu, GENERAL, General_MenuCallback) +extern void set_menu_changed(int value); // -------------------------------------------------------------------------- // Menu Callback // -------------------------------------------------------------------------- int General_MenuCallback(UINT32 uiMessage, UINT32 uiParam) { UIMenuStoreInfo *puiPara = sf_ui_para_get(); + set_menu_changed(1); // printf(" ====================================================== \n"); printf("\033[33m[General_MenuCallback]uiMessage:%d uiParam:%d\033[0m\n", uiMessage, uiParam); 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 5cdd9ac7d..31a180840 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 @@ -40,6 +40,7 @@ TMDEF_PAGE_TEXT_ICON(MORE) TMDEF_END_PAGES() TMDEF_EMNU(gMoreMenu, MORE, More_MenuCallback) +extern void set_menu_changed(int value); // -------------------------------------------------------------------------- // Menu Callback // -------------------------------------------------------------------------- @@ -58,12 +59,14 @@ int More_MenuCallback(UINT32 uiMessage, UINT32 uiParam) case IDM_BATTERY_TYPE: { puiPara->BatteryType = uwOption; + set_menu_changed(1); printf("\033[33m[Send_MenuCallback]BatteryType:%d\033[0m\n", puiPara->BatteryType); break; } case IDM_SD_LOOP: { puiPara->SdLoopSwitch = uwOption; + set_menu_changed(1); printf("\033[33m[Send_MenuCallback]SdLoopSwitch:%d\033[0m\n", puiPara->SdLoopSwitch); break; } 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 afaacf662..5885f35d5 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 @@ -67,7 +67,7 @@ TMDEF_PAGE_TEXT_ICON(QR) TMDEF_PAGE_TEXT_ICON(QR) TMDEF_END_PAGES() TMDEF_EMNU(gQrMenu, QR, Qr_MenuCallback) - +extern void set_menu_changed(int value); // -------------------------------------------------------------------------- // Menu Callback // -------------------------------------------------------------------------- @@ -97,6 +97,7 @@ int Qr_MenuCallback(UINT32 uiMessage, UINT32 uiParam) { puiPara->PwdSwitch = uwOption; memset(puiPara->PwdStr, '0' ,sizeof(puiPara->PwdStr)); + set_menu_changed(1); } printf("password switch %d\n", puiPara->PwdSwitch); break; @@ -107,6 +108,7 @@ int Qr_MenuCallback(UINT32 uiMessage, UINT32 uiParam) if(tmpSelected != puiPara->CamNameSwitch) { puiPara->CamNameSwitch = tmpSelected; + set_menu_changed(1); memset(puiPara ->CamNameStr,'\0', sizeof(puiPara ->CamNameStr)); sprintf(puiPara ->CamNameStr, "%s", "REVE"); } @@ -1050,6 +1052,7 @@ void Option_Password_Key(lv_obj_t* obj, uint32_t key) update_Password_msg(obj); break; case LV_KEY_ENTER: + set_menu_changed(1); lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); hidde_Password_page(); break; @@ -1266,6 +1269,7 @@ void Option_CAMERA_INFO_Key_Long_Press(lv_obj_t* obj, uint32_t key) { case LV_USER_KEY_NEXT: puiPara->QLogSwitch = puiPara->QLogSwitch ? 0 : 1; + set_menu_changed(1); CameraInfoQlogisHidden = 0; update_Camera_Info_msg(obj); break; @@ -1275,6 +1279,7 @@ void Option_CAMERA_INFO_Key_Long_Press(lv_obj_t* obj, uint32_t key) { puiPara->QLogSwitch = 0; } + set_menu_changed(1); CameraInfoDebugisHidden = 0; update_Camera_Info_msg(obj); break; @@ -1535,6 +1540,7 @@ void Option_Camera_Name_Key(lv_obj_t* obj, uint32_t key) update_Camera_Name_msg(obj); break; case LV_KEY_ENTER: + set_menu_changed(1); lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); hidde_Camera_Name_page(); 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 553ec3484..e2701afeb 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 @@ -45,6 +45,7 @@ TMDEF_END_PAGES() TMDEF_EMNU(gSendMenu, SEND, Send_MenuCallback) +extern void set_menu_changed(int value); static lv_style_t gStyleLabel0; // -------------------------------------------------------------------------- @@ -53,6 +54,7 @@ static lv_style_t gStyleLabel0; int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) { UIMenuStoreInfo *puiPara = sf_ui_para_get(); + set_menu_changed(1); // printf(" ====================================================== \n"); printf("\033[33m[Send_MenuCallback]uiMessage:%d uiParam:%d\033[0m\n", uiMessage, uiParam); UINT16 uwItemId; 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 dc43f942a..cc0844d22 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 @@ -29,7 +29,10 @@ BOOL PrevSel_Img = false; #define MENU_LUCK -1 #define MENU_UNLUCK 0 #define MENU_CLOSED 1 +#define MENU_HAS_CHANGED 1 +#define MENU_HAS_NOT_CHANGED 0 static int gMenuLuck = MENU_CLOSED; +static int gMenuChanged = MENU_HAS_NOT_CHANGED; int is_menu_screen_luck(void) { return gMenuLuck; @@ -38,6 +41,10 @@ lv_obj_t *menu_opened_get(void) { return menu_item; } +void set_menu_changed(int value) +{ + gMenuChanged = value; +} static BOOL sf_is_4g_module_usb_update_file_exist(UINT8 *updateFname) { DIR *dirp = NULL; @@ -469,6 +476,7 @@ static void LV_MenuItem_OnSelected(lv_obj_t* obj) SelOption = SysGetFlag(pItem->SysFlag) == SWITCH_OFF ? SWITCH_ON : SWITCH_OFF; //static int flag = 0; SysSetFlag(pItem->SysFlag, SelOption); + set_menu_changed(MENU_HAS_CHANGED); pCurMenu = TM_GetTabMenu(pMenu->SelPage); TM_MENU_CALLBACK(pCurMenu, TMM_CONFIRM_OPTION, MAKE_LONG(pItem->ItemId, SelOption)); // TM_MENU_CALLBACK(MenuList[pMenu->SelPage], TMM_CONFIRM_OPTION, MAKE_LONG(pItem->ItemId, SelOption)); @@ -1040,7 +1048,12 @@ static void UIFlowMenuCommonItem_ScrClose(lv_obj_t* obj) { DBG_DUMP("%s\r\n", __func__); sf_set_keep_alive_time(DEFAULT_GO_TO_WORK_MODE_TIME_S); - Save_MenuInfo(); + if (MENU_HAS_CHANGED == gMenuChanged) + { + printf(" gui save menu info.\n"); + gMenuChanged = MENU_HAS_NOT_CHANGED; + Save_MenuInfo(); + } LV_MenuItem_OnClose(obj); gMenuLuck = MENU_CLOSED; #if HUNTING_CAMERA_MCU == ENABLE