完善Delay功能及UI
This commit is contained in:
parent
3ca10087ad
commit
5c14360b7a
|
@ -503,6 +503,8 @@ void Option_Sensitivity_Key(lv_obj_t* obj, uint32_t key)
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
static int DelayIndex = 0;
|
static int DelayIndex = 0;
|
||||||
static lv_obj_t* DelayMatrixObj = NULL;
|
static lv_obj_t* DelayMatrixObj = NULL;
|
||||||
|
static lv_obj_t* DelayImage = NULL;
|
||||||
|
static lv_obj_t* DelayLabel = NULL;
|
||||||
static char DelayHHBuf[3] = "00";
|
static char DelayHHBuf[3] = "00";
|
||||||
static char DelayMMBuf[3] = "00";
|
static char DelayMMBuf[3] = "00";
|
||||||
static char DelaySSBuf[3] = "00";
|
static char DelaySSBuf[3] = "00";
|
||||||
|
@ -518,29 +520,36 @@ static const char* DelayMap[6] =
|
||||||
|
|
||||||
static void update_Delay_msg(lv_obj_t* obj)
|
static void update_Delay_msg(lv_obj_t* obj)
|
||||||
{
|
{
|
||||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
if(DelayMatrixObj == NULL || DelayImage == NULL)
|
||||||
|
{
|
||||||
|
DBG_ERR("Delay component is not initialized");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
snprintf(DelayHHBuf, 3, "%02d", puiPara->PirDelayTime.Hour);
|
snprintf(DelayHHBuf, 3, "%02d", puiPara->PirDelayTime.Hour);
|
||||||
snprintf(DelayMMBuf, 3, "%02d", puiPara->PirDelayTime.Min);
|
snprintf(DelayMMBuf, 3, "%02d", puiPara->PirDelayTime.Min);
|
||||||
snprintf(DelaySSBuf, 3, "%02d", puiPara->PirDelayTime.Sec);
|
snprintf(DelaySSBuf, 3, "%02d", puiPara->PirDelayTime.Sec);
|
||||||
|
lv_btnmatrix_set_map(DelayMatrixObj, DelayMap);
|
||||||
|
|
||||||
lv_btnmatrix_set_focused_btn(DelayMatrixObj, DelayIndex);
|
lv_btnmatrix_set_focused_btn(DelayMatrixObj, DelayIndex);
|
||||||
lv_btnmatrix_set_map(DelayMatrixObj, DelayMap);
|
|
||||||
|
lv_obj_set_x(DelayImage, (96 + ((32 + 16) / 2) * DelayIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
void show_Delay_page(lv_obj_t* obj)
|
void show_Delay_page(lv_obj_t* obj)
|
||||||
{
|
{
|
||||||
|
if(DelayMatrixObj != NULL || DelayImage != NULL || DelayLabel != NULL)
|
||||||
|
{
|
||||||
|
DBG_ERR("Operating Time component is initialized");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
DelayIndex = 0;
|
DelayIndex = 0;
|
||||||
|
|
||||||
init_Matrix_style();
|
init_Matrix_style();
|
||||||
|
|
||||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
// if(!puiPara->PirDelaySwitch)
|
|
||||||
// {
|
|
||||||
// puiPara->PirDelayTime.Hour = 0;
|
|
||||||
// puiPara->PirDelayTime.Min = 0;
|
|
||||||
// puiPara->PirDelayTime.Sec = 30;
|
|
||||||
// }
|
|
||||||
snprintf(DelayHHBuf, 3, "%02d", puiPara->PirDelayTime.Hour);
|
snprintf(DelayHHBuf, 3, "%02d", puiPara->PirDelayTime.Hour);
|
||||||
snprintf(DelayMMBuf, 3, "%02d", puiPara->PirDelayTime.Min);
|
snprintf(DelayMMBuf, 3, "%02d", puiPara->PirDelayTime.Min);
|
||||||
snprintf(DelaySSBuf, 3, "%02d", puiPara->PirDelayTime.Sec);
|
snprintf(DelaySSBuf, 3, "%02d", puiPara->PirDelayTime.Sec);
|
||||||
|
@ -549,41 +558,65 @@ void show_Delay_page(lv_obj_t* obj)
|
||||||
lv_obj_set_hidden(DelayMatrixObj, false);
|
lv_obj_set_hidden(DelayMatrixObj, false);
|
||||||
lv_obj_set_click(DelayMatrixObj, true);
|
lv_obj_set_click(DelayMatrixObj, true);
|
||||||
lv_obj_set_drag(DelayMatrixObj, false);
|
lv_obj_set_drag(DelayMatrixObj, false);
|
||||||
lv_obj_set_pos(DelayMatrixObj, 92, 58);
|
lv_obj_set_pos(DelayMatrixObj, 96, 108);
|
||||||
lv_obj_set_size(DelayMatrixObj, 136, 140);
|
lv_obj_set_size(DelayMatrixObj, 128, 24);
|
||||||
lv_btnmatrix_set_map(DelayMatrixObj, DelayMap);
|
lv_btnmatrix_set_map(DelayMatrixObj, DelayMap);
|
||||||
lv_btnmatrix_set_one_check(DelayMatrixObj, true);
|
lv_btnmatrix_set_one_check(DelayMatrixObj, true);
|
||||||
lv_btnmatrix_set_align(DelayMatrixObj, LV_LABEL_ALIGN_CENTER);
|
lv_btnmatrix_set_align(DelayMatrixObj, LV_LABEL_ALIGN_CENTER);
|
||||||
lv_btnmatrix_set_focused_btn(DelayMatrixObj,0);
|
lv_btnmatrix_set_focused_btn(DelayMatrixObj,0);
|
||||||
lv_btnmatrix_set_one_check(DelayMatrixObj, false);
|
lv_btnmatrix_set_one_check(DelayMatrixObj, false);
|
||||||
|
lv_btnmatrix_set_btn_width(DelayMatrixObj, 0, 2);
|
||||||
|
lv_btnmatrix_set_btn_width(DelayMatrixObj, 2, 2);
|
||||||
|
lv_btnmatrix_set_btn_width(DelayMatrixObj, 4, 2);
|
||||||
lv_obj_add_style(DelayMatrixObj, 0, &gMatrixStylebg);
|
lv_obj_add_style(DelayMatrixObj, 0, &gMatrixStylebg);
|
||||||
lv_obj_add_style(DelayMatrixObj, 1, &gMatrixStylebtn);
|
lv_obj_add_style(DelayMatrixObj, 1, &gMatrixStylebtn);
|
||||||
|
|
||||||
|
DelayImage = lv_img_create(obj, NULL);
|
||||||
|
lv_obj_set_hidden(DelayImage, false);
|
||||||
|
lv_obj_set_click(DelayImage, false);
|
||||||
|
lv_obj_set_drag(DelayImage, false);
|
||||||
|
lv_obj_set_pos(DelayImage, 96, 78);
|
||||||
|
lv_obj_set_size(DelayImage, 32, 88);
|
||||||
|
lv_img_set_src(DelayImage, &sf_pwd_down_up);
|
||||||
|
|
||||||
|
DelayLabel = lv_label_create(obj, NULL);
|
||||||
|
lv_label_set_text(DelayLabel, "HH : MM : SS");
|
||||||
|
lv_label_set_align(DelayLabel, LV_LABEL_ALIGN_CENTER);
|
||||||
|
lv_obj_set_pos(DelayLabel, 100, 155);
|
||||||
|
lv_obj_set_size(DelayLabel, 128, 21);
|
||||||
|
lv_obj_add_style(DelayLabel, 0, &gStyleLabel0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void hidde_Delay_page(void)
|
void hidde_Delay_page(void)
|
||||||
{
|
{
|
||||||
|
printf("[%s]\n", __FUNCTION__);
|
||||||
|
DelayIndex = 0;
|
||||||
if(DelayMatrixObj)
|
if(DelayMatrixObj)
|
||||||
{
|
{
|
||||||
lv_obj_del(DelayMatrixObj);
|
lv_obj_del(DelayMatrixObj);
|
||||||
|
DelayMatrixObj = NULL;
|
||||||
|
}
|
||||||
|
if(DelayImage)
|
||||||
|
{
|
||||||
|
lv_obj_del(DelayImage);
|
||||||
|
DelayImage = NULL;
|
||||||
|
}
|
||||||
|
if(DelayLabel)
|
||||||
|
{
|
||||||
|
lv_obj_del(DelayLabel);
|
||||||
|
DelayLabel = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Option_Delay_Key(lv_obj_t* obj, uint32_t key)
|
void Option_Delay_Key(lv_obj_t* obj, uint32_t key)
|
||||||
{
|
{
|
||||||
if(DelayMatrixObj == NULL)
|
printf("[%s]key:%d\n", __FUNCTION__, key);
|
||||||
{
|
|
||||||
printf("DelayMatrixObj is NULL");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// char result[2];
|
|
||||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
printf("key:%d\n",key);
|
|
||||||
|
|
||||||
switch(key)
|
switch(key)
|
||||||
{
|
{
|
||||||
case LV_USER_KEY_NEXT:
|
case LV_USER_KEY_NEXT:
|
||||||
printf("\033[33m[Option_Sensitivity_Key]s\033[0m\n");
|
|
||||||
if(DelayIndex == 0)
|
if(DelayIndex == 0)
|
||||||
{
|
{
|
||||||
if(puiPara->PirDelayTime.Hour > 0 && puiPara->PirDelayTime.Hour <= 23)
|
if(puiPara->PirDelayTime.Hour > 0 && puiPara->PirDelayTime.Hour <= 23)
|
||||||
|
@ -610,7 +643,6 @@ void Option_Delay_Key(lv_obj_t* obj, uint32_t key)
|
||||||
update_Delay_msg(obj);
|
update_Delay_msg(obj);
|
||||||
break;
|
break;
|
||||||
case LV_USER_KEY_PREV:
|
case LV_USER_KEY_PREV:
|
||||||
printf("\033[33m[Option_Sensitivity_Key]w\033[0m\n");
|
|
||||||
if(DelayIndex == 0)
|
if(DelayIndex == 0)
|
||||||
{
|
{
|
||||||
if(puiPara->PirDelayTime.Hour >= 23)
|
if(puiPara->PirDelayTime.Hour >= 23)
|
||||||
|
@ -637,17 +669,14 @@ void Option_Delay_Key(lv_obj_t* obj, uint32_t key)
|
||||||
update_Delay_msg(obj);
|
update_Delay_msg(obj);
|
||||||
break;
|
break;
|
||||||
case LV_USER_KEY_LEFT:
|
case LV_USER_KEY_LEFT:
|
||||||
printf("\033[33m[Option_Sensitivity_Key]a\033[0m\n");
|
|
||||||
DelayIndex = (DelayIndex - 2 + 6) % 6;
|
DelayIndex = (DelayIndex - 2 + 6) % 6;
|
||||||
update_Delay_msg(obj);
|
update_Delay_msg(obj);
|
||||||
break;
|
break;
|
||||||
case LV_USER_KEY_RIGHT:
|
case LV_USER_KEY_RIGHT:
|
||||||
printf("\033[33m[Option_Sensitivity_Key]d\033[0m\n");
|
|
||||||
DelayIndex = (DelayIndex + 2) % 6;
|
DelayIndex = (DelayIndex + 2) % 6;
|
||||||
update_Delay_msg(obj);
|
update_Delay_msg(obj);
|
||||||
break;
|
break;
|
||||||
case LV_KEY_ENTER:
|
case LV_KEY_ENTER:
|
||||||
printf("\033[33m[Option_Sensitivity_Key]SELECT\033[0m\n");
|
|
||||||
puiPara->PirDelaySwitch = 1;
|
puiPara->PirDelaySwitch = 1;
|
||||||
lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0));
|
lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0));
|
||||||
hidde_Delay_page();
|
hidde_Delay_page();
|
||||||
|
@ -657,6 +686,77 @@ void Option_Delay_Key(lv_obj_t* obj, uint32_t key)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Option_Delay_Key_Long_Press(lv_obj_t* obj, uint32_t key)
|
||||||
|
{
|
||||||
|
printf("[%s]key:%d\n", __FUNCTION__, key);
|
||||||
|
|
||||||
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
|
|
||||||
|
switch(key)
|
||||||
|
{
|
||||||
|
case LV_USER_KEY_NEXT:
|
||||||
|
if(DelayIndex == 0)
|
||||||
|
{
|
||||||
|
if(puiPara->PirDelayTime.Hour > 0 && puiPara->PirDelayTime.Hour <= 23)
|
||||||
|
puiPara->PirDelayTime.Hour--;
|
||||||
|
else
|
||||||
|
puiPara->PirDelayTime.Hour = 23;
|
||||||
|
}
|
||||||
|
else if(DelayIndex == 2)
|
||||||
|
{
|
||||||
|
if(puiPara->PirDelayTime.Min > 0 && puiPara->PirDelayTime.Min <= 59)
|
||||||
|
puiPara->PirDelayTime.Min--;
|
||||||
|
else
|
||||||
|
puiPara->PirDelayTime.Min = 59;
|
||||||
|
}
|
||||||
|
else if(DelayIndex == 4)
|
||||||
|
{
|
||||||
|
if(puiPara->PirDelayTime.Sec > 0 && puiPara->PirDelayTime.Sec <= 59)
|
||||||
|
puiPara->PirDelayTime.Sec--;
|
||||||
|
else
|
||||||
|
puiPara->PirDelayTime.Sec = 59;
|
||||||
|
}
|
||||||
|
if(puiPara->PirDelayTime.Min == 0 && (puiPara->PirDelayTime.Sec >= 0 && puiPara->PirDelayTime.Sec < 5))
|
||||||
|
puiPara->PirDelayTime.Sec = 59;
|
||||||
|
update_Delay_msg(obj);
|
||||||
|
break;
|
||||||
|
case LV_USER_KEY_PREV:
|
||||||
|
if(DelayIndex == 0)
|
||||||
|
{
|
||||||
|
if(puiPara->PirDelayTime.Hour >= 23)
|
||||||
|
puiPara->PirDelayTime.Hour = 0;
|
||||||
|
else
|
||||||
|
puiPara->PirDelayTime.Hour++;
|
||||||
|
}
|
||||||
|
else if(DelayIndex == 2)
|
||||||
|
{
|
||||||
|
if(puiPara->PirDelayTime.Min >= 59)
|
||||||
|
puiPara->PirDelayTime.Min = 0;
|
||||||
|
else
|
||||||
|
puiPara->PirDelayTime.Min++;
|
||||||
|
}
|
||||||
|
else if(DelayIndex == 4)
|
||||||
|
{
|
||||||
|
if(puiPara->PirDelayTime.Sec == 59)
|
||||||
|
puiPara->PirDelayTime.Sec = 0;
|
||||||
|
else
|
||||||
|
puiPara->PirDelayTime.Sec++;
|
||||||
|
}
|
||||||
|
if(puiPara->PirDelayTime.Min == 0 && (puiPara->PirDelayTime.Sec >= 0 && puiPara->PirDelayTime.Sec < 5))
|
||||||
|
puiPara->PirDelayTime.Sec = 5;
|
||||||
|
update_Delay_msg(obj);
|
||||||
|
break;
|
||||||
|
case LV_USER_KEY_LEFT:
|
||||||
|
break;
|
||||||
|
case LV_USER_KEY_RIGHT:
|
||||||
|
break;
|
||||||
|
case LV_KEY_ENTER:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
// Operating Time
|
// Operating Time
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
|
@ -684,7 +784,7 @@ static void update_Operating_Time_msg(lv_obj_t* obj)
|
||||||
{
|
{
|
||||||
if(OperatingTimeMatrixObj == NULL || OperatingTimeImage == NULL)
|
if(OperatingTimeMatrixObj == NULL || OperatingTimeImage == NULL)
|
||||||
{
|
{
|
||||||
DBG_ERR("Password component is not initialized");
|
DBG_ERR("Operating Time component is not initialized");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -704,7 +804,7 @@ void show_Operating_Time_page(lv_obj_t* obj)
|
||||||
{
|
{
|
||||||
if(OperatingTimeMatrixObj != NULL || OperatingTimeImage != NULL || OperatingTimeLabel != NULL)
|
if(OperatingTimeMatrixObj != NULL || OperatingTimeImage != NULL || OperatingTimeLabel != NULL)
|
||||||
{
|
{
|
||||||
DBG_ERR("Password component is initialized");
|
DBG_ERR("Operating Time component is initialized");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ 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_Delay_Key_Long_Press(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_Operating_Time_Key_Long_Press(lv_obj_t* obj, uint32_t key);
|
extern void Option_Operating_Time_Key_Long_Press(lv_obj_t* obj, uint32_t key);
|
||||||
extern void Option_DateTime_Key(lv_obj_t* obj, uint32_t key);
|
extern void Option_DateTime_Key(lv_obj_t* obj, uint32_t key);
|
||||||
|
|
|
@ -860,6 +860,11 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event)
|
||||||
if(KeyPressingTimeMs > 1 * 1000)
|
if(KeyPressingTimeMs > 1 * 1000)
|
||||||
Option_Camera_Name_Key_Long_Press(obj, *key);
|
Option_Camera_Name_Key_Long_Press(obj, *key);
|
||||||
break;
|
break;
|
||||||
|
case IDM_DELAY:
|
||||||
|
KeyPressingTimeMs += LONG_PRESS_INTERVAL;
|
||||||
|
if(KeyPressingTimeMs > 1 * 1000)
|
||||||
|
Option_Delay_Key_Long_Press(obj, *key);
|
||||||
|
break;
|
||||||
case IDM_OPERATING_TIME:
|
case IDM_OPERATING_TIME:
|
||||||
KeyPressingTimeMs += LONG_PRESS_INTERVAL;
|
KeyPressingTimeMs += LONG_PRESS_INTERVAL;
|
||||||
if(KeyPressingTimeMs > 1 * 1000)
|
if(KeyPressingTimeMs > 1 * 1000)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user