示例#1
0
void win_tms_right_key(POBJECT_HEAD pObj,UINT8 id)
{
	if(id == 1)
	{
		sys_data_set_tms(!sys_data_get_tms());
		win_tms_set_string(sys_data_get_tms(),&tms_item_txtset1);
		tms_set_tms2rec_item_active(TRUE);
	}
	else if (id == 2)
	{
		sys_data_set_tms2rec(!sys_data_get_tms2rec());
		win_tms_set_string(sys_data_get_tms2rec(),&tms_item_txtset2);
	}
    else if (id == 3)
	{      
      sys_data_set_rec_type(!sys_data_get_rec_type());
      win_set_rec_type_string(sys_data_get_rec_type(),&tms_item_txtset3);
	}
#if (defined(MULTI_PARTITION_SUPPORT) && !defined(DISK_MANAGER_SUPPORT))
    else if (id == 4)
	{
		if(storage_get_volume_count()<=1)
			return;
		
		win_get_nex_vol(1);
        win_set_vol_string(&tms_item_txtset4);
	}
#endif
	OSD_TrackObject(pObj,C_UPDATE_ALL);
}
示例#2
0
static PRESULT tms_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);
    char new_volume[16];
	
	switch(event)
	{
	case EVN_PRE_OPEN:
		wincom_open_subtitle((POBJECT_HEAD)&g_win_timeshift,RS_DVR_CONFIGURATION, 0);
		win_tms_set_string(sys_data_get_tms(),&tms_item_txtset1);
		win_tms_set_string(sys_data_get_tms2rec(),&tms_item_txtset2);		
        win_set_rec_type_string(sys_data_get_rec_type(),&tms_item_txtset3);        
#if (defined(MULTI_PARTITION_SUPPORT) && !defined(DISK_MANAGER_SUPPORT))		
		win_pvr_vol_init();
        win_set_vol_string(&tms_item_txtset4);
#endif
		tms_set_tms2rec_item_active(FALSE);
#ifdef NEW_DEMO_FRAME
		OSD_SetContainerFocus(&g_win_timeshift, 4);
		remove_menu_item((POBJECT_HEAD)&g_win_timeshift, (OBJECT_HEAD *)&tms_item_con1, CON_H + CON_GAP);
		remove_menu_item((POBJECT_HEAD)&g_win_timeshift, (OBJECT_HEAD *)&tms_item_con2, CON_H + CON_GAP);
		remove_menu_item((POBJECT_HEAD)&g_win_timeshift, (OBJECT_HEAD *)&tms_item_con3, CON_H + CON_GAP);
#else
		OSD_SetContainerFocus(&g_win_timeshift, 1);
#endif
		break;
	
	case EVN_POST_OPEN:
#if(defined(MULTI_PARTITION_SUPPORT) && !defined(DISK_MANAGER_SUPPORT))
		win_pvr_vol_invalid_msg();
#endif
		break;
		
	case EVN_PRE_CLOSE:
        *((UINT32 *)param2) &= ~C_CLOSE_CLRBACK_FLG;
#if (defined(MULTI_PARTITION_SUPPORT) && !defined(DISK_MANAGER_SUPPORT))
		win_pvr_vol_save();
#endif
		sys_data_save(1);
		break;

	case EVN_POST_CLOSE:
		break;
    case EVN_UNKNOWN_ACTION:
        if (api_pvr_is_record_active())
            break;
        if (sys_data_get_tms() == 0)
        {
            win_popup_choice_t choice;
            UINT8 back_saved;

            win_compopup_init(WIN_POPUP_TYPE_OKNO);
            win_compopup_set_msg(NULL, NULL, RS_ARE_YOU_SURE_TO_ENTER_RECORD_TP_MODE);
            if (pvr_r_get_record_all())
                win_compopup_set_default_choice(WIN_POP_CHOICE_YES);
            else
                win_compopup_set_default_choice(WIN_POP_CHOICE_NO);
            choice = win_compopup_open_ext(&back_saved);
            if(choice == WIN_POP_CHOICE_YES)
            {
                pvr_r_set_record_all(TRUE);
            }   
            else if (choice == WIN_POP_CHOICE_NO)
            {
                pvr_r_set_record_all(FALSE);
            }

        }
		else
		{
#ifdef PVR3_SUPPORT
            win_popup_choice_t choice;
            UINT8 back_saved;

            win_compopup_init(WIN_POPUP_TYPE_OKNO);
            win_compopup_set_msg(NULL, NULL, RS_CONTINUE_TMS_SUPPORT);
            if (pvr_r_get_record_all())
                win_compopup_set_default_choice(WIN_POP_CHOICE_YES);
            else
                win_compopup_set_default_choice(WIN_POP_CHOICE_NO);
            choice = win_compopup_open_ext(&back_saved);
            if(choice == WIN_POP_CHOICE_YES)
            {
                pvr_info.continue_tms = 1;
            }   
            else
            {
                pvr_info.continue_tms = 0;
            }
#endif
		}
       {
            win_popup_choice_t choice;
            UINT8 back_saved;

            win_compopup_init(WIN_POPUP_TYPE_OKNO);
            win_compopup_set_msg(NULL, NULL, RS_RECORD_CA_PROGRAM_IN_DESCRAMBLED_FORMAT);
            if (sys_data_get_scramble_record_mode())
                win_compopup_set_default_choice(WIN_POP_CHOICE_NO);
            else
                win_compopup_set_default_choice(WIN_POP_CHOICE_YES);
            choice = win_compopup_open_ext(&back_saved);
            if (choice == WIN_POP_CHOICE_YES)
            {
                sys_data_set_scramble_record_mode(0);
            }
            else if (choice == WIN_POP_CHOICE_NO)
            {
                sys_data_set_scramble_record_mode(1);
                pvr_r_set_scramble();
            }
        }
        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;
	}
}