コード例 #1
0
ファイル: win_timer_set.c プロジェクト: jinfeng-geeya/3202C
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);


}
コード例 #2
0
ファイル: win_timer_set.c プロジェクト: Janesak1977/ali3602
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);


}
コード例 #3
0
ファイル: win_timer_set.c プロジェクト: Janesak1977/ali3602
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;

}