finish QR General

This commit is contained in:
zyj 2023-10-20 11:47:12 +08:00
parent f307b3bc13
commit c5058da280
6 changed files with 627 additions and 27 deletions

View File

@ -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)
{
}

View File

@ -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

View File

@ -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;
}
}

View File

@ -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

View File

@ -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;
}

View File

@ -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: