// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // The Meta Data Tab // // -------------------------------------------------------------------------------------------------------------------- namespace HandBrakeWPF.ViewModels { using System; using Caliburn.Micro; using HandBrakeWPF.EventArgs; 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; /// /// The meta data view model. /// public class MetaDataViewModel : ViewModelBase, IMetaDataViewModel { private EncodeTask task; /// /// Initializes a new instance of the class. /// /// /// The window Manager. /// /// /// The user Setting Service. /// public MetaDataViewModel(IWindowManager windowManager, IUserSettingService userSettingService) { this.task = new EncodeTask(); } public event EventHandler TabStatusChanged; /// /// Gets or sets the meta data. /// public MetaData MetaData { get { return this.task.MetaData; } set { this.task.MetaData = value; this.NotifyOfPropertyChange(() => this.MetaData); } } /// /// Setup the window after a scan. /// /// /// The source. /// /// /// The selected title. /// /// /// The Current preset /// /// /// The task. /// public void SetSource(Source source, Title selectedTitle, Preset currentPreset, EncodeTask encodeTask) { return; // Disabled for now. this.task = encodeTask; this.task.MetaData = new MetaData(selectedTitle.Metadata); this.NotifyOfPropertyChange(() => this.MetaData); } /// /// Set the selected preset /// /// /// The preset. /// /// /// The task. /// public void SetPreset(Preset preset, EncodeTask encodeTask) { } /// /// Update all the UI controls based on the encode task passed in. /// /// /// The task. /// public void UpdateTask(EncodeTask encodeTask) { this.task = encodeTask; this.NotifyOfPropertyChange(() => this.MetaData); } public bool MatchesPreset(Preset preset) { return true; } } }