public QueueTitlesDialogViewModel(List<Title> allTitles) { this.main = Ioc.Container.GetInstance<MainViewModel>(); this.selectedTitles = new ObservableCollection<TitleSelectionViewModel>(); this.selectRange = Config.QueueTitlesUseRange; this.startRange = Config.QueueTitlesStartTime; this.endRange = Config.QueueTitlesEndTime; this.titleStartOverrideEnabled = Config.QueueTitlesUseTitleOverride; this.titleStartOverride = Config.QueueTitlesTitleOverride; this.directoryOverrideEnabled = Config.QueueTitlesUseDirectoryOverride; this.directoryOverride = Config.QueueTitlesDirectoryOverride; this.nameOverrideEnabled = Config.QueueTitlesUseNameOverride; this.nameOverride = Config.QueueTitlesNameOverride; this.titles = new List<TitleSelectionViewModel>(); foreach (Title title in allTitles) { var titleVM = new TitleSelectionViewModel(title, this); this.titles.Add(titleVM); } // Perform range selection if enabled. if (this.selectRange) { this.SetSelectedFromRange(); } this.selectedTitles.CollectionChanged += (sender, args) => { this.RaisePropertyChanged(() => this.TitleDetailsVisible); if (this.selectedTitles.Count == 1) { Title title = this.selectedTitles[0].Title; // Do preview var previewProfile = new VCProfile { CustomCropping = true, Cropping = new Cropping(), VideoEncoder = "x264", AudioEncodings = new List<AudioEncoding>() }; var previewJob = new VCJob { RangeType = VideoRangeType.All, Title = title.TitleNumber, EncodingProfile = previewProfile }; this.PreviewImage = this.main.ScanInstance.GetPreview(previewJob.HbJob, 2); this.RaisePropertyChanged(() => this.TitleText); } }; }
public QueueTitlesDialogViewModel(List <Title> allTitles) { this.main = Ioc.Container.GetInstance <MainViewModel>(); this.selectedTitles = new ObservableCollection <TitleSelectionViewModel>(); this.selectRange = Config.QueueTitlesUseRange; this.startRange = Config.QueueTitlesStartTime; this.endRange = Config.QueueTitlesEndTime; this.titleStartOverrideEnabled = Config.QueueTitlesUseTitleOverride; this.titleStartOverride = Config.QueueTitlesTitleOverride; this.directoryOverrideEnabled = Config.QueueTitlesUseDirectoryOverride; this.directoryOverride = Config.QueueTitlesDirectoryOverride; this.nameOverrideEnabled = Config.QueueTitlesUseNameOverride; this.nameOverride = Config.QueueTitlesNameOverride; this.titles = new List <TitleSelectionViewModel>(); foreach (Title title in allTitles) { var titleVM = new TitleSelectionViewModel(title, this); this.titles.Add(titleVM); } // Perform range selection if enabled. if (this.selectRange) { this.SetSelectedFromRange(); } this.selectedTitles.CollectionChanged += (sender, args) => { this.RaisePropertyChanged(() => this.TitleDetailsVisible); if (this.selectedTitles.Count == 1) { Title title = this.selectedTitles[0].Title; // Do preview var previewProfile = new VCProfile { CustomCropping = true, Cropping = new Cropping(), VideoEncoder = "x264", AudioEncodings = new List <AudioEncoding>() }; var previewJob = new VCJob { RangeType = VideoRangeType.All, Title = title.TitleNumber, EncodingProfile = previewProfile }; this.PreviewImage = this.main.ScanInstance.GetPreview(previewJob.HbJob, 2); this.RaisePropertyChanged(() => this.TitleText); } }; }
public void HandleCheckChanged(TitleSelectionViewModel changedTitleVM, bool newValue) { if (this.SelectedTitles.Contains(changedTitleVM)) { foreach (TitleSelectionViewModel titleVM in this.SelectedTitles) { if (titleVM != changedTitleVM && titleVM.Selected != newValue) { titleVM.SetSelected(newValue); } } } }
private void RefreshTitles() { this.titles.Clear(); if (this.main.SourceData != null) { foreach (SourceTitle title in this.main.SourceData.Titles) { var titleVM = new TitleSelectionViewModel(title, this); this.titles.Add(titleVM); } // Perform range selection if enabled. this.SetSelectedFromRange(); } }