diff options
Diffstat (limited to 'win/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs')
-rw-r--r-- | win/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/win/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs new file mode 100644 index 000000000..7e6efb3a0 --- /dev/null +++ b/win/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs @@ -0,0 +1,113 @@ +// -------------------------------------------------------------------------------------------------------------------- +// <copyright file="MetaDataViewModel.cs" company="HandBrake Project (http://handbrake.fr)"> +// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. +// </copyright> +// <summary> +// The Meta Data Tab +// </summary> +// -------------------------------------------------------------------------------------------------------------------- + +namespace HandBrakeWPF.ViewModels +{ + using Caliburn.Micro; + + using HandBrakeWPF.Services.Encode.Model; + using HandBrakeWPF.Services.Encode.Model.Models; + using HandBrakeWPF.Services.Interfaces; + using HandBrakeWPF.Services.Presets.Model; + using HandBrakeWPF.Services.Scan.Model; + using HandBrakeWPF.ViewModels.Interfaces; + public class MetaDataViewModel : ViewModelBase, IMetaDataViewModel + { + private EncodeTask task; + private MetaData metaData; + + /// <summary> + /// Initializes a new instance of the <see cref="ViewModelBase"/> class. + /// </summary> + public MetaDataViewModel(IWindowManager windowManager, IUserSettingService userSettingService) + { + this.Task = new EncodeTask(); + } + + /// <summary> + /// The Current Job + /// </summary> + public EncodeTask Task + { + get + { + return this.task; + } + set + { + this.task = value; + + if (this.task != null) + { + this.MetaData = this.task.MetaData; + } + + this.NotifyOfPropertyChange(() => this.Task); + } + } + + public MetaData MetaData + { + get + { + return this.metaData; + } + set + { + this.metaData = value; + this.NotifyOfPropertyChange(() => this.MetaData); + } + } + + /// <summary> + /// Setup the window after a scan. + /// </summary> + /// <param name="source"> + /// The source. + /// </param> + /// <param name="selectedTitle"> + /// The selected title. + /// </param> + /// <param name="currentPreset"> + /// The Current preset + /// </param> + /// <param name="encodeTask"> + /// The task. + /// </param> + public void SetSource(Source source, Title selectedTitle, Preset currentPreset, EncodeTask encodeTask) + { + this.Task = encodeTask; + } + + /// <summary> + /// Set the selected preset + /// </summary> + /// <param name="preset"> + /// The preset. + /// </param> + /// <param name="encodeTask"> + /// The task. + /// </param> + public void SetPreset(Preset preset, EncodeTask encodeTask) + { + this.Task = encodeTask; + } + + /// <summary> + /// Update all the UI controls based on the encode task passed in. + /// </summary> + /// <param name="encodeTask"> + /// The task. + /// </param> + public void UpdateTask(EncodeTask encodeTask) + { + this.Task = encodeTask; + } + } +} |