void win_timer_load(TIMER_SET_CONTENT *settimer) { MULTISEL *msel; EDIT_FIELD *edf; TEXT_FIELD *txt; P_NODE p_node; UINT16 ch_idx, ch_cnt; UINT32 value; UINT8 action; win_timerset_set_currenttime(FALSE); /* TIMER_MODE*/ msel = &timer_msel_mode; if (settimer->timer_mode >= OSD_GetMultiselCount(msel)) settimer->timer_mode = TIMER_MODE_OFF; OSD_SetMultiselSel(msel, settimer->timer_mode); /* TIMER_SERVICE */ msel = &timer_msel_servicetype; if (settimer->timer_service >= OSD_GetMultiselCount(msel)) settimer->timer_service = 0; OSD_SetMultiselSel(msel, settimer->timer_service); /* TIMER service information: message or channel */ txt = &timer_txt_serviceinfo; OSD_SetTextFieldContent(txt, STRING_ID, (UINT32)TimerServiceTxtStr_id[settimer->timer_service]); win_timerset_timerservice_change(FALSE); edf = &timer_edf_wakeupdate; value = settimer->wakeup_year *10000+settimer->wakeup_month *100+settimer->wakeup_day; OSD_SetEditFieldContent(edf, STRING_NUMBER, value); edf = &timer_edf_wakeuptime; value = (settimer->wakeup_time / 3600) *10000+((settimer->wakeup_time / 60) % 60)*100 + settimer->wakeup_time%60; timerSec = settimer->wakeup_time % 60; OSD_SetEditFieldContent(edf, STRING_NUMBER, value); edf = &timer_edf_duration; value = settimer->wakeup_duration_time / 3600 * 10000 + (settimer->wakeup_duration_time/60%60)*100 + settimer->wakeup_duration_time%60; OSD_SetEditFieldContent(edf, STRING_NUMBER, value); win_timerset_timermode_change(FALSE); }
void win_timer_load(TIMER_SET_CONTENT* settimer) { MULTISEL *msel; EDIT_FIELD *edf; TEXT_FIELD *txt; P_NODE p_node; UINT16 ch_idx,ch_cnt; UINT32 value; UINT8 action; win_timerset_set_currenttime(FALSE); /* TIMER_MODE*/ msel = &timer_msel_mode; if(settimer->timer_mode >= OSD_GetMultiselCount(msel)) settimer->timer_mode = TIMER_MODE_OFF; OSD_SetMultiselSel(msel, settimer->timer_mode); /* TIMER_WEEKDAY*/ msel = &timer_msel_wakeupweekday; if(settimer->wakeup_weekday >= OSD_GetMultiselCount(msel)) settimer->wakeup_weekday = SUNDAY; OSD_SetMultiselSel(msel, settimer->wakeup_weekday); /* TIMER_SERVICE */ msel = &timer_msel_servicetype; if(settimer->timer_service >= OSD_GetMultiselCount(msel)) settimer->timer_service = 0; OSD_SetMultiselSel(msel, settimer->timer_service); if(!pvr_info.hdd_valid)//guop add OSD_SetMultiselSel(msel, 0); /* TIMER service information: message or channel */ txt = &timer_txt_serviceinfo; OSD_SetTextFieldContent(txt, STRING_ID, (UINT32)TimerServiceTxtStr_id[settimer->timer_service]); win_timerset_timerservice_change(FALSE); edf = &timer_edf_wakeupdate; value = settimer->wakeup_year*10000 + settimer->wakeup_month*100 + settimer->wakeup_day; OSD_SetEditFieldContent(edf, STRING_NUMBER, value); edf = &timer_edf_wakeuptime; value = settimer->wakeup_time/60 * 100 + settimer->wakeup_time%60; OSD_SetEditFieldContent(edf, STRING_NUMBER, value); edf = &timer_edf_duration; if(settimer->timer_mode == TIMER_MODE_OFF) // set 2 hour as default!! settimer->wakeup_duration_time = 120; value = settimer->wakeup_duration_time/60 * 100 + settimer->wakeup_duration_time%60; OSD_SetEditFieldContent(edf, STRING_NUMBER, value); msel = &timer_msel_rec_type; if(settimer->wakeup_message > 2) settimer->wakeup_message = 0; OSD_SetMultiselSel(&timer_msel_rec_type, settimer->wakeup_message); win_timerset_timermode_change(FALSE); }
BOOL win_timerset_open(TIMER_SET_CONTENT* settimer,TIMER_SET_CONTENT* rettimer,BOOL check_starttime) { POBJECT_HEAD pObj = (POBJECT_HEAD)&g_win_timerset; PRESULT bResult = PROC_LOOP; UINT32 hkey; UINT8 cur_mode,mode; UINT8 group_idx; date_time dt,dt1; BOOL old_value = ap_enable_key_task_get_key(TRUE); sys_data_check_channel_groups(); cur_mode = sys_data_get_cur_chan_mode(); group_idx = sys_data_get_cur_group_index(); timer_set_ok_cancel_flag = 0; MEMSET(&timer_set,0,sizeof(TIMER_SET_CONTENT)); if(settimer != NULL) MEMCPY(&timer_set,settimer,sizeof(TIMER_SET_CONTENT)); if(timer_set.timer_mode != TIMER_MODE_OFF && timer_set.timer_service !=TIMER_SERVICE_MESSAGE) { if(timer_set.wakeup_chan_mode>1) timer_set.wakeup_chan_mode = 1; mode = timer_set.wakeup_chan_mode; } else { mode = cur_mode; timer_set.wakeup_chan_mode = cur_mode; } if(timer_set.timer_mode == TIMER_MODE_OFF) { timer_set_modify_add_flag = TIMER_ADD; timer_set_check_starttime_flag = 1; } else { timer_set_modify_add_flag = TIMER_MODIFY; timer_set_check_starttime_flag = 1; } get_local_time(&dt1); dt1.min = dt1.min/10*10; dt1.sec = 0; convert_time_by_offset(&dt,&dt1,0,10); if(timer_set_modify_add_flag == TIMER_ADD) { timer_set.wakeup_year = dt.year; timer_set.wakeup_month = dt.month; timer_set.wakeup_day = dt.day; timer_set.wakeup_time = dt.hour * 60 + dt.min; timer_set.wakeup_state = TIMER_STATE_READY; } if(timer_set.timer_service == TIMER_SERVICE_MESSAGE) timer_set.wakeup_duration_time = 0; sys_data_set_cur_chan_mode(mode); sys_data_change_group(0); OSD_SetContainerFocus(&g_win_timerset, TIMER_MODE_ID); OSD_ObjOpen(pObj, MENU_OPEN_TYPE_OTHER); while(bResult != PROC_LEAVE) { hkey = ap_get_key_msg(); if(hkey == INVALID_HK || hkey == INVALID_MSG) { win_timerset_set_currenttime(TRUE); continue; } bResult = OSD_ObjProc(pObj, (MSG_TYPE_KEY<<16),hkey, 0); } if(timer_set_ok_cancel_flag) MEMCPY(rettimer,&timer_set,sizeof(TIMER_SET_CONTENT)); sys_data_set_cur_chan_mode(cur_mode); sys_data_change_group(group_idx); sys_data_save(1); ap_enable_key_task_get_key(old_value); return timer_set_ok_cancel_flag; }