/******************************************************************************* * GENERAL FUNCTIONS DEFINE *******************************************************************************/ static VACTION win_stb_info_keymap(POBJECT_HEAD pObj, UINT32 key) { VACTION act = VACT_PASS; switch (key) { case V_KEY_MENU: act = VACT_CLOSE; break; case V_KEY_EXIT: BackToFullScrPlay(); break; default: break; } return act; }
static VACTION operator_detail_keymap(POBJECT_HEAD pObj, UINT32 key) { VACTION act = VACT_PASS; switch(key) { case V_KEY_EXIT: BackToFullScrPlay(); break; case V_KEY_MENU: act = VACT_CLOSE; break; default: act = VACT_PASS; } return act; }
static VACTION mail_content_keymap ( POBJECT_HEAD pObj, UINT32 key ) { VACTION act = VACT_PASS; switch ( key ) { case V_KEY_MENU: act = VACT_CLOSE; break; case V_KEY_EXIT: BackToFullScrPlay(); //CDCASTB_RequestUpdateBuffer(); break; default: act = VACT_PASS; } return act; }
/******************************************************************************* * Callback and Keymap Functions *******************************************************************************/ static VACTION Containerca_set1_keymap(POBJECT_HEAD pObj, UINT32 key) { VACTION act = VACT_PASS; UINT32 hKey; switch (key) { case V_KEY_MENU: act = VACT_CLOSE; break; case V_KEY_EXIT: BackToFullScrPlay(); break; default: act = VACT_PASS; } return act; }
static VACTION game_con_keymap(POBJECT_HEAD obj, UINT32 key) { VACTION act = VACT_PASS; switch (key) { case V_KEY_MENU: act = VACT_CLOSE; break; case V_KEY_EXIT: restore_scene(); BackToFullScrPlay(); break; default: act = OSD_ContainerKeyMap(obj, key); break; } return act; }
static VACTION win_common_item_keymap(POBJECT_HEAD pObj, UINT32 key) { VACTION act = VACT_PASS; switch (key) { case V_KEY_MENU: act = VACT_CLOSE; break; case V_KEY_EXIT: dm_set_onoff(1); win_qs_update_param(1); win_mainFeq_save_data(); sys_data_save(1); BackToFullScrPlay(); break; default: break; } return act; }
/******************************************************************************* * helper functions define *******************************************************************************/ static VACTION sys_items_keymap(POBJECT_HEAD pObj, UINT32 key) { VACTION act = VACT_PASS; INT8 shift = 1; switch (key) { case V_KEY_MENU: act = VACT_CLOSE; break; case V_KEY_EXIT: BackToFullScrPlay(); break; case V_KEY_LEFT: shift = - 1; case V_KEY_RIGHT: PreviewVolProc(shift); break; default: act = VACT_PASS; } return act; }
void cti_chnchg_function() { UINT16 chn_idx=0xffff; date_time local_time; CTI_CHN_CHG_CONTENT chnchg_data; UINT8 save; BOOL need_change = TRUE,info_changed = FALSE; win_popup_choice_t sel; UINT16 string[CHANNEL_JUMP_STR_LEN_MAX/2+1]; INT sec = 0; if(pre_channel_index!=sys_data_get_cur_group_cur_mode_channel())//换台了 { cti_chnchg_para_reset(); } if(!get_cti_chnchg_flg()) { return; } MEMSET(&local_time,0,sizeof(date_time)); get_local_time(&local_time); MEMSET(&chnchg_data,0,sizeof(CTI_CHN_CHG_CONTENT)); get_cti_chnchg_data(&chnchg_data); //显示内容有没有变化 if(MEMCMP(pre_info,chnchg_data.pString,sizeof(chnchg_data.pString))==0) { info_changed = FALSE; } else { info_changed = TRUE; } chn_idx=GetPlayChannelID(chnchg_data.bType,chnchg_data.wPart1, chnchg_data.wPart2,chnchg_data.wPart3,chnchg_data.wPart4); if((chnchg_data.bStatus==0) ||(chnchg_data.bStatus==2))//立即跳转 { set_cti_chnchg_flg(FALSE); } else//时间跳转 { if(api_compare_day_time_ext(&(chnchg_data.stStartTime),&local_time)>=0) //跳转时间没有到 { need_change = FALSE; } else if(api_compare_day_time_ext(&(chnchg_data.stEndTime),&local_time)>=0) //正常跳转 { sec = cti_mktime(&(chnchg_data.stEndTime),&local_time); } else//控制时间已过 { need_change = FALSE; set_cti_chnchg_flg(FALSE); return; } } if((chn_idx!=0xffff) &&(chn_idx!=sys_data_get_cur_group_cur_mode_channel()) &&need_change) { if(chnchg_data.bStatus==0)//强制立即跳转 { BackToFullScrPlay(); win_compopup_init ( WIN_POPUP_TYPE_SMSG ); win_compopup_set_frame ( 100, 140, 400, 120); //win_compopup_set_frame(100, 180, 400, 80); win_compopup_set_msg_ext(NULL,NULL, RS_CTI_CHANNEL_JUMP); win_compopup_open_ext ( &save ); osal_task_sleep(3000); win_compopup_close(); } else if(chnchg_data.bStatus==1)//强制时间跳转 { if(!info_showed) { BackToFullScrPlay(); win_compopup_init ( WIN_POPUP_TYPE_SMSG ); win_compopup_set_frame ( 100, 140, 400, 120); //win_compopup_set_frame(100, 180, 400, 80); win_compopup_set_msg_ext(NULL,NULL, RS_CTI_CHANNEL_JUMP); win_compopup_open_ext ( &save ); osal_task_sleep(3000); win_compopup_close(); info_showed = TRUE; } } else if(chnchg_data.bStatus==2)//用户选择立即跳转 { if((sys_data_get_cur_group_cur_mode_channel()==chn_idx_sel_no) &&(!info_changed)) { return; } else { BackToFullScrPlay(); MEMSET(string,0,sizeof(string)); MEMSET(pre_info,0,sizeof(pre_info)); #ifdef GB2312_SUPPORT convert_gb2312_to_unicode(chnchg_data.pString, sizeof(chnchg_data.pString),string, CHANNEL_JUMP_STR_LEN_MAX/2); #else dvb_to_unicode(chnchg_data.pString, sizeof(chnchg_data.pString),string, CHANNEL_JUMP_STR_LEN_MAX/2, 0); #endif MEMCPY(pre_info,chnchg_data.pString,sizeof(chnchg_data.pString)); win_compopup_init ( WIN_POPUP_TYPE_OKNO); //win_compopup_set_frame ( 100, 120, 400, 160); win_compopup_set_frame ( 100, 100, 400, 160); win_compopup_set_msg_ext(NULL, string, 0); win_compopup_set_default_choice(WIN_POP_CHOICE_YES); sel = win_compopup_open_ext_timeout(&save, 5); if (sel == WIN_POP_CHOICE_NO) { chn_idx_sel_no = sys_data_get_cur_group_cur_mode_channel(); return;//do not change } //choice yes,so change channel } } else if(chnchg_data.bStatus==3)//用户选择按时间跳转 { if((!info_showed)||info_changed)//没有显示过或者字符变化了 { BackToFullScrPlay(); MEMSET(string,0,sizeof(string)); MEMSET(pre_info,0,sizeof(pre_info)); #ifdef GB2312_SUPPORT convert_gb2312_to_unicode(chnchg_data.pString, sizeof(chnchg_data.pString),string, CHANNEL_JUMP_STR_LEN_MAX/2); #else dvb_to_unicode(chnchg_data.pString, sizeof(chnchg_data.pString),string, CHANNEL_JUMP_STR_LEN_MAX/2, 0); #endif MEMCPY(pre_info,chnchg_data.pString,sizeof(chnchg_data.pString)); win_compopup_init ( WIN_POPUP_TYPE_OKNO); win_compopup_set_frame ( 100, 100, 400, 160); win_compopup_set_msg_ext(NULL, string, 0); win_compopup_set_default_choice(WIN_POP_CHOICE_YES); sel = win_compopup_open_ext_timeout(&save, sec); choiced_yes = FALSE; info_showed = TRUE; if ((sel == WIN_POP_CHOICE_NO) || (sel == WIN_POP_CHOICE_TIMEOUT)) { return;//do not change } choiced_yes = TRUE; } else if(choiced_yes==TRUE)//用户选择yes,则继续判断是否需要跳转 { } else { return;//提示过,不再提醒,也不换台 } } api_play_channel(chn_idx, TRUE, TRUE, FALSE); } }
void ap_tf_cas_process_update(UINT8 process, UINT8 mark) { date_time dt; SYSTEM_DATA* pSysData = NULL; static tem_process = 0; // static BOOL g_smc_read = FALSE; //libc_printf("smc upd process:%d, %d\n", process, mark); ap_tf_cas_clear_screen(CLEAR_CA_MSG); if(CDCA_SCALE_RECEIVEPATCH == mark) { smcupg_txt_msg.wStringID = RS_DISPLAY_DOWNLOADING; } else if(CDCA_SCALE_PATCHING == mark) { smcupg_txt_msg.wStringID = RS_TF3_SHOWMSG_UPDATE; } pSysData = sys_data_get(); if (CDCA_SCALE_PATCHING == mark && (process == 0 ||(FALSE == g_smc_read) )) { if(FALSE == g_smc_read) { if(g_smc_no[0] != 0) { MEMCPY(pSysData->upd_smc_no, g_smc_no, sizeof(g_smc_no)); g_smc_read = TRUE; } } } if(process > 100) { if (CDCA_SCALE_PATCHING == mark) { get_local_time(&dt); pSysData->smc_update_dt = dt; if (tem_process == 100) { pSysData->bUpd_status = TRUE; } else { pSysData->bUpd_status = FALSE; } } sys_data_save(0); #if 1 OSD_ClearObject((POBJECT_HEAD)&smcupg_info_con, C_UPDATE_ALL); if((POBJECT_HEAD)&smcupg_info_con == menu_stack_get_top()) { menu_stack_pop(); } BackToFullScrPlay(); #else OSD_ClearObject( (POBJECT_HEAD)&smcupg_txt_msg, C_UPDATE_ALL); OSD_ClearObject( (POBJECT_HEAD)&smcupg_bar_progress, C_UPDATE_ALL); OSD_ClearObject( (POBJECT_HEAD)&smcupg_txt_progress, C_UPDATE_ALL); #endif } else { if((POBJECT_HEAD)CHANNEL_BAR_HANDLE == menu_stack_get_top()) { OSD_ObjClose((POBJECT_HEAD)CHANNEL_BAR_HANDLE, C_DRAW_SIGN_EVN_FLG|C_CLOSE_CLRBACK_FLG); menu_stack_pop(); } if(-1 == window_pos_in_stack((POBJECT_HEAD)&smcupg_info_con)) { menu_stack_push((POBJECT_HEAD)&smcupg_info_con); } OSD_SetProgressBarPos(&smcupg_bar_progress,(INT16)process); OSD_SetTextFieldContent(&smcupg_txt_progress, STRING_NUM_PERCENT, (UINT32)process); #if 1 OSD_DrawObject((POBJECT_HEAD)&smcupg_info_con, C_UPDATE_ALL); #else OSD_DrawObject( (POBJECT_HEAD)&smcupg_txt_msg, C_UPDATE_ALL); OSD_DrawObject( (POBJECT_HEAD)&smcupg_bar_progress, C_UPDATE_ALL); OSD_ClearObject( (POBJECT_HEAD)&smcupg_txt_progress, C_UPDATE_ALL); OSD_DrawObject( (POBJECT_HEAD)&smcupg_txt_progress, C_UPDATE_ALL); #endif } tem_process = process; }