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 422b299d3..7ed42f39c 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 @@ -148,4 +148,243 @@ int General_MenuCallback(UINT32 uiMessage, UINT32 uiParam) } } return TMF_PROCESSED; +} + +// static lv_style_t gMatrixStylebg; +// static lv_style_t gMatrixStylebtn; +// static void _init_Matrix_style() +// { +// static int isinitialized = 0; +// if(initialized) +// break; + +// 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(0x02, 0xff, 0xff, 0xff) ; 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; +// } + +// -------------------------------------------------------------------------- +// Sensitivity +// -------------------------------------------------------------------------- +static lv_obj_t *SensitivityTitleLabel = NULL; +static lv_obj_t *SensitivityValueLabel = NULL; +void show_Sensitivity_page(lv_obj_t* obj) +{ + char result[2]; + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + + lv_color_t color = {0}; + static lv_style_t style; + lv_style_init(&style); + lv_style_set_text_font(&style,LV_STATE_DEFAULT,&sf_ui_text_bold_20_8bpp); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&style, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x02, 0x00, 0x00, 0x00) ; lv_style_set_text_color(&style, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&style, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x06, 0x00, 0x00, 0x00) ; lv_style_set_text_color(&style, LV_STATE_FOCUSED, color); + + SensitivityTitleLabel = lv_label_create(obj, NULL); + lv_obj_set_pos(SensitivityTitleLabel, 10, 50); + lv_obj_set_size(SensitivityTitleLabel, 200, 24); + lv_obj_add_style(SensitivityTitleLabel, 0, &style); + lv_obj_set_state(SensitivityTitleLabel, LV_STATE_DEFAULT); + lv_label_set_text(SensitivityTitleLabel, "Sensitivity"); + + STYLE_COLOR_PROP(0xd, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&style, LV_STATE_DEFAULT, color); + lv_style_set_border_width(&style, LV_STATE_DEFAULT, 3); + + sprintf(result, "%d", puiPara->DigitPirSensitivity); + SensitivityValueLabel = lv_label_create(obj, NULL); + lv_obj_set_pos(SensitivityValueLabel, 279, 45); + lv_obj_set_size(SensitivityValueLabel, 30, 30); + lv_obj_add_style(SensitivityValueLabel, 0, &style); + lv_obj_set_state(SensitivityValueLabel, LV_STATE_DEFAULT); + lv_label_set_text(SensitivityValueLabel, result); +} + +void hidde_Sensitivity_page(void) +{ + if(SensitivityTitleLabel) + { + lv_obj_del(SensitivityTitleLabel); + } + if(SensitivityValueLabel) + { + lv_obj_del(SensitivityValueLabel); + } +} + +void Option_Sensitivity_Key(lv_obj_t* obj, uint32_t key) +{ + if(SensitivityTitleLabel == NULL || SensitivityValueLabel == NULL) + { + printf("Sensitivity 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_Sensitivity_Key]s\033[0m\n"); + puiPara->DigitPirSensitivity = (puiPara->DigitPirSensitivity + 9) % 10; + puiPara->PirSwitch = puiPara->DigitPirSensitivity ? 1 : 0; + sprintf(result, "%d", puiPara->DigitPirSensitivity); + lv_label_set_text(SensitivityValueLabel, result); + break; + case LV_USER_KEY_PREV: + printf("\033[33m[Option_Sensitivity_Key]w\033[0m\n"); + puiPara->DigitPirSensitivity = (puiPara->DigitPirSensitivity + 1) % 10; + puiPara->PirSwitch = puiPara->DigitPirSensitivity ? 1 : 0; + sprintf(result, "%d", puiPara->DigitPirSensitivity); + lv_label_set_text(SensitivityValueLabel, result); + break; + case LV_USER_KEY_LEFT: + printf("\033[33m[Option_Sensitivity_Key]a\033[0m\n"); + break; + case LV_USER_KEY_RIGHT: + printf("\033[33m[Option_Sensitivity_Key]d\033[0m\n"); + break; + case LV_USER_KEY_SHUTTER2: + printf("\033[33m[Option_Sensitivity_Key]SELECT\033[0m\n"); + lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); + hidde_Sensitivity_page(); + break; + default: + break; + } +} + + +// -------------------------------------------------------------------------- +// Delay +// -------------------------------------------------------------------------- +void show_Delay_page(lv_obj_t* obj) +{ + // lv_obj_t *button_matrix_1 = lv_btnmatrix_create(parent, NULL); + // lv_obj_set_hidden(button_matrix_1, false); + // lv_obj_set_click(button_matrix_1, true); + // lv_obj_set_drag(button_matrix_1, false); + // lv_obj_set_pos(button_matrix_1, 21, 58); + // lv_obj_set_size(button_matrix_1, 272, 140); + // static const char* button_matrix_1_LVGLPropertyBtnmatrixButtonsText[] = {"Btn1","Btn2","Btn3",""," "," "," ","1",""}; + // lv_btnmatrix_set_map(button_matrix_1, button_matrix_1_LVGLPropertyBtnmatrixButtonsText); + // lv_btnmatrix_set_one_check(button_matrix_1, false); + // lv_btnmatrix_set_focused_btn(button_matrix_1,1); + // lv_btnmatrix_set_one_check(button_matrix_1, false); + // lv_obj_add_style(button_matrix_1, 0, &button_matrix_1_s0); + // lv_obj_add_style(button_matrix_1, 1, &button_matrix_1_s1); +} + +void hidde_Delay_page(void) +{ + +} + +void Option_Delay_Key(lv_obj_t* obj, uint32_t key) +{ + } \ No newline at end of file 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 23cfcfa3d..bc53dc87b 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 @@ -4,4 +4,12 @@ extern TM_MENU gGeneralMenu; extern TM_ITEM gTM_ITEMS_GENERAL[]; +extern void show_Sensitivity_page(lv_obj_t* obj); +extern void hidde_Sensitivity_page(void); +extern void show_Delay_page(lv_obj_t* obj); +extern void hidde_Delay_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); + #endif 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 49173bb64..f9d86e693 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 @@ -80,6 +80,7 @@ int Qr_MenuCallback(UINT32 uiMessage, UINT32 uiParam) } return TMF_PROCESSED; } + char *qr_code_str = "{\"imei\":\"%s\",\"verizonICCID\":\"%s\",\"attICCID\":\"%s\",\"isEsim\":%s}"; static lv_obj_t *qr = NULL; static lv_obj_t *label = NULL; @@ -127,12 +128,113 @@ void hidde_qr_picture_page(void) } } +// -------------------------------------------------------------------------- +// Password +// -------------------------------------------------------------------------- +static int PasswordIndex = 0; +static lv_obj_t* PasswordArray[4]; +void show_Password_page(lv_obj_t* obj) +{ + // char result[2]; + // UIMenuStoreInfo *puiPara = sf_ui_para_get(); + // lv_color_t color = {0}; + + // CameraNameIndex = 0; + // static lv_style_t Camera_Name_style; + // lv_style_init(&Camera_Name_style); + // STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_DEFAULT, color); + // STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_DEFAULT, color); + // lv_style_set_text_font(&Camera_Name_style,LV_STATE_DEFAULT,&sf_ui_text_bold_20_8bpp); + // STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_FOCUSED, color); + // STYLE_COLOR_PROP(0x06, 0x24, 0xfd, 0x0d) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_FOCUSED, color); + + // for(int i = 0; i < 4; i++) { + // if (!(puiPara->CamNameStr[i] >= '0' && puiPara->CamNameStr[i] <= '9') && + // !(puiPara->CamNameStr[i] >= 'A' && puiPara->CamNameStr[i] <= 'Z') && + // puiPara->CamNameStr[i] != ' ') + // { + // memset(puiPara->CamNameStr, ' ', 4); + // break; + // } + // } + + // for(int i = 0; i < 6; i++) + // { + // sprintf(result, "%c", puiPara->CamNameStr[i]); + + // CameraNameArray[i] = lv_label_create(obj, NULL); + // lv_obj_set_pos(CameraNameArray[i], 78+32*i, 108); + // lv_obj_set_size(CameraNameArray[i], 14, 24); + // lv_obj_add_style(CameraNameArray[i], 0, &Camera_Name_style); + // lv_obj_set_state(CameraNameArray[i], LV_STATE_DEFAULT); + // lv_label_set_text(CameraNameArray[i], result); + // } + + // lv_obj_set_state(CameraNameArray[CameraNameIndex], LV_STATE_FOCUSED); +} + +void hidde_Password_page(void) +{ + PasswordIndex = 0; + for(int i = 0; i < 4; i++) + { + if(PasswordArray[i]) + { + lv_obj_del(PasswordArray[i]); + } + } +} + +void Option_Password_Key(lv_obj_t* obj, uint32_t key) +{ + for(int i = 0; i < 4; i++) + { + if(PasswordArray[i] == NULL) + { + printf("CameraNameArray is NULL"); + return; + } + } + + // UIMenuStoreInfo *puiPara = sf_ui_para_get(); + // char result[2]; + // char tmpchar; + // char* p; + printf("key:%d\n",key); + + switch(key) + { + case LV_USER_KEY_NEXT: + printf("\033[33m[Option_Password_Key]s\033[0m\n"); + break; + case LV_USER_KEY_PREV: + printf("\033[33m[Option_Password_Key]w\033[0m\n"); + break; + case LV_USER_KEY_LEFT: + printf("\033[33m[Option_Password_Key]a\033[0m\n"); + break; + case LV_USER_KEY_RIGHT: + printf("\033[33m[Option_Password_Key]d\033[0m\n"); + break; + case LV_USER_KEY_SHUTTER2: + printf("\033[33m[Option_Password_Key]SELECT\033[0m\n"); + lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); + hidde_Password_page(); + break; + default: + break; + } +} + +// -------------------------------------------------------------------------- +// Camera Info +// -------------------------------------------------------------------------- static int CameraInfoIndex = 0; static lv_obj_t *CameraInfolabel = NULL; static int CameraInfoisHidden = 1; static lv_obj_t *CameraInfoTabLabel = NULL; static lv_obj_t * btnm = NULL; -void update_Camera_Info_msg(lv_obj_t* obj) +static void update_Camera_Info_msg(lv_obj_t* obj) { static lv_style_t LabelStyle = {0}; static lv_style_t FocusedLabelStyle = {0}; @@ -358,10 +460,199 @@ void Option_CAMERA_INFO_Key(lv_obj_t* obj, uint32_t key) case LV_USER_KEY_SHUTTER2: printf("\033[33m[Option_CAMERA_INFO_Key]SELECT\033[0m\n"); lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); + hidde_Camera_Info_page(); break; default: break; } - } +// -------------------------------------------------------------------------- +// Camera Name +// -------------------------------------------------------------------------- +static int CameraNameIndex = 0; +static char charMap[37] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', + 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', + 'U', 'V', 'W', 'X', 'Y', 'Z', ' '}; +static lv_obj_t* CameraNameArray[4]; + +void show_Camera_Name_page(lv_obj_t* obj) +{ + char result[2]; + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + lv_color_t color = {0}; + + CameraNameIndex = 0; + + // lv_style_t Camera_Name_style; + // lv_style_init(&Camera_Name_style); + // lv_style_set_radius(&Camera_Name_style,LV_STATE_DEFAULT,0); + // lv_style_set_pad_top(&Camera_Name_style,LV_STATE_DEFAULT,0); + // lv_style_set_pad_bottom(&Camera_Name_style,LV_STATE_DEFAULT,0); + // lv_style_set_pad_left(&Camera_Name_style,LV_STATE_DEFAULT,0); + // lv_style_set_pad_right(&Camera_Name_style,LV_STATE_DEFAULT,0); + // lv_style_set_pad_inner(&Camera_Name_style,LV_STATE_DEFAULT,0); + // lv_style_set_bg_opa(&Camera_Name_style,LV_STATE_DEFAULT,0); + // lv_style_set_border_width(&Camera_Name_style,LV_STATE_DEFAULT,0); + // lv_style_set_text_font(&Camera_Name_style,LV_STATE_FOCUSED|LV_STATE_DEFAULT,&sf_ui_text_bold_20_8bpp); + // STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_DEFAULT, color); + // STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_DEFAULT, color); + // STYLE_COLOR_PROP(0x06, 0x24, 0xfd, 0x0d) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_FOCUSED, color); + + static lv_style_t Camera_Name_style; + lv_style_init(&Camera_Name_style); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_DEFAULT, color); + lv_style_set_text_font(&Camera_Name_style,LV_STATE_DEFAULT,&sf_ui_text_bold_20_8bpp); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x06, 0x24, 0xfd, 0x0d) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_FOCUSED, color); + + for(int i = 0; i < 4; i++) { + if (!(puiPara->CamNameStr[i] >= '0' && puiPara->CamNameStr[i] <= '9') && + !(puiPara->CamNameStr[i] >= 'A' && puiPara->CamNameStr[i] <= 'Z') && + puiPara->CamNameStr[i] != ' ') + { + memset(puiPara->CamNameStr, ' ', 4); + break; + } + } + + for(int i = 0; i < 4; i++) + { + sprintf(result, "%c", puiPara->CamNameStr[i]); + + CameraNameArray[i] = lv_label_create(obj, NULL); + lv_obj_set_pos(CameraNameArray[i], 78+32*i, 108); + lv_obj_set_size(CameraNameArray[i], 14, 24); + lv_obj_add_style(CameraNameArray[i], 0, &Camera_Name_style); + lv_obj_set_state(CameraNameArray[i], LV_STATE_DEFAULT); + lv_label_set_text(CameraNameArray[i], result); + } + + lv_obj_set_state(CameraNameArray[CameraNameIndex], LV_STATE_FOCUSED); +} + +void hidde_Camera_Name_page(void) +{ + CameraNameIndex = 0; + for(int i = 0; i < 4; i++) + { + if(CameraNameArray[i]) + { + lv_obj_del(CameraNameArray[i]); + } + } +} + +void Option_Camera_Name_Key(lv_obj_t* obj, uint32_t key) +{ + for(int i = 0; i < 4; i++) + { + if(CameraNameArray[i] == NULL) + { + printf("CameraNameArray is NULL"); + return; + } + } + + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + char result[2]; + char tmpchar; + char* p; + printf("key:%d camname:%s\n",key,puiPara->CamNameStr); + + switch(key) + { + case LV_USER_KEY_NEXT: + printf("\033[33m[Option_Camera_Name_Key]s\033[0m\n"); + tmpchar = puiPara->CamNameStr[CameraNameIndex]; + if(tmpchar) + { + p = strchr(charMap, tmpchar); + printf("x=%d\n",charMap - p); + if((p - charMap - 1) < 0) + { + puiPara->CamNameStr[CameraNameIndex] = *(charMap + 36); + } + else + { + puiPara->CamNameStr[CameraNameIndex] = *(p - 1); + } + } + else + { + printf("yyyyy\n"); + puiPara->CamNameStr[CameraNameIndex] = ' '; + } + + + for(int i = 0;i < 4;i++) + { + sprintf(result, "%c", puiPara->CamNameStr[i]); + lv_label_set_text(CameraNameArray[i], result); + } + break; + case LV_USER_KEY_PREV: + printf("\033[33m[Option_Camera_Name_Key]w\033[0m\n"); + tmpchar = puiPara->CamNameStr[CameraNameIndex]; + if(tmpchar) + { + p = strchr(charMap, tmpchar); + printf("x=%d\n",charMap - p); + if((p - charMap + 1) % 37 == 0) + { + puiPara->CamNameStr[CameraNameIndex] = *charMap; + } + else + { + puiPara->CamNameStr[CameraNameIndex] = *(p + 1); + } + } + else + { + printf("yyyyy\n"); + puiPara->CamNameStr[CameraNameIndex] = ' '; + } + + for(int i = 0;i < 4;i++) + { + sprintf(result, "%c", puiPara->CamNameStr[i]); + lv_label_set_text(CameraNameArray[i], result); + } + break; + case LV_USER_KEY_LEFT: + printf("\033[33m[Option_Camera_Name_Key]a\033[0m\n"); + CameraNameIndex--; + if(CameraNameIndex < 0) + CameraNameIndex = 0; + for(int i = 0; i < 4; i++) + { + lv_obj_set_state(CameraNameArray[i], LV_STATE_DEFAULT); + } + lv_obj_set_state(CameraNameArray[CameraNameIndex], LV_STATE_FOCUSED); + break; + case LV_USER_KEY_RIGHT: + printf("\033[33m[Option_Camera_Name_Key]d\033[0m\n"); + CameraNameIndex++; + if(CameraNameIndex > 3) + CameraNameIndex = 3; + for(int i = 0; i < 4; i++) + { + lv_obj_set_state(CameraNameArray[i], LV_STATE_DEFAULT); + } + lv_obj_set_state(CameraNameArray[CameraNameIndex], LV_STATE_FOCUSED); + break; + case LV_USER_KEY_SHUTTER2: + printf("\033[33m[Option_Camera_Name_Key]SELECT\033[0m\n"); + lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); + hidde_Camera_Name_page(); + break; + default: + break; + } +} + + + + diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.h index 359ba2584..3c0608d92 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.h @@ -6,8 +6,14 @@ extern TM_ITEM gTM_ITEMS_QR[]; extern void show_qr_picture_page(lv_obj_t* obj); extern void hidde_qr_picture_page(void); +extern void show_Password_page(lv_obj_t* obj); +extern void hidde_Password_page(void); extern void show_Camera_Info_page(lv_obj_t* obj); extern void hidde_Camera_Info_page(void); +extern void show_Camera_Name_page(lv_obj_t* obj); +extern void hidde_Camera_Name_page(void); +extern void Option_Password_Key(lv_obj_t* obj, uint32_t key); extern void Option_CAMERA_INFO_Key(lv_obj_t* obj, uint32_t key); +extern void Option_Camera_Name_Key(lv_obj_t* obj, uint32_t key); #endif 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 4985265cf..7e6b12bc9 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 @@ -155,15 +155,15 @@ static int IsItemSwitch(const TM_ITEM *item) printf(" faield:null pointer.\n"); return -1; } - if (LV_PLUGIN_STRING_ID_STRID_OFF == (&item->pOptions[0])->TextId - ||LV_PLUGIN_STRING_ID_STRID_ON == (&item->pOptions[0])->TextId) - { - printf("item is switch.\n"); - return ITEM_IS_SWITCH; - } else { - printf("item is not switch.\n"); - return ITEM_IS_NOT_SWITCH; - } + // if (LV_PLUGIN_STRING_ID_STRID_OFF == (&item->pOptions[0])->TextId + // ||LV_PLUGIN_STRING_ID_STRID_ON == (&item->pOptions[0])->TextId) + // { + // printf("item is switch.\n"); + // return ITEM_IS_SWITCH; + // } else { + // printf("item is not switch.\n"); + // return ITEM_IS_NOT_SWITCH; + // } return -1; } 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 f35cd572e..2f104c460 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 @@ -11,6 +11,8 @@ static lv_obj_t* menu_item = NULL; static lv_obj_t* label_menu_item = NULL; //static lv_obj_t* label_menu_option = NULL; +static int isSetting = 0; + //static lv_obj_t* option_title = NULL; //static TM_MENU *g_pOptionMenu = 0; @@ -98,22 +100,22 @@ static int is_message_item(lv_obj_t* obj) show_qr_picture_page(obj); return MESSAGE_ITEM_TRUE; } - // case IDM_PASSWORD: - // { - // printf("[is_message_item]IDM_PASSWORD\n"); - // return; - // } + case IDM_PASSWORD: + { + printf("[is_message_item]IDM_PASSWORD\n"); + return MESSAGE_ITEM_FALSE; + } case IDM_CAMERA_INFO: { printf("[is_message_item]IDM_CAMERA_INFO\n"); show_Camera_Info_page(obj); return MESSAGE_ITEM_TRUE; } - // case IDM_CAMERA_NAME: - // { - // printf("[is_message_item]IDM_CAMERA_NAME\n"); - // return; - // } + case IDM_CAMERA_NAME: + { + printf("[is_message_item]IDM_CAMERA_NAME\n"); + return MESSAGE_ITEM_FALSE; + } case IDM_CAMERA_MODE: { @@ -157,6 +159,7 @@ static int is_message_item(lv_obj_t* obj) case IDM_SENSITIVITY: { printf("[is_message_item]IDM_SENSITIVITY\n"); + show_Sensitivity_page(obj); return MESSAGE_ITEM_TRUE; } case IDM_DELAY: @@ -230,7 +233,7 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu) pPage = &pMenu->pPages[pMenu->SelPage]; pItem = &pPage->pItems[pPage->SelItem]; -#if 0 +#if 1 DBG_DUMP("\r\n %s pMenu Status= %d\r\n", __func__, pMenu->Status); DBG_DUMP("\r\n %s pMenu SelPage= %d\r\n", __func__, pMenu->SelPage); DBG_DUMP("\r\n %s pMenu FirstPage= %d\r\n", __func__, pMenu->FirstPage); @@ -298,70 +301,82 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu) } if(MESSAGE_ITEM_FALSE == is_message_item(lv_plugin_scr_act())) { + printf("[LV_MenuCommonOption_UpdateContent]MESSAGE_ITEM_FALSE\n"); lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, false); // LV_MenuCommonOption_UpdateContent(pMenu); } else { + printf("[LV_MenuCommonOption_UpdateContent]MESSAGE_ITEM_TRUE\n"); lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, true); return; } #endif + + + //find 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; + + #if 1 for (i = 0; i < pItem->Count; i++) { + DBG_DUMP("%s enableIndex=%d :%d\r\n", __func__,i,enableIndex[i]); //check option if disable TM_CheckOptionStatus(pMenu, &itemIndex, TRUE); if(itemIndex > pItem->Count){ break; } enableIndex[i] = itemIndex; - //DBG_DUMP("%s enableIndex=%d :%d\r\n", __func__,i,enableIndex[i]); OptionEN_Num = i; if(enableIndex[i] == SelOption){ Selindex = i; } itemIndex++; } + printf("Selindex:%d OptionEN_Num:%d pItem->Count:%d\n",Selindex,OptionEN_Num,pItem->Count); if(Selindex){ if((Selindex / OPTION_PAGE_NUM) == 0){ Selindex = 0; }else{ Selindex = (Selindex / OPTION_PAGE_NUM); + } } - for(i = 0; i < OPTION_PAGE_NUM; i++){ pOption = &pItem->pOptions[enableIndex[i + (Selindex * OPTION_PAGE_NUM)]]; if (((enableIndex[i + (Selindex * OPTION_PAGE_NUM)]) > (pItem->Count -1)) && (i < OPTION_PAGE_NUM)) { + printf("\033[33m[LV_MenuCommonOption_UpdateContent] 1 \033[0m\n"); lv_plugin_menu_set_item_string_id(menu_item, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pOption->TextId); lv_plugin_menu_set_item_img_id(menu_item, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED, pOption->IconId); lv_plugin_menu_set_item_hidden(menu_item, i, true); ui_hidden = true; }else if((i + (Selindex * OPTION_PAGE_NUM)) > OptionEN_Num){ + printf("\033[33m[LV_MenuCommonOption_UpdateContent] 2 \033[0m\n"); lv_plugin_menu_set_item_string_id(menu_item, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pOption->TextId); lv_plugin_menu_set_item_img_id(menu_item, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED, pOption->IconId); lv_plugin_menu_set_item_hidden(menu_item, i, true); ui_hidden = true; }else{ + printf("\033[33m[LV_MenuCommonOption_UpdateContent] 3 \033[0m\n"); lv_plugin_menu_set_item_string_id(menu_item, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pOption->TextId); lv_plugin_menu_set_item_img_id(menu_item, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED, pOption->IconId); lv_plugin_menu_set_item_hidden(menu_item, i, false); ui_hidden = true; if(enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption){ + printf("\033[33m[LV_MenuCommonOption_UpdateContent] 4 %d %d \033[0m\n", i, Selindex); s_SelOption = i + (Selindex * OPTION_PAGE_NUM); lv_plugin_menu_select_item(menu_item, i); ui_hidden = false; } } -// DBG_DUMP("%s ui_hidden=%d\r\n", __func__,ui_hidden); + DBG_DUMP("%s ui_hidden=%d\r\n", __func__,ui_hidden); if(i==0){ lv_obj_set_hidden(image_option1_scr_uiflowmenucommonoption, ui_hidden); }else if(i == 1){ @@ -569,7 +584,28 @@ static void LV_MenuOption_OnSelected(lv_obj_t* obj) if (pItem->ItemId == IDM_LANGUAGE) { } - lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); + if((pItem->ItemId == IDM_PASSWORD || + pItem->ItemId == IDM_CAMERA_NAME) + && pOption->TextId == IDS_CAMERA_NAME_ON) + { + lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, true); + isSetting = 1; + switch (pItem->ItemId) + { + case IDM_PASSWORD: + show_Password_page(obj); + break; + case IDM_CAMERA_NAME: + show_Camera_Name_page(obj); + break; + default: + break; + } + } + else + { + lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); + } } else if (pItem->pOptions != 0) { // custom process pMenu->Status = TMS_ON_CUSTOM; TM_ITEM_CALLBACK(pItem, TMM_CONFIRM_OPTION, pItem->ItemId); // execute custom pPage flow @@ -709,6 +745,7 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event) case LV_PLUGIN_EVENT_SCR_OPEN: { printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_PLUGIN_EVENT_SCR_OPEN\033[0m\n"); + isSetting = 0; UIFlowMenuCommonOption_ScrOpen(obj, lv_event_get_data()); break; } @@ -716,6 +753,7 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event) case LV_PLUGIN_EVENT_SCR_CLOSE: { printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_PLUGIN_EVENT_SCR_CLOSE\033[0m\n"); + isSetting = 0; UIFlowMenuCommonOption_ScrClose(obj); break; } @@ -755,11 +793,27 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event) UIFlowMenuCommonOption_Key(obj, *key); break; case IDM_PASSWORD: + if(isSetting) + { + Option_Password_Key(obj, *key); + } + else + { + UIFlowMenuCommonOption_Key(obj, *key); + } break; case IDM_CAMERA_INFO: Option_CAMERA_INFO_Key(obj, *key); break; case IDM_CAMERA_NAME: + if(isSetting) + { + Option_Camera_Name_Key(obj, *key); + } + else + { + UIFlowMenuCommonOption_Key(obj, *key); + } break; case IDM_CAMERA_MODE: @@ -770,6 +824,8 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event) UIFlowMenuCommonOption_Key(obj, *key); break; case IDM_SENSITIVITY: + Option_Sensitivity_Key(obj, *key); + break; case IDM_DELAY: case IDM_OPERATING_TIME: case IDM_FORMAT_SD: