示例#1
0
static PRESULT jumpstep_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	UINT8	unact;
	UINT32 i;
	BOOL subt_flag;
	CONTAINER* cont = (CONTAINER*)pObj;
	UINT8	id = OSD_GetObjID(pObj);
	static UINT8 preval;
	
	switch(event)
	{
	case EVN_PRE_OPEN:
		preval = sys_data_get_jumpstep();
		wincom_open_title((POBJECT_HEAD)&g_win_jumpstep,RS_DVR_JUMP, 0);
		win_jumpstep_set_string(preval);
		break;
	
	case EVN_POST_OPEN:
		break;
		
	case EVN_PRE_CLOSE:
        *((UINT32 *)param2) &= ~C_CLOSE_CLRBACK_FLG;
		if(preval != sys_data_get_jumpstep())
		{
			sys_data_save(1);
		}
		break;

	case EVN_POST_CLOSE:
		break;
	case EVN_MSG_GOT:
#ifdef DISK_MANAGER_SUPPORT
		if (param1 == CTRL_MSG_SUBTYPE_CMD_STO && param2 == USB_STATUS_OVER)
		{
			// if disk used by PVR detached, exit this menu
			extern pvr_play_rec_t pvr_info;
			if (!pvr_info.hdd_valid)
			{
				ret = PROC_LEAVE;
			}
		}
#endif
		break;
	default:
		break;
	}
	return ret;
}
示例#2
0
static PRESULT jumpstep_item_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	UINT8	unact, input;
	UINT8	id = OSD_GetObjID(pObj);

	switch(event)
	{		
	case EVN_FOCUS_PRE_GET:
		break;
		
	case EVN_FOCUS_PRE_LOSE:
		break;

	case EVN_UNKNOWN_ACTION:
		unact = (VACTION)(param1>>16) ;
		input = sys_data_get_jumpstep();	
		if(unact == VACT_INCREASE)
		{
			input = (input+1)%5;
		}
		else if(unact == VACT_DECREASE)
		{
			if(!input)
				input = 5;
			input = (input-1)%5;
		}
		sys_data_set_jumpstep(input);
		win_jumpstep_set_string(input);
		OSD_TrackObject(pObj,C_UPDATE_ALL);
		ret = PROC_LOOP;
		break;
	}
	return ret;

}
示例#3
0
void win_pvr_setting_right_key(POBJECT_HEAD pObj,UINT8 id)
{
	SYSTEM_DATA* p_sys_data=sys_data_get();
	UINT8 input;
	struct dvr_HDD_info hdd_info;	
	
	switch(id)
	{
		case MENU_PVR_SETTING_TIMESHIFT:
			sys_data_set_tms(!sys_data_get_tms());
			win_pvr_setting_timeshift_set_string(sys_data_get_tms());
			OSD_TrackObject(pObj,C_UPDATE_ALL);
			if (sys_data_get_tms())
			{
				api_pvr_adjust_tms_space();
				if (pvr_get_HDD_info(&hdd_info) && (hdd_info.tms_size == 0))
				{
					pvr_set_tms_size(hdd_info.free_size); // set free space to tms
					pvr_get_HDD_info(&hdd_info);
				}
			}
			else
			{
				pvr_set_tms_size(0);
				pvr_get_HDD_info(&hdd_info);
			}
			api_pvr_check_level(&hdd_info);
			break;
		case MENU_PVR_SETTING_JUMP:
			input = sys_data_get_jumpstep();	
			input = (input+1)%5;
			sys_data_set_jumpstep(input);
			win_pvr_setting_jumpstep_set_string(input);
			OSD_TrackObject(pObj,C_UPDATE_ALL);
			break;
		case MENU_PVR_SETTING_SCRAMBLE_MODE:
			input = sys_data_get_scramble_record_mode();	
			input = !input;
			sys_data_set_scramble_record_mode(input);
			pvr_r_set_scramble_ext(!input);
			win_pvr_setting_scramble_record_mode_set_string(input);
			OSD_TrackObject(pObj,C_UPDATE_ALL);
			break;
		case MENU_PVR_SETTING_TS_FILE_SIZE:
			input = sys_data_get_record_ts_file_size();	
			input = (input+1)%4;
			sys_data_set_record_ts_file_size(input);
			win_pvr_setting_ts_file_size_set_string(input);
			OSD_TrackObject(pObj,C_UPDATE_ALL);
			break;
		case MENU_PVR_SETTING_TMS_2_REC:
			sys_data_set_tms2rec(!sys_data_get_tms2rec());
			win_pvr_setting_tms2rec_set_string(sys_data_get_tms2rec());
			OSD_TrackObject(pObj,C_UPDATE_ALL);
			break;
		case MENU_PVR_SETTING_TTX_SUBT:
			input = sys_data_get_record_ttx_subt();	
			input = !input;
			sys_data_set_record_ttx_subt(input);
			win_pvr_setting_ttx_subt_set_string(input);
			OSD_TrackObject(pObj,C_UPDATE_ALL);
			break;
		case MENU_PVR_SETTING_REC_NUM:
			sys_data_set_rec_num(3 - sys_data_get_rec_num());
			win_pvr_setting_rec_num_set_string(sys_data_get_rec_num());
			OSD_TrackObject(pObj,C_UPDATE_ALL);
			break;
		case MENU_PVR_SETTING_REC_PS:
			sys_data_set_rec_ps(!sys_data_get_rec_ps());
			win_pvr_setting_record_ps_set_string(sys_data_get_rec_ps());
			OSD_TrackObject(pObj,C_UPDATE_ALL);
			break;
		default:
			break;
	}
}