示例#1
0
        public SrtSubtitleViewModel(SubtitleDialogViewModel subtitleDialogViewModel, SrtSubtitle subtitle)
        {
            this.SubtitleDialogViewModel = subtitleDialogViewModel;
            this.subtitle = subtitle;

            this.RemoveSubtitle = ReactiveCommand.Create();
            this.RemoveSubtitle.Subscribe(_ => this.RemoveSubtitleImpl());
        }
        public SourceSubtitleViewModel(SubtitleDialogViewModel subtitleDialogViewModel, SourceSubtitle subtitle)
        {
            this.SubtitleDialogViewModel = subtitleDialogViewModel;
            this.subtitle = subtitle;

            MessengerInstance.Register <ContainerChangedMessage>(this,
                                                                 m =>
            {
                this.RefreshBoxes();
            });
        }
示例#3
0
		public SourceSubtitleViewModel(SubtitleDialogViewModel subtitleDialogViewModel, SourceSubtitle subtitle)
		{
			this.SubtitleDialogViewModel = subtitleDialogViewModel;
			this.subtitle = subtitle;

			MessengerInstance.Register<ContainerChangedMessage>(this,
				m =>
				{
					this.RefreshBoxes();
				});
		}
        public SourceSubtitleViewModel(SubtitleDialogViewModel subtitleDialogViewModel, SourceSubtitle subtitle)
        {
            this.SubtitleDialogViewModel = subtitleDialogViewModel;
            this.subtitle = subtitle;

            if (subtitle.TrackNumber != 0)
            {
                this.inputSubtitle = this.mainViewModel.SelectedTitle.SubtitleList[subtitle.TrackNumber - 1];
            }

            // CanPass
            this.presetsService.WhenAnyValue(x => x.SelectedPreset.Preset.EncodingProfile.ContainerName, containerName =>
            {
                if (this.TrackNumber == 0)
                {
                    return(true);
                }

                return(HandBrakeEncoderHelpers.SubtitleCanPassthrough(this.inputSubtitle.Source, HandBrakeEncoderHelpers.GetContainer(containerName).Id));
            }).ToProperty(this, x => x.CanPass, out this.canPass);

            // BurnedInEnabled
            this.WhenAnyValue(x => x.CanPass, canPass =>
            {
                if (this.TrackNumber == 0)
                {
                    return(true);
                }

                if (!canPass)
                {
                    return(false);
                }

                if (!this.CanBurn)
                {
                    return(false);
                }

                return(true);
            }).ToProperty(this, x => x.BurnedInEnabled, out this.burnedInEnabled);

            // When BurnedInEnabled changes, refresh to see if it should be updated to a predetermined value.
            this.WhenAnyValue(x => x.BurnedInEnabled).Subscribe(_ =>
            {
                this.RaisePropertyChanged(nameof(this.BurnedIn));
            });

            this.DuplicateSubtitle = ReactiveCommand.Create();
            this.DuplicateSubtitle.Subscribe(_ => this.DuplicateSubtitleImpl());

            this.RemoveSubtitle = ReactiveCommand.Create();
            this.RemoveSubtitle.Subscribe(_ => this.RemoveSubtitleImpl());
        }
示例#5
0
 public SrtSubtitleViewModel(SubtitleDialogViewModel subtitleDialogViewModel, SrtSubtitle subtitle)
 {
     this.SubtitleDialogViewModel = subtitleDialogViewModel;
     this.subtitle = subtitle;
 }
示例#6
0
		public SrtSubtitleViewModel(SubtitleDialogViewModel subtitleDialogViewModel, SrtSubtitle subtitle)
		{
			this.SubtitleDialogViewModel = subtitleDialogViewModel;
			this.subtitle = subtitle;
		}