summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs
diff options
context:
space:
mode:
Diffstat (limited to 'win/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs')
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs113
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;
+ }
+ }
+}