1.删除文件功能完成
2.完成设置界面部分功能
This commit is contained in:
parent
74062bd831
commit
0a4ce6f506
|
@ -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)
|
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)
|
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)
|
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)
|
static ER xUIPlay_FList_FDB_ProtectFile(UINT32 cmdID)
|
||||||
{
|
{
|
||||||
FILEDB_HANDLE FileDBHdl = 0;
|
FILEDB_HANDLE FileDBHdl = 0;
|
||||||
|
@ -156,11 +186,26 @@ FDB_Protect_Err:
|
||||||
DBG_ERR("cmdID=%d\r\n", cmdID);
|
DBG_ERR("cmdID=%d\r\n", cmdID);
|
||||||
return E_OK;
|
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)
|
static ER xUIPlay_FList_DCF_ProtectFile(UINT32 cmdID)
|
||||||
{
|
{
|
||||||
#if _TODO
|
|
||||||
char filePath[DCF_FULL_FILE_PATH_LEN];
|
char filePath[DCF_FULL_FILE_PATH_LEN];
|
||||||
UINT32 index, i, uiThisFileFormat, tmpFileType;
|
UINT32 index, i, uiThisFileFormat, tmpFileType;
|
||||||
BOOL bLock;
|
BOOL bLock;
|
||||||
|
@ -190,8 +235,7 @@ static ER xUIPlay_FList_DCF_ProtectFile(UINT32 cmdID)
|
||||||
}
|
}
|
||||||
xUIPlay_FList_DCF_LockAll(bLock);
|
xUIPlay_FList_DCF_LockAll(bLock);
|
||||||
}
|
}
|
||||||
#endif
|
//DBG_IND("ProtectTime = %04d ms \r\n", Perf_GetDuration() / 1000);
|
||||||
|
|
||||||
return E_OK;
|
return E_OK;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -314,9 +358,54 @@ static ER xUIPlay_FList_FDB_DelFile(UINT32 cmdID)
|
||||||
return E_SYS;
|
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)
|
void UIPlay_Protect(PLAY_PROTECT_CMD Command)
|
||||||
{
|
{
|
||||||
UINT32 useFileDB = 0;
|
UINT32 useFileDB = 0;
|
||||||
|
@ -333,8 +422,14 @@ void UIPlay_Protect(PLAY_PROTECT_CMD Command)
|
||||||
void UIPlay_Delete(UINT32 Command)
|
void UIPlay_Delete(UINT32 Command)
|
||||||
{
|
{
|
||||||
UINT32 index = 0;
|
UINT32 index = 0;
|
||||||
|
UINT32 useFileDB = 0;
|
||||||
|
|
||||||
xUIPlay_FList_FDB_DelFile(Command);
|
useFileDB = UI_GetData(FL_IsUseFileDB);
|
||||||
|
if (useFileDB) {
|
||||||
|
xUIPlay_FList_FDB_DelFile(Command);
|
||||||
|
}else{
|
||||||
|
xUIPlay_FList_DCF_DelFile(Command);
|
||||||
|
}
|
||||||
|
|
||||||
PB_GetParam(PBPRMID_CURR_FILESEQ, &index);
|
PB_GetParam(PBPRMID_CURR_FILESEQ, &index);
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include "PrjInc.h"
|
#include "PrjInc.h"
|
||||||
#include "UIFlowLVGL/UIFlowMenuCommonItem/TabMenu.h"
|
#include "UIFlowLVGL/UIFlowMenuCommonItem/TabMenu.h"
|
||||||
#include "UIWnd/UIFlow.h"
|
#include "UIWnd/UIFlow.h"
|
||||||
|
#include "sf_systemMng.h"
|
||||||
|
|
||||||
TMDEF_BEGIN_OPTIONS(CAMERA_MODE)
|
TMDEF_BEGIN_OPTIONS(CAMERA_MODE)
|
||||||
TMDEF_OPTION_TEXT_S(CAMERA_MODE_PHOTO, TM_OPTION_ENABLE)
|
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:
|
case IDM_IMAGE_SIZE:
|
||||||
{
|
{
|
||||||
puiPara->ImgSize = uwOption;
|
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;
|
break;
|
||||||
}
|
}
|
||||||
case IDM_VIDEO_SIZE:
|
case IDM_VIDEO_SIZE:
|
||||||
|
@ -112,12 +113,9 @@ int General_MenuCallback(UINT32 uiMessage, UINT32 uiParam)
|
||||||
puiPara->VideoLenth = uwOption;
|
puiPara->VideoLenth = uwOption;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IDM_NIGHT_MODE:
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case IDM_FLASH_POWER:
|
case IDM_FLASH_POWER:
|
||||||
{
|
{
|
||||||
|
puiPara->VideoLenth = uwOption;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IDM_SENSITIVITY:
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,12 @@ extern void show_Delay_page(lv_obj_t* obj);
|
||||||
extern void hidde_Delay_page(void);
|
extern void hidde_Delay_page(void);
|
||||||
extern void show_Operating_Time_page(lv_obj_t* obj);
|
extern void show_Operating_Time_page(lv_obj_t* obj);
|
||||||
extern void hidde_Operating_Time_page(void);
|
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_Sensitivity_Key(lv_obj_t* obj, uint32_t key);
|
||||||
extern void Option_Delay_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_Operating_Time_Key(lv_obj_t* obj, uint32_t key);
|
||||||
|
extern void Option_DateTime_Key(lv_obj_t* obj, uint32_t key);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -735,6 +735,8 @@ enum _MENU_IDS {
|
||||||
IDS_BATTERY_TYPE_LITHIUM = LV_PLUGIN_STRING_ID_STRING_LITHIUM,
|
IDS_BATTERY_TYPE_LITHIUM = LV_PLUGIN_STRING_ID_STRING_LITHIUM,
|
||||||
IDS_BATTERY_TYPE_LITH_PACK = LV_PLUGIN_STRING_ID_STRING_LITH_PACK,
|
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 = 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_CAMERA_FW_UPGRADE = LV_PLUGIN_STRING_ID_STRING_CAMERA_FW_UPGRADE,
|
||||||
IDS_MODULE_FW_UPGRADE = LV_PLUGIN_STRING_ID_STRING_MODE_FW_UPGRADE,
|
IDS_MODULE_FW_UPGRADE = LV_PLUGIN_STRING_ID_STRING_MODE_FW_UPGRADE,
|
||||||
IDS_RESET = LV_PLUGIN_STRING_ID_STRING_RESET,
|
IDS_RESET = LV_PLUGIN_STRING_ID_STRING_RESET,
|
||||||
|
|
|
@ -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_OPTION_TEXT_S(BATTERY_TYPE_LITH_PACK, TM_OPTION_ENABLE)
|
||||||
TMDEF_END_OPTIONS()
|
TMDEF_END_OPTIONS()
|
||||||
TMDEF_BEGIN_OPTIONS(SD_LOOP)
|
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_OPTION_TEXT_S(END, TM_OPTION_ENABLE)
|
||||||
TMDEF_END_OPTIONS()
|
TMDEF_END_OPTIONS()
|
||||||
TMDEF_BEGIN_OPTIONS(CAMERA_FW_UPGRADE)
|
TMDEF_BEGIN_OPTIONS(CAMERA_FW_UPGRADE)
|
||||||
|
@ -43,5 +45,33 @@ TMDEF_EMNU(gMoreMenu, MORE, More_MenuCallback)
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
int More_MenuCallback(UINT32 uiMessage, UINT32 uiParam)
|
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;
|
return TMF_PROCESSED;
|
||||||
}
|
}
|
|
@ -323,7 +323,7 @@ static void update_Camera_Info_msg(lv_obj_t* obj)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
sprintf(tmpStr, "MOD:\n");
|
sprintf(tmpStr, "MOD:%s\n", puiPara->ModuleVer);
|
||||||
strcat(CamInfoStr, tmpStr);
|
strcat(CamInfoStr, tmpStr);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -355,7 +355,7 @@ static void update_Camera_Info_msg(lv_obj_t* obj)
|
||||||
strcat(CamInfoStr, tmpStr);
|
strcat(CamInfoStr, tmpStr);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
sprintf(tmpStr, "BLE:\n");
|
sprintf(tmpStr, "BLE:%s\n", puiPara->BluSsid);
|
||||||
strcat(CamInfoStr, tmpStr);
|
strcat(CamInfoStr, tmpStr);
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -51,11 +51,11 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam)
|
||||||
// printf(" ====================================================== \n");
|
// printf(" ====================================================== \n");
|
||||||
printf("\033[33m[Send_MenuCallback]uiMessage:%d uiParam:%d\033[0m\n", uiMessage, uiParam);
|
printf("\033[33m[Send_MenuCallback]uiMessage:%d uiParam:%d\033[0m\n", uiMessage, uiParam);
|
||||||
UINT16 uwItemId;
|
UINT16 uwItemId;
|
||||||
// UINT16 uwOption;
|
UINT16 uwOption;
|
||||||
if (uiMessage == TMM_CONFIRM_OPTION)
|
if (uiMessage == TMM_CONFIRM_OPTION)
|
||||||
{
|
{
|
||||||
uwItemId = LO_WORD(uiParam);
|
uwItemId = LO_WORD(uiParam);
|
||||||
// uwOption = HI_WORD(uiParam);
|
uwOption = HI_WORD(uiParam);
|
||||||
switch (uwItemId)
|
switch (uwItemId)
|
||||||
{
|
{
|
||||||
case IDM_MAX_NUM_DAY:
|
case IDM_MAX_NUM_DAY:
|
||||||
|
@ -65,7 +65,8 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam)
|
||||||
}
|
}
|
||||||
case IDM_SETTINGS_CHECK:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
case IDM_SEND_TYPE:
|
case IDM_SEND_TYPE:
|
||||||
|
@ -80,6 +81,7 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam)
|
||||||
}
|
}
|
||||||
case IDM_GPS:
|
case IDM_GPS:
|
||||||
{
|
{
|
||||||
|
puiPara->GpsSendFlag = uwOption;
|
||||||
printf("\033[33m[Send_MenuCallback]GpsSendFlag:%d\033[0m\n", puiPara->GpsSendFlag);
|
printf("\033[33m[Send_MenuCallback]GpsSendFlag:%d\033[0m\n", puiPara->GpsSendFlag);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -92,3 +94,214 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam)
|
||||||
}
|
}
|
||||||
return TMF_PROCESSED;
|
return TMF_PROCESSED;
|
||||||
}
|
}
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
// 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,4 +4,9 @@
|
||||||
extern TM_MENU gSendMenu;
|
extern TM_MENU gSendMenu;
|
||||||
extern TM_ITEM gTM_ITEMS_SEND[];
|
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
|
#endif
|
||||||
|
|
|
@ -141,22 +141,23 @@ static int is_message_item(lv_obj_t* obj)
|
||||||
return MESSAGE_ITEM_FALSE;
|
return MESSAGE_ITEM_FALSE;
|
||||||
}
|
}
|
||||||
case IDM_OPERATING_TIME:
|
case IDM_OPERATING_TIME:
|
||||||
{
|
break;
|
||||||
printf("[is_message_item]IDM_OPERATING_TIME\n");
|
|
||||||
return MESSAGE_ITEM_FALSE;
|
|
||||||
}
|
|
||||||
case IDM_FORMAT_SD:
|
case IDM_FORMAT_SD:
|
||||||
{
|
{
|
||||||
printf("[is_message_item]IDM_FORMAT_SD\n");
|
printf("[is_message_item]IDM_FORMAT_SD\n");
|
||||||
return MESSAGE_ITEM_TRUE;
|
return MESSAGE_ITEM_TRUE;
|
||||||
}
|
}
|
||||||
case IDM_DATE_AND_TIME:
|
case IDM_DATE_AND_TIME:
|
||||||
{
|
break;
|
||||||
printf("[is_message_item]IDM_DATE_AND_TIME\n");
|
|
||||||
return MESSAGE_ITEM_FALSE;
|
case IDM_MAX_NUM_DAY:
|
||||||
}
|
case IDM_SETTINGS_CHECK:
|
||||||
|
case IDM_SEND_TYPE:
|
||||||
|
case IDM_CHECK_IN_PHOTO:
|
||||||
|
case IDM_GPS:
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return MESSAGE_ITEM_FALSE;
|
return MESSAGE_ITEM_FALSE;
|
||||||
}
|
}
|
||||||
|
@ -196,7 +197,7 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
|
||||||
TM_ITEM *pItem;
|
TM_ITEM *pItem;
|
||||||
TM_OPTION *pOption;
|
TM_OPTION *pOption;
|
||||||
UINT32 i;
|
UINT32 i;
|
||||||
UINT16 startIndex = 0;
|
// UINT16 startIndex = 0;
|
||||||
UINT16 itemIndex = 0;
|
UINT16 itemIndex = 0;
|
||||||
#if 1
|
#if 1
|
||||||
UINT16 SelOption = 0;
|
UINT16 SelOption = 0;
|
||||||
|
@ -288,14 +289,14 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//find startIndex
|
// //find startIndex
|
||||||
TM_FindStartIndex(pMenu, pItem->Count, &startIndex);
|
// TM_FindStartIndex(pMenu, pItem->Count, &startIndex);
|
||||||
DBG_DUMP("%s startIndex=%d\r\n", __func__,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
|
#if 1
|
||||||
for (i = 0; i < pItem->Count; i++) {
|
for (i = 0; i < pItem->Count; i++) {
|
||||||
DBG_DUMP("%s enableIndex=%d :%d\r\n", __func__,i,enableIndex[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 ||
|
if((pItem->ItemId == IDM_PASSWORD ||
|
||||||
pItem->ItemId == IDM_CAMERA_NAME ||
|
pItem->ItemId == IDM_CAMERA_NAME ||
|
||||||
pItem->ItemId == IDM_DELAY ||
|
pItem->ItemId == IDM_DELAY ||
|
||||||
pItem->ItemId == IDM_OPERATING_TIME)
|
pItem->ItemId == IDM_OPERATING_TIME ||
|
||||||
&& pOption->TextId == IDS_CAMERA_NAME_ON)
|
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);
|
lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, true);
|
||||||
isSetting = 1;
|
isSetting = 1;
|
||||||
|
@ -582,6 +587,11 @@ static void LV_MenuOption_OnSelected(lv_obj_t* obj)
|
||||||
case IDM_OPERATING_TIME:
|
case IDM_OPERATING_TIME:
|
||||||
show_Operating_Time_page(obj);
|
show_Operating_Time_page(obj);
|
||||||
break;
|
break;
|
||||||
|
case IDM_DATE_AND_TIME:
|
||||||
|
show_DateTime_page(obj);
|
||||||
|
break;
|
||||||
|
case IDM_MAX_NUM_DAY:
|
||||||
|
show_MaxNum_page(obj);
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -837,6 +847,50 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event)
|
||||||
break;
|
break;
|
||||||
case IDM_FORMAT_SD:
|
case IDM_FORMAT_SD:
|
||||||
case IDM_DATE_AND_TIME:
|
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;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user