static PRESULT win_newcamd_input(POBJECT_HEAD pobj) { EDIT_FIELD *eft; UINT8* new_name; UINT16 uni_name[50]; UINT32 value; eft = (EDIT_FIELD*)pobj; value =OSD_GetEditFieldContent(eft); ComUniStrCopy(uni_name, (UINT16 *)value); #ifndef KEYBOARD_SUPPORT if(win_rename_open(uni_name,&new_name,NULL)) #else if(win_keyboard_rename_open(uni_name,&new_name,NULL)) #endif { ComUniStrCopy(uni_name,new_name); OSD_SetEditFieldContent(eft, STRING_UNICODE, (UINT32)uni_name); } OSD_TrackObject((POBJECT_HEAD)eft, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); }
static PRESULT win_sat_edit_name(POBJECT_HEAD pobj) { EDIT_FIELD *eft; UINT32 sat_longitude; UINT8* new_name; UINT16 uni_name[50]; UINT32 value; eft = &sate_edt2; sat_longitude = OSD_GetEditFieldContent(eft);//backup the content eft = &sate_edt1; value =OSD_GetEditFieldContent(eft); ComUniStrCopy(uni_name, (UINT16 *)value); #ifndef KEYBOARD_SUPPORT if(win_rename_open(uni_name,&new_name,NULL)) #else if(win_keyboard_rename_open(uni_name,&new_name,NULL)) #endif { ComUniStrCopy(uni_name,new_name); OSD_SetEditFieldContent(eft, STRING_UNICODE, (UINT32)uni_name); } eft = &sate_edt2; OSD_SetEditFieldContent(eft, STRING_NUMBER, sat_longitude);//fill the backup content eft = &sate_edt1; OSD_TrackObject((POBJECT_HEAD)eft, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); }
static PRESULT win_findprog_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT cbRet = PROC_PASS; UINT32 i,wTop,prog_idx,nStrLen,k; UINT16 channel,str_len; UINT16 unistr[50]; char prog_pre[20]; P_NODE p_node; OBJLIST* ol = (OBJLIST*)pObj; UINT16 dep,cnt; dep = OSD_GetObjListPage(ol); cnt = OSD_GetObjListCount(ol); if(event==EVN_PRE_DRAW) { wTop = OSD_GetObjListTop(ol); for(i=0;i<dep && (i+wTop)<cnt;i++) { prog_idx = i + wTop; get_find_prog_by_pos(prog_idx,&p_node); sprintf(prog_pre,"%04d %s",prog_idx + 1,(p_node.ca_mode==0)? "" : "$"); nStrLen = ComAscStr2Uni(prog_pre, unistr); ComUniStrCopy(&unistr[nStrLen], (UINT16*)p_node.service_name); win_comlist_set_str(i + wTop, NULL, (char*)unistr,0); } } else if(event==EVN_POST_CHANGE) { cbRet = PROC_LEAVE; select_channel_idx = win_comlist_get_selitem(); get_find_prog_by_pos(select_channel_idx,&p_node); select_channel_idx = get_prog_pos(p_node.prog_id); clear_node_find_flag(); //UIChChgPlayProg(0, select_channel_idx); api_play_channel(p_node.prog_id, TRUE, TRUE, TRUE); } return cbRet; }
void win_progname_draw_infor(void) { UINT16 group_name[MAX_SERVICE_NAME_LENGTH + 1 + 10]; UINT8 group_type,av_mode; UINT16 cur_channel; P_NODE p_node; S_NODE s_node; // T_NODE t_node; char string[100]; char prog_name[MAX_SERVICE_NAME_LENGTH + 1]; INT32 ret,len; UINT32 i,j; BITMAP* bmp; TEXT_FIELD* txt; UINT16 icon; date_time dt; prog_txt_t* p_prog_txt; prog_bmp_t* p_prog_bmp; eit_event_info_t *pe=NULL,*fe=NULL; UINT8 *s1=NULL,*s2=NULL; INT32 strlen; struct ACTIVE_SERVICE_INFO service; struct t_ttx_lang *ttx_lang_list; UINT8 ttx_lang_num; struct t_subt_lang* sub_lang_list; UINT8 sub_lang_num; bmp = &prog_bmp; txt = &prog_text; UINT32 fav_mask; fav_mask = 0; for(i=0;i<MAX_FAVGROUP_NUM;i++) fav_mask |= (0x01<<i); av_mode = sys_data_get_cur_chan_mode(); cur_channel = sys_data_get_cur_group_cur_mode_channel(); ret = get_prog_at(cur_channel,&p_node); get_sat_by_id(p_node.sat_id, &s_node); get_cur_group_name((char*)group_name,&group_type); get_local_time(&dt); /* #ifdef _EPG_MULTI_SERVICE #ifdef EPG_FAST_PARSE epg_fast_pasrse_set(FALSE,NULL,NULL); #endif get_tp_by_id(p_node.tp_id, &t_node); api_epg_parse(p_node.tp_id, t_node.network_id, t_node.t_s_id, p_node.prog_number, epg_type_pf); struct active_service_t service; service.tp_id = p_node.tp_id; service.orig_network_id = t_node.network_id; service.ts_id = t_node.t_s_id; service.service_id = p_node.prog_number; api_epg_set_active_service(&service, 1); api_epg_parse(p_node.tp_id, t_node.network_id, t_node.t_s_id, p_node.prog_number, epg_type_pf); #endif */ service.tp_id = p_node.tp_id; service.service_id = p_node.prog_number; epg_set_active_service(&service, 1); /*current next epg info */ pe=epg_get_cur_service_event((INT32)cur_channel, PRESENT_EVENT, NULL,NULL,NULL, /*event_update*/TRUE); fe=epg_get_cur_service_event((INT32)cur_channel, FOLLOWING_EVENT, NULL,NULL,NULL, event_update); if(event_update==FALSE) { if(pe==NULL || fe==NULL) { event_update = TRUE; } } else { if(pe!=NULL && fe!=NULL) { event_update = FALSE; } } s1=epg_get_event_name(pe, &len); // s1=(UINT8*)epg_get_event_name(pe, present_name, 32); s2=epg_get_event_name(fe, &len); // s2=(UINT8*)epg_get_event_name(fe, following_name, 32); TTXEng_GetInitLang(&ttx_lang_list, &ttx_lang_num); subt_get_language(&sub_lang_list ,&sub_lang_num); if(sub_lang_num == 0) TTXEng_GetSubtLang(&ttx_lang_list,&sub_lang_num); for(i=0;i<PROG_BMP_NUM;i++) { p_prog_bmp = &prog_bmps[i]; icon = INVALID_ID; switch(p_prog_bmp->bmp_type) { case PROG_BMP_STATIC: icon = prog_bmps[i].icon; break; #ifndef MODIFY_FOR_EGYPT_CUSTOMER case PROG_BMP_AV_TYPE: if(av_mode==TV_CHAN) icon = IM_INFO_BAR_TV; else icon = IM_INFO_BAR_RADIO; break; #endif case PROG_BMP_EPG: if( (s1||s2) ) icon = prog_bmps[i].icon; break; case PROG_BMP_TTX: if(ttx_lang_num>0) icon = prog_bmps[i].icon; break; case PROG_BMP_SUBT: if(sub_lang_num>0) icon = prog_bmps[i].icon; break; case PROG_BMP_LOCK: if(p_node.lock_flag) icon = prog_bmps[i].icon; break; case PROG_BMP_FAV: if(p_node.fav_group[0] & fav_mask) icon = prog_bmps[i].icon; break; case PROG_BMP_CA: { #if 0 BOOL b,bFlag; INT8 level,quality,lock; signal_lock_status lock_flag; signal_scramble_status scramble_flag; signal_lnbshort_status lnbshort_flag; signal_parentlock_status parrentlock_flag; bFlag = GetSignalStatus(&lock_flag, &scramble_flag,&lnbshort_flag,&parrentlock_flag); if(bFlag && lock_flag== SIGNAL_STATUS_LOCK && lnbshort_flag==SIGNAL_STATUS_LNBNORMAL && parrentlock_flag==SIGNAL_STATUS_PARENT_UNLOCK && scramble_flag == SIGNAL_STATUS_SCRAMBLED) icon = prog_bmps[i].icon; #else if(p_node.ca_mode) icon = prog_bmps[i].icon; #endif } break; default: break; } OSD_SetBitmapContent(bmp, icon); OSD_SetRect(&bmp->head.frame, p_prog_bmp->left, p_prog_bmp->top, p_prog_bmp->width,p_prog_bmp->height); OSD_DrawObject( (OBJECT_HEAD*) bmp, C_UPDATE_ALL); } for(i=0;i<PROG_TXT_NUM;i++) { p_prog_txt = &prog_txts[i]; string[0] = '\0'; switch(p_prog_txt->txt_type) { case PROG_TXT_PROG_NAME: #ifndef DB_USE_UNICODE_STRING STRCPY(prog_name,p_node.service_name); for(j=0;j<STRLEN(prog_name);j++) if(prog_name[j] >= 0x80) { prog_name[j] = '\0'; break; } if(p_node.ca_mode==0) sprintf(string,"%s(%s)",prog_name,s_node.sat_name); else sprintf(string,"$%s(%s)",prog_name,s_node.sat_name); #else if(p_node.ca_mode==0) STRCPY(string,""); else STRCPY(string,"$"); ComAscStr2Uni(string,len_display_str); strlen = ComUniStrLen( len_display_str); //strcpy_uni(&len_display_str[strlen],p_node.service_name); ComUniStrCopyChar((UINT8 * )&len_display_str[strlen],p_node.service_name); strlen = ComUniStrLen( len_display_str); ComAscStr2Uni("(",&len_display_str[strlen]); strlen = ComUniStrLen( len_display_str); ComUniStrCopyChar((UINT8 * )&len_display_str[strlen],s_node.sat_name); strlen = ComUniStrLen( len_display_str); ComAscStr2Uni(")",&len_display_str[strlen]); #endif break; case PROG_TXT_DATE: sprintf(string,"%02d/%02d",dt.month,dt.day); ComAscStr2Uni(string, (UINT16 *)len_display_str); break; case PROG_TXT_TIME: sprintf(string,"%02d:%02d",dt.hour,dt.min); ComAscStr2Uni(string, (UINT16 *)len_display_str); break; case PROG_TXT_PROG_NUM: sprintf(string,"%04d",cur_channel + 1); ComAscStr2Uni(string, (UINT16 *)len_display_str); break; case PROG_TXT_EPG_NOW: if (s1 ) { sprintf(string,"Now: "); ComAscStr2Uni(string, (UINT16 *)len_display_str); len =ComUniStrLen(len_display_str); ComUniStrCopyChar((UINT8*)&len_display_str[len],s1); } else { OSD_SetTextFieldStrPoint(txt,NULL); OSD_SetTextFieldContent(txt,STRING_ID,RS_EPG_NO_INFORMATION); } break; case PROG_TXT_EPG_NEXT: if (s2) { sprintf(string,"Next: "); ComAscStr2Uni(string, (UINT16 *)len_display_str); len =ComUniStrLen(len_display_str); ComUniStrCopyChar((UINT8*)&len_display_str[len],s2); } else { sprintf(string," "); ComAscStr2Uni(string, (UINT16 *)len_display_str); } break; case PROG_TXT_PROG_GROUP: #ifndef DB_USE_UNICODE_STRING sprintf(string,"%s",group_name); #else ComUniStrCopy(len_display_str, group_name); #endif break; default: ; } #ifndef DB_USE_UNICODE_STRING ComAscStr2Uni(string, (UINT16 *)len_display_str); #else /* if(p_prog_txt->txt_type != PROG_TXT_PROG_NAME && p_prog_txt->txt_type != PROG_TXT_PROG_GROUP &&p_prog_txt->txt_type != PROG_TXT_EPG_NOW &&p_prog_txt->txt_type != PROG_TXT_EPG_NEXT) ComAscStr2Uni(string, (UINT16 *)len_display_str); */ if(p_prog_txt->txt_type == PROG_TXT_PROG_NUM) txt->head.bFont = 2; else txt->head.bFont = 0; #endif OSD_SetRect(&txt->head.frame, p_prog_txt->left, p_prog_txt->top, p_prog_txt->width,p_prog_txt->height); //txt->pText = (UINT8*)len_display_str; txt->head.style.bShowIdx = p_prog_txt->shidx; OSD_DrawObject( (OBJECT_HEAD *)txt, C_UPDATE_ALL); OSD_SetTextFieldContent(txt,STRING_ID,0); OSD_SetTextFieldStrPoint(txt,len_display_str); } #ifdef MODIFY_FOR_EGYPT_CUSTOMER progname_signal_refresh(TRUE); #endif }
BOOL win_wifi_keyboard_password_input_open(UINT16* set_name,UINT8** ret_name,check_name_func check_func ) { UINT32 hkey; PRESULT ret; CONTAINER *win; win = &g_win_wifi_password; wincom_backup_region(&win->head.frame); wifi_password_set_color_style(); BOOL old_value = ap_enable_key_task_get_key(TRUE); name_valid_func = check_func; wifi_password_check_ok = FALSE; MEMSET(wifi_password_str,0,sizeof(wifi_password_str)); ComUniStrCopy(&wifi_password_str[0], set_name); wifi_password_str_len = ComUniStrLen(wifi_password_str); if(wifi_password_str_len>MAX_DISPLAY_STR_LEN) { wifi_password_display_start_ptr=wifi_password_str_len-MAX_DISPLAY_STR_LEN; } else { wifi_password_display_start_ptr=0; } ComUniStrCopy(&wifi_password_display_buffer[0], &wifi_password_str[wifi_password_display_start_ptr]); OSD_SetTextFieldContent((POBJECT_HEAD)&wifi_password_input, STRING_UNICODE,(UINT32)&wifi_password_display_buffer[0]); win = &g_win_wifi_password; wifi_password_init_keys(); wifi_password_set_key_display(); ret = OSD_ObjOpen((POBJECT_HEAD)win, 0); while(ret != PROC_LEAVE) { hkey = ap_get_key_msg(); if(hkey == INVALID_HK || hkey == INVALID_MSG) continue; ret = OSD_ObjProc((POBJECT_HEAD)win, (MSG_TYPE_KEY<<16),hkey, 0); } if(wifi_password_check_ok) { *ret_name = (UINT8*)wifi_password_str; } else { *ret_name = NULL; } wincom_restore_region(); ap_enable_key_task_get_key(old_value); return (wifi_password_check_ok); }
static PRESULT wifi_password_btn_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; UINT8 i,bID; UINT32 str_len; // char ch,str_temp[2]; char ch; TEXT_FIELD *txt; EDIT_FIELD *edf; bID = OSD_GetObjID(pObj); switch(event) { case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); ret = PROC_LOOP; wifi_password_str_len = ComUniStrLen(wifi_password_str); if(unact == VACT_DEL || (unact == VACT_ENTER && wifi_password_key_chars[bID - 1] == 0x7F) ) /* DEL */ { if(wifi_password_str_len>0) { wifi_password_str_len--; wifi_password_str[wifi_password_str_len] = 0; if((wifi_password_str_len)>MAX_DISPLAY_STR_LEN) { wifi_password_display_start_ptr=(wifi_password_str_len)-MAX_DISPLAY_STR_LEN; } else { wifi_password_display_start_ptr=0; } ComUniStrCopy(&wifi_password_display_buffer[0], &wifi_password_str[wifi_password_display_start_ptr]); OSD_SetTextFieldContent((POBJECT_HEAD)&wifi_password_input, STRING_UNICODE,(UINT32)&wifi_password_display_buffer[0]); OSD_DrawObject((POBJECT_HEAD)&wifi_password_input, C_UPDATE_ALL); } } else if(unact == VACT_OK || (unact == VACT_ENTER && wifi_password_key_chars[bID - 1] == 0xFF) ) /* OK */ { wifi_password_check_ok = TRUE; ret = PROC_LEAVE; if(name_valid_func != NULL) { if(name_valid_func(wifi_password_str) == 0) { ret = PROC_LEAVE; } else { ret = PROC_LOOP; } } } else if(unact == VACT_ENTER) { ch = wifi_password_key_chars[bID - 1]; if(wifi_password_str_len < MAX_INPUT_STR_LEN) { SetUniStrCharAt(wifi_password_str,ch,wifi_password_str_len); wifi_password_str_len++; wifi_password_str[wifi_password_str_len] = 0; if(wifi_password_str_len>MAX_DISPLAY_STR_LEN) { wifi_password_display_start_ptr=wifi_password_str_len-MAX_DISPLAY_STR_LEN; } else { wifi_password_display_start_ptr=0; } ComUniStrCopy(&wifi_password_display_buffer[0], &wifi_password_str[wifi_password_display_start_ptr]); OSD_SetTextFieldContent((POBJECT_HEAD)&wifi_password_input, STRING_UNICODE,(UINT32)&wifi_password_display_buffer[0]); OSD_DrawObject((POBJECT_HEAD)&wifi_password_input, C_UPDATE_ALL); } } else if(unact == VACT_CAPS) { #if 0 str_temp[1] = '\0'; for(i = 0;i < CHRACTER_CNT;i++) { if((wifi_password_key_chars[i] >= 'a') && (wifi_password_key_chars[i] <= 'z')) { wifi_password_key_chars[i] = wifi_password_key_chars[i] - ('a' - 'A'); } else if((wifi_password_key_chars[i] >= 'A') && (wifi_password_key_chars[i] <= 'Z')) { wifi_password_key_chars[i] = wifi_password_key_chars[i] + ('a' - 'A'); } str_temp[0] = wifi_password_key_chars[i]; OSD_SetTextFieldContent(&wifi_password_txt_chars[i], STRING_ANSI,(UINT32)str_temp); } #endif find_set_chars(1); OSD_TrackObject((POBJECT_HEAD)&g_win_wifi_password, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); #ifdef OSD_12 draw_caps_colbtn_ext(COLBTN_L + 120+KEY_L_GAP, COLBTN_T, 1,IM_FIND_KEYBOARD_YEOLLW); draw_del_colbtn_ext(COLBTN_L-10, COLBTN_T, 1,IM_FIND_KEYBOARD_RED); draw_ok_colbtn_ext(COLBTN_L + 280+KEY_L_GAP, COLBTN_T, 1,IM_FIND_KEYBOARD_BLUE); #else draw_caps_colbtn_ext(COLBTN_L + 120+KEY_L_GAP, COLBTN_T, 1,IM_FIND_KEYBOARD_YEOLLW); draw_del_colbtn_ext(COLBTN_L, COLBTN_T, 1,IM_FIND_KEYBOARD_RED); draw_ok_colbtn_ext(COLBTN_L + 240+KEY_L_GAP, COLBTN_T, 1,IM_FIND_KEYBOARD_BLUE); #endif } break; } return ret; }