static void get_num_from_string(char * str, char * delimiters, hal_rtc_t * date_time);
static void get_optstr_from_num(uint8_t num, uint8_t num2, char * stropt, uint8_t type);
+#ifdef __MMI_ALARM_EDIT_SUPPORT__
+static void alarm_list_add_add_btn(lv_obj_t * list);
+#endif
+
/**********************
* GLOBAL FUNCTIONS
***********************/
lv_obj_set_hidden(btn_add, true);
lv_obj_set_hidden(img_add, true);
+#ifdef __MMI_ALARM_EDIT_SUPPORT__
+ alarm_list_add_add_btn(list);
+#else
if(true == t_is_empty)
{
lv_obj_set_hidden(title, true);
lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
lv_obj_set_click(label, false);
}
+#endif
#endif
return obj;
lv_page_glue_obj(btn, true);
lv_obj_add_protect(btn, LV_PROTECT_PRESS_LOST);
//lv_obj_set_event_cb(btn, alarm_list_edit_btn_action);
-#if UI_UP_REMIND
+#ifdef __MMI_ALARM_EDIT_SUPPORT__
lv_obj_set_event_cb(btn, alarm_list_edit_btn_action);
#elif defined(__MMI_ZHSX_SUPPORT__)
lv_obj_set_event_cb(btn, NULL);
lv_obj_del(anim->var);
}
+#ifdef __MMI_ALARM_EDIT_SUPPORT__
+static void alarm_list_add_add_btn(lv_obj_t * list)
+{
+ /*Create a list element with the image an the text*/
+ lv_obj_t * btn = lv_btn_create(list, NULL);
+
+ /*Set the default styles*/
+ lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE);
+ lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_20);
+ lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 15);
+ lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0);
+ lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0);
+ lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0);
+ lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0);
+ lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0);
+ lv_obj_set_style_local_line_width(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0);
+ lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, LV_COLOR_WHITE);
+ lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, LV_OPA_20);
+ lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 15);
+ lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 0);
+ lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 0);
+ lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 0);
+ lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 0);
+ lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 0);
+ lv_obj_set_style_local_line_width(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 0);
+
+ lv_page_glue_obj(btn, true);
+ lv_obj_add_protect(btn, LV_PROTECT_PRESS_LOST);
+ //lv_obj_set_event_cb(btn, alarm_list_edit_btn_action);
+ lv_obj_set_event_cb(btn, alarm_list_add_btn_action);
+ lv_watch_obj_add_element(btn);
+
+ /*Make the size adjustment*/
+ lv_coord_t w = lv_obj_get_width(list);
+ uint8_t pad_w = w - lv_obj_get_style_pad_left(list, LV_LIST_PART_SCROLLABLE);
+#if USE_LV_WATCH_UI_240_320
+ lv_obj_set_size(btn, pad_w, LV_VER_RES / 8 + LV_VER_RES / 8);
+#elif defined(USE_LV_WATCH_UI_466_466)
+ lv_obj_set_size(btn, w, 102);
+#elif defined(USE_LV_WATCH_UI_CIRCLE)
+ lv_obj_set_size(btn, pad_w, 56 + 4);
+#else
+ lv_obj_set_size(btn, pad_w, 56);
+#endif
+
+ lv_obj_t * cont = lv_cont_create(btn, NULL);
+ lv_obj_set_width(cont, pad_w);
+ lv_obj_add_style(cont, LV_CONT_PART_MAIN, &lv_watch_style_transp);
+ lv_obj_set_click(cont, false);
+ lv_cont_set_fit2(cont, LV_FIT_PARENT, LV_FIT_PARENT);
+
+ lv_obj_t * img = lv_img_create(cont, NULL);
+ lv_img_set_src(img, ICON_PLUS);
+ lv_obj_align(img, NULL, LV_ALIGN_IN_LEFT_MID, 20, 0);
+
+ lv_obj_t * label = lv_label_create(cont, NULL);
+ lv_label_set_long_mode(label, LV_LABEL_LONG_SROLL);
+ lv_obj_set_size(label, w * 3 / 5, LV_VER_RES / 8);
+#ifdef USE_LV_WATCH_UI_466_466
+ lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font40);
+#else
+ lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font20);
+#endif
+ lv_obj_set_click(label, false);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_SUNDAY);
+ lv_obj_align(label, img, LV_ALIGN_OUT_RIGHT_MID, 20, 0);
+}
+#endif
+
static void alarm_list_switch_action(lv_obj_t * obj, lv_event_t e)
{
if(LV_EVENT_VALUE_CHANGED != e) {
lv_alarm_list_obj_ext_t * ext = alarm_list_get_ext();
+#ifdef USE_LV_WATCH_UI_466_466
+ lv_obj_t * label = lv_label_create(par, NULL);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_TIME_SETTING);
+ lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font26_gray);
+ lv_obj_align(label, NULL, LV_ALIGN_IN_TOP_MID, 0, 20);
+
+ content = lv_cont_create(par, NULL);
+ lv_obj_set_size(content, LV_HOR_RES*5/6, LV_VER_RES/2);
+ lv_obj_set_pos(content, 0, lv_obj_get_height(label));
+ lv_cont_set_layout(content, LV_LAYOUT_ROW_MID);
+ lv_obj_add_style(content, LV_CONT_PART_MAIN, &lv_style_transp);
+ lv_obj_set_style_local_pad_top(content, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 2);
+ lv_obj_set_style_local_pad_bottom(content, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 2);
+ lv_obj_set_style_local_pad_left(content, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 15);
+ lv_obj_set_style_local_pad_right(content, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 15);
+ lv_obj_set_style_local_pad_inner(content, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 5);
+ lv_obj_align(content, label, LV_ALIGN_OUT_BOTTOM_MID, 0, 5);
+ lv_obj_set_base_dir(content, LV_BIDI_DIR_LTR);
+
+ /*roller1 hour*/
+ roller1_cont = lv_cont_create(content, NULL);
+ lv_obj_set_size(roller1_cont, lv_obj_get_width(content) / 2, lv_obj_get_height(content));
+ lv_cont_set_layout(roller1_cont, LV_LAYOUT_OFF);
+ lv_obj_add_style(roller1_cont, LV_CONT_PART_MAIN, &lv_watch_style_transp);
+
+ roller1 = lv_roller_create(roller1_cont, NULL);
+ ext->roller[0] = roller1;
+ lv_obj_add_style(roller1, LV_ROLLER_PART_BG, &lv_watch_font30_gray);
+ lv_obj_set_style_local_text_line_space(roller1, LV_ROLLER_PART_BG, LV_STATE_DEFAULT, 30);
+ lv_obj_set_style_local_bg_opa(roller1, LV_ROLLER_PART_BG, LV_STATE_DEFAULT, LV_OPA_TRANSP);
+ lv_obj_add_style(roller1, LV_ROLLER_PART_SELECTED, &lv_watch_font30_gray);
+ lv_obj_set_style_local_text_line_space(roller1, LV_ROLLER_PART_SELECTED, LV_STATE_DEFAULT, 30);
+ lv_obj_set_style_local_bg_opa(roller1, LV_ROLLER_PART_SELECTED, LV_STATE_DEFAULT, LV_OPA_TRANSP);
+ lv_roller_set_visible_row_count(roller1, 3);
+
+ /*label1*/
+ label1 = lv_label_create(content, NULL);
+ lv_obj_set_style_local_text_font(label1, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_THEME_WATCH_NIGHT_FONT_BIG);
+ lv_obj_set_style_local_text_color(label1, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_ORANGE);
+ lv_label_set_text(label1, ":");
+
+ /*roller2 minute*/
+ roller2_cont = lv_cont_create(content, roller1_cont);
+ roller2 = lv_roller_create(roller2_cont, NULL);
+ ext->roller[1] = roller2;
+ lv_obj_add_style(roller2, LV_ROLLER_PART_BG, &lv_watch_font30_gray);
+ lv_obj_set_style_local_text_line_space(roller2, LV_ROLLER_PART_BG, LV_STATE_DEFAULT, 30);
+ lv_obj_set_style_local_bg_opa(roller2, LV_ROLLER_PART_BG, LV_STATE_DEFAULT, LV_OPA_TRANSP);
+ lv_obj_add_style(roller2, LV_ROLLER_PART_SELECTED, &lv_watch_font30_gray);
+ lv_obj_set_style_local_text_line_space(roller2, LV_ROLLER_PART_SELECTED, LV_STATE_DEFAULT, 30);
+ lv_obj_set_style_local_bg_opa(roller2, LV_ROLLER_PART_SELECTED, LV_STATE_DEFAULT, LV_OPA_TRANSP);
+ lv_roller_set_visible_row_count(roller2, 3);
+
+#else
+
lv_obj_t * label = lv_label_create(par, NULL);
lv_label_set_text_id(label, WATCH_TEXT_ID_TIME_SETTING);
lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font20_gray);
lv_obj_set_style_local_text_line_space(roller2, LV_ROLLER_PART_SELECTED, LV_STATE_DEFAULT, 20);
lv_obj_set_style_local_bg_opa(roller2, LV_ROLLER_PART_SELECTED, LV_STATE_DEFAULT, LV_OPA_TRANSP);
lv_roller_set_visible_row_count(roller2, 3);
+#endif
lv_watch_set_free_num(roller1, 1);
lv_watch_set_free_num(roller2, 2);
static lv_obj_t * alarm_opt_create(lv_obj_t * par)
{
+#ifdef __MMI_ZHSX_SUPPORT__
+ lv_obj_t * btn = lv_imgbtn_create(par, NULL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_CANCEL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_CANCEL);
+ lv_obj_set_event_cb(btn, alarm_cancel_btn_action);
+#ifdef USE_LV_WATCH_UI_CIRCLE
+ #ifdef USE_LV_WATCH_UI_466_466
+ lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_LEFT, 70, -40);
+ #else
+ lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_LEFT, 20+20, -20);
+ #endif
+#else
+ lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_LEFT, 20, -20);
+#endif
+
+ btn = lv_imgbtn_create(par, NULL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_OK);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_OK);
+ lv_obj_set_event_cb(btn, alarm_ok_btn_action);
+#ifdef USE_LV_WATCH_UI_CIRCLE
+ #ifdef USE_LV_WATCH_UI_466_466
+ lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, -70, -40);
+ #else
+ lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, -20-20, -20);
+ #endif
+#else
+ lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, -20, -20);
+#endif
+
+ return par;
+
+#else
+
lv_obj_t * content = lv_cont_create(par, NULL);
lv_cont_set_fit2(content, LV_FIT_NONE, LV_FIT_TIGHT);
lv_obj_set_width(content, LV_HOR_RES);
lv_obj_set_event_cb(btn, alarm_ok_btn_action);
return content;
+#endif
}
static void alarm_cancel_btn_action(lv_obj_t * obj, lv_event_t e)
obj = lv_watch_obj_create(activity_obj);
LV_ASSERT_MEM(obj);
+#ifdef USE_LV_WATCH_UI_466_466
+ lv_obj_t * cont = lv_cont_create(obj, NULL);
+ lv_cont_set_layout(cont, LV_LAYOUT_OFF);
+ lv_obj_set_size(cont, LV_HOR_RES, LV_VER_RES);
+ lv_obj_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
+ lv_obj_set_click(cont, false);
+ lv_watch_obj_add_element(cont);
+
+ lv_obj_t * title = lv_label_create(cont, NULL);
+ lv_label_set_text_id(title, WATCH_TEXT_ID_ALARM_EDIT);
+ lv_obj_add_style(title, LV_LABEL_PART_MAIN, &lv_watch_font26_gray);
+ lv_obj_align(title, NULL, LV_ALIGN_IN_TOP_MID, 0, 20);
+
+ /*time*/
+ lv_obj_t * btn_time = lv_btn_create(cont, NULL);
+ lv_obj_add_style(btn_time, LV_BTN_PART_MAIN, &lv_style_transp_fit);
+ lv_obj_set_size(btn_time, LV_HOR_RES * 3 / 4, LV_VER_RES / 8);
+ lv_obj_set_event_cb(btn_time, alarm_edit_set_time_btn_action);
+ lv_obj_align(btn_time, title, LV_ALIGN_OUT_BOTTOM_MID, 0, 40);
+
+ lv_obj_t * img_time = lv_img_create(btn_time, NULL);
+ lv_img_set_src(img_time, ICON_TIME);
+ lv_obj_align(img_time, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 5);
+
+ lv_obj_t * label_settime = lv_label_create(btn_time, NULL);
+ lv_label_set_text_id(label_settime, WATCH_TEXT_ID_TIME_SETTING);
+ lv_obj_add_style(label_settime, LV_LABEL_PART_MAIN, &lv_watch_font40);
+ lv_obj_align(label_settime, img_time, LV_ALIGN_OUT_RIGHT_MID, 20, 0);
+
+ lv_obj_t * label_time = lv_label_create(btn_time, NULL);
+ char time_str[ALARM_TIME_STR_LENGTH];
+ memset(time_str, 0, ALARM_TIME_STR_LENGTH);
+ snprintf(time_str, ALARM_TIME_STR_LENGTH, "%02d:%02d", alarm_curr.hour, alarm_curr.min);
+ lv_label_set_text(label_time, time_str);
+ lv_obj_add_style(label_time, LV_LABEL_PART_MAIN, &lv_watch_font40);
+ lv_obj_align(label_time, label_settime, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 15);
+
+ /*repeat*/
+ lv_obj_t * btn_repeat = lv_btn_create(cont, btn_time);
+ lv_obj_set_event_cb(btn_repeat, alarm_edit_set_repeat_btn_action);
+ lv_obj_align(btn_repeat, btn_time, LV_ALIGN_OUT_BOTTOM_MID, 0, 50);
+
+ lv_obj_t * img_repeat = lv_img_create(btn_repeat, NULL);
+ lv_img_set_src(img_repeat, ICON_DATE);
+ lv_obj_align(img_repeat, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 5);
+
+ lv_obj_t * label_setrepeat = lv_label_create(btn_repeat, NULL);
+ lv_label_set_text_id(label_setrepeat, WATCH_TEXT_ID_ALARM_REPEAT);
+ lv_obj_add_style(label_setrepeat, LV_LABEL_PART_MAIN, &lv_watch_font40);
+ lv_obj_align(label_setrepeat, img_repeat, LV_ALIGN_OUT_RIGHT_MID, 20, 0);
+
+ lv_obj_t * label_repeat = lv_label_create(btn_repeat, label_time);
+ lv_obj_add_style(label_repeat, LV_LABEL_PART_MAIN, &lv_watch_font26);
+ char str[64];
+ alarm_list_get_repeat_str(alarm_curr.repeat_bitmap, str, 64);
+ lv_label_set_text(label_repeat, str);
+ lv_obj_align(label_repeat, label_setrepeat, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 15);
+
+ // delete
+ lv_obj_t * btn_del = lv_btn_create(cont, NULL);
+ lv_obj_set_size(btn_del, 200, 70);
+ //lv_obj_set_size(btn_del, 100, 56);
+ lv_obj_set_style_local_bg_color(btn_del, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, lv_color_make(0x47, 0xA6, 0xFF));
+ lv_obj_set_style_local_radius(btn_del, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 30);
+ lv_obj_set_style_local_bg_color(btn_del, LV_BTN_PART_MAIN, LV_STATE_PRESSED, lv_color_make(0x47, 0xA6, 0xFF));
+ lv_obj_set_style_local_radius(btn_del, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 30);
+ lv_obj_align(btn_del, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -50);
+ lv_obj_set_event_cb(btn_del, alarm_edit_del_btn_action);
+ lv_watch_obj_add_element(btn_del);
+
+ lv_obj_t * label_del = lv_label_create(btn_del, NULL);
+ lv_obj_add_style(label_del, LV_LABEL_PART_MAIN, &lv_watch_font40);
+ lv_label_set_text_id(label_del, WATCH_TEXT_ID_DELETE);
+
+#else
+
lv_obj_t * cont = lv_cont_create(obj, NULL);
lv_cont_set_layout(cont, LV_LAYOUT_COLUMN_MID);
lv_obj_set_size(cont, LV_HOR_RES, LV_VER_RES);
} else {
lv_obj_align(label_repeat, label_setrepeat, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
}
+#endif
return obj;
}