summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--win/CS/HandBrakeWPF/HandBrakeWPF.csproj10
-rw-r--r--win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs18
-rw-r--r--win/CS/HandBrakeWPF/Properties/ResourcesUI.resx6
-rw-r--r--win/CS/HandBrakeWPF/Services/Encode/Factories/EncodeFactory.cs14
-rw-r--r--win/CS/HandBrakeWPF/Services/Encode/Model/EncodeTask.cs9
-rw-r--r--win/CS/HandBrakeWPF/Services/Encode/Model/Models/MetaData.cs93
-rw-r--r--win/CS/HandBrakeWPF/Startup/AppBootstrapper.cs1
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/Interfaces/IMetaDataViewModel.cs15
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs14
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs113
-rw-r--r--win/CS/HandBrakeWPF/Views/MetaDataView.xaml76
-rw-r--r--win/CS/HandBrakeWPF/Views/MetaDataView.xaml.cs28
-rw-r--r--win/CS/HandBrakeWPF/Views/Styles/Styles.xaml1
13 files changed, 396 insertions, 2 deletions
diff --git a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
index e09e69679..0898308eb 100644
--- a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
+++ b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
@@ -209,6 +209,7 @@
<Compile Include="Services\Encode\Model\Models\DenoisePreset.cs" />
<Compile Include="Services\Encode\Model\Models\DenoiseTune.cs" />
<Compile Include="Services\Encode\Model\Models\FramerateMode.cs" />
+ <Compile Include="Services\Encode\Model\Models\MetaData.cs" />
<Compile Include="Services\Encode\Model\Models\OutputFormat.cs" />
<Compile Include="Services\Encode\Model\Models\PointToPointMode.cs" />
<Compile Include="Services\Encode\Model\Models\SubtitleTrack.cs" />
@@ -267,10 +268,12 @@
<Compile Include="Controls\SourceSelection.xaml.cs">
<DependentUpon>SourceSelection.xaml</DependentUpon>
</Compile>
+ <Compile Include="ViewModels\Interfaces\IMetaDataViewModel.cs" />
<Compile Include="ViewModels\Interfaces\IPopupWindowViewModel.cs" />
<Compile Include="ViewModels\Interfaces\IStaticPreviewViewModel.cs" />
<Compile Include="ViewModels\Interfaces\IMiniViewModel.cs" />
<Compile Include="ViewModels\Interfaces\ISubtitlesDefaultsViewModel.cs" />
+ <Compile Include="ViewModels\MetaDataViewModel.cs" />
<Compile Include="ViewModels\MiniViewModel.cs" />
<Compile Include="ViewModels\PopupWindowViewModel.cs" />
<Compile Include="ViewModels\StaticPreviewViewModel.cs" />
@@ -278,6 +281,9 @@
<Compile Include="Views\AudioDefaultsView.xaml.cs">
<DependentUpon>AudioDefaultsView.xaml</DependentUpon>
</Compile>
+ <Compile Include="Views\MetaDataView.xaml.cs">
+ <DependentUpon>MetaDataView.xaml</DependentUpon>
+ </Compile>
<Compile Include="Views\PopupWindowView.xaml.cs">
<DependentUpon>PopupWindowView.xaml</DependentUpon>
</Compile>
@@ -493,6 +499,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
+ <Page Include="Views\MetaDataView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Views\PopupWindowView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
diff --git a/win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs b/win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs
index 511ea593b..e24ab338f 100644
--- a/win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs
+++ b/win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs
@@ -745,6 +745,15 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Meta Data.
+ /// </summary>
+ public static string MainView_MetaDataTab {
+ get {
+ return ResourceManager.GetString("MainView_MetaDataTab", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Options.
/// </summary>
public static string MainView_Options {
@@ -943,6 +952,15 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Meta Data.
+ /// </summary>
+ public static string MetaDataView_Title {
+ get {
+ return ResourceManager.GetString("MetaDataView_Title", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Clear Log files older than 30 days.
/// </summary>
public static string Options_30DayLogClear {
diff --git a/win/CS/HandBrakeWPF/Properties/ResourcesUI.resx b/win/CS/HandBrakeWPF/Properties/ResourcesUI.resx
index a17fdc9f4..ca5ecd6f7 100644
--- a/win/CS/HandBrakeWPF/Properties/ResourcesUI.resx
+++ b/win/CS/HandBrakeWPF/Properties/ResourcesUI.resx
@@ -878,4 +878,10 @@ This will not affect your current settings in the Subtitle tab.</value>
<data name="AudioDefaultView_Behaviours" xml:space="preserve">
<value>Choose Behaviors:</value>
</data>
+ <data name="MetaDataView_Title" xml:space="preserve">
+ <value>Meta Data</value>
+ </data>
+ <data name="MainView_MetaDataTab" xml:space="preserve">
+ <value>Meta Data</value>
+ </data>
</root> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Services/Encode/Factories/EncodeFactory.cs b/win/CS/HandBrakeWPF/Services/Encode/Factories/EncodeFactory.cs
index 0f9aa02fd..ba07dc5e5 100644
--- a/win/CS/HandBrakeWPF/Services/Encode/Factories/EncodeFactory.cs
+++ b/win/CS/HandBrakeWPF/Services/Encode/Factories/EncodeFactory.cs
@@ -535,7 +535,19 @@ namespace HandBrakeWPF.Services.Encode.Factories
{
Metadata metaData = new Metadata();
- /* TODO NOT SUPPORTED YET. */
+ if (job.MetaData != null)
+ {
+ metaData.Artist = job.MetaData.Artist;
+ metaData.AlbumArtist = job.MetaData.AlbumArtist;
+ metaData.Comment = job.MetaData.Comment;
+ metaData.Composer = job.MetaData.Composer;
+ metaData.Description = job.MetaData.Description;
+ metaData.Genre = job.MetaData.Genre;
+ metaData.LongDescription = job.MetaData.LongDescription;
+ metaData.Name = job.MetaData.Name;
+ metaData.ReleaseDate = job.MetaData.ReleaseDate;
+ }
+
return metaData;
}
}
diff --git a/win/CS/HandBrakeWPF/Services/Encode/Model/EncodeTask.cs b/win/CS/HandBrakeWPF/Services/Encode/Model/EncodeTask.cs
index 6ea377bc6..0203b0831 100644
--- a/win/CS/HandBrakeWPF/Services/Encode/Model/EncodeTask.cs
+++ b/win/CS/HandBrakeWPF/Services/Encode/Model/EncodeTask.cs
@@ -15,6 +15,7 @@ namespace HandBrakeWPF.Services.Encode.Model
using HandBrake.ApplicationServices.Interop.Model;
using HandBrake.ApplicationServices.Interop.Model.Encoding;
+ using HandBrakeWPF.Services.Encode.Model.Models;
using HandBrakeWPF.Utilities;
using AllowedPassthru = HandBrakeWPF.Services.Encode.Model.Models.AllowedPassthru;
@@ -56,6 +57,7 @@ namespace HandBrakeWPF.Services.Encode.Model
this.ChapterNames = new ObservableCollection<ChapterMarker>();
this.AllowedPassthruOptions = new AllowedPassthru();
this.Modulus = 16;
+ this.MetaData = new MetaData();
this.VideoTunes = new List<VideoTune>();
}
@@ -148,6 +150,8 @@ namespace HandBrakeWPF.Services.Encode.Model
this.VideoTunes = new List<VideoTune>(task.VideoTunes);
this.ExtraAdvancedArguments = task.ExtraAdvancedArguments;
+ this.MetaData = new MetaData(task.MetaData);
+
this.ShowAdvancedTab = task.ShowAdvancedTab;
}
@@ -505,6 +509,11 @@ namespace HandBrakeWPF.Services.Encode.Model
#endregion
+ #region MetaData
+
+ public MetaData MetaData { get; set; }
+ #endregion
+
#region Preview
/// <summary>
diff --git a/win/CS/HandBrakeWPF/Services/Encode/Model/Models/MetaData.cs b/win/CS/HandBrakeWPF/Services/Encode/Model/Models/MetaData.cs
new file mode 100644
index 000000000..5cf274ee9
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Services/Encode/Model/Models/MetaData.cs
@@ -0,0 +1,93 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="MetaData.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>
+// An MetaData Class
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Services.Encode.Model.Models
+{
+ public class MetaData
+ {
+ private string albumArtist;
+
+ /// <summary>Initializes a new instance of the <see cref="T:System.Object" /> class.</summary>
+ public MetaData()
+ {
+ }
+
+ /// <summary>Initializes a new instance of the <see cref="T:System.Object" /> class.</summary>
+ public MetaData(MetaData metadata)
+ {
+ if (metadata != null)
+ {
+ this.AlbumArtist = metadata.AlbumArtist;
+ this.Artist = metadata.Artist;
+ this.Comment = metadata.Comment;
+ this.Composer = metadata.Composer;
+ this.Description = metadata.Description;
+ this.Genre = metadata.Genre;
+ this.LongDescription = metadata.LongDescription;
+ this.Name = metadata.Name;
+ this.ReleaseDate = metadata.ReleaseDate;
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets the album artist.
+ /// </summary>
+ public string AlbumArtist
+ {
+ get
+ {
+ return this.albumArtist;
+ }
+ set
+ {
+ this.albumArtist = value;
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets the artist.
+ /// </summary>
+ public string Artist { get; set; }
+
+ /// <summary>
+ /// Gets or sets the comment.
+ /// </summary>
+ public string Comment { get; set; }
+
+ /// <summary>
+ /// Gets or sets the composer.
+ /// </summary>
+ public string Composer { get; set; }
+
+ /// <summary>
+ /// Gets or sets the description.
+ /// </summary>
+ public string Description { get; set; }
+
+ /// <summary>
+ /// Gets or sets the genre.
+ /// </summary>
+ public string Genre { get; set; }
+
+ /// <summary>
+ /// Gets or sets the long description.
+ /// </summary>
+ public string LongDescription { get; set; }
+
+ /// <summary>
+ /// Gets or sets the name.
+ /// </summary>
+ public string Name { get; set; }
+
+ /// <summary>
+ /// Gets or sets the release date.
+ /// </summary>
+ public string ReleaseDate { get; set; }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Startup/AppBootstrapper.cs b/win/CS/HandBrakeWPF/Startup/AppBootstrapper.cs
index 43d8de44f..70fe9e306 100644
--- a/win/CS/HandBrakeWPF/Startup/AppBootstrapper.cs
+++ b/win/CS/HandBrakeWPF/Startup/AppBootstrapper.cs
@@ -91,6 +91,7 @@ namespace HandBrakeWPF.Startup
this.container.Singleton<ISubtitlesViewModel, SubtitlesViewModel>();
this.container.Singleton<IFiltersViewModel, FiltersViewModel>();
this.container.Singleton<IVideoViewModel, VideoViewModel>();
+ this.container.Singleton<IMetaDataViewModel, MetaDataViewModel>();
// Shell
this.container.Singleton<IShellViewModel, ShellViewModel>();
diff --git a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMetaDataViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMetaDataViewModel.cs
new file mode 100644
index 000000000..1e62880c2
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMetaDataViewModel.cs
@@ -0,0 +1,15 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="IMetaDataViewModel.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.Interfaces
+{
+ public interface IMetaDataViewModel : ITabInterface
+ {
+ }
+}
diff --git a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
index 6461e29be..a5796a045 100644
--- a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
@@ -155,12 +155,15 @@ namespace HandBrakeWPF.ViewModels
/// <param name="queueViewModel">
/// The queue View Model.
/// </param>
+ /// <param name="metaDataViewModel">
+ /// The Meta Data View Model
+ /// </param>
public MainViewModel(IUserSettingService userSettingService, IScan scanService, IEncode encodeService, IPresetService presetService,
IErrorService errorService, IUpdateService updateService,
IPrePostActionService whenDoneService, IWindowManager windowManager, IPictureSettingsViewModel pictureSettingsViewModel, IVideoViewModel videoViewModel,
IFiltersViewModel filtersViewModel, IAudioViewModel audioViewModel, ISubtitlesViewModel subtitlesViewModel,
IAdvancedViewModel advancedViewModel, IChaptersViewModel chaptersViewModel, IStaticPreviewViewModel staticPreviewViewModel,
- IQueueViewModel queueViewModel)
+ IQueueViewModel queueViewModel, IMetaDataViewModel metaDataViewModel)
{
this.scanService = scanService;
this.encodeService = encodeService;
@@ -174,6 +177,7 @@ namespace HandBrakeWPF.ViewModels
this.PictureSettingsViewModel = pictureSettingsViewModel;
this.VideoViewModel = videoViewModel;
+ this.MetaDataViewModel = metaDataViewModel;
this.FiltersViewModel = filtersViewModel;
this.AudioViewModel = audioViewModel;
this.SubtitleViewModel = subtitlesViewModel;
@@ -278,6 +282,11 @@ namespace HandBrakeWPF.ViewModels
/// </summary>
public IStaticPreviewViewModel StaticPreviewViewModel { get; set; }
+ /// <summary>
+ /// The MetaData View Model
+ /// </summary>
+ public IMetaDataViewModel MetaDataViewModel { get; set; }
+
#endregion
#region Properties
@@ -376,6 +385,7 @@ namespace HandBrakeWPF.ViewModels
this.SubtitleViewModel.SetPreset(this.SelectedPreset, this.CurrentTask);
this.ChaptersViewModel.SetPreset(this.SelectedPreset, this.CurrentTask);
this.AdvancedViewModel.SetPreset(this.SelectedPreset, this.CurrentTask);
+ this.MetaDataViewModel.SetPreset(this.SelectedPreset, this.CurrentTask);
// Do this again to force an update for m4v/mp4 selection
this.SelectedOutputFormat = selectedPreset.Task.OutputFormat;
@@ -2022,6 +2032,7 @@ namespace HandBrakeWPF.ViewModels
this.SubtitleViewModel.UpdateTask(this.CurrentTask);
this.ChaptersViewModel.UpdateTask(this.CurrentTask);
this.AdvancedViewModel.UpdateTask(this.CurrentTask);
+ this.MetaDataViewModel.UpdateTask(this.CurrentTask);
// Cleanup
this.ShowStatusWindow = false;
@@ -2093,6 +2104,7 @@ namespace HandBrakeWPF.ViewModels
this.SubtitleViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);
this.ChaptersViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);
this.AdvancedViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);
+ this.MetaDataViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);
}
}
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;
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/MetaDataView.xaml b/win/CS/HandBrakeWPF/Views/MetaDataView.xaml
new file mode 100644
index 000000000..975305f82
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/MetaDataView.xaml
@@ -0,0 +1,76 @@
+<UserControl x:Class="HandBrakeWPF.Views.MetaDataView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:converters="clr-namespace:HandBrakeWPF.Converters"
+ xmlns:Properties="clr-namespace:HandBrakeWPF.Properties"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="500">
+
+ <UserControl.Resources>
+ <converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />
+ </UserControl.Resources>
+
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+
+ <TextBlock Text="{x:Static Properties:ResourcesUI.MetaDataView_Title}" FontWeight="Bold" Margin="10,5,0,0" Grid.Row="0" />
+
+ <!-- Metadata Input Area -->
+ <Grid Grid.Row="1" Margin="10,10,0,0">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" MinHeight="25" />
+ <RowDefinition Height="Auto" MinHeight="25" />
+ <RowDefinition Height="Auto" MinHeight="25" />
+ <RowDefinition Height="Auto" MinHeight="25" />
+ <RowDefinition Height="Auto" MinHeight="25" />
+ <RowDefinition Height="Auto" MinHeight="25" />
+ <RowDefinition Height="Auto" MinHeight="25" />
+ <RowDefinition Height="Auto" MinHeight="25" />
+ <RowDefinition Height="Auto" MinHeight="25" />
+ </Grid.RowDefinitions>
+
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto" MinWidth="100" />
+ <ColumnDefinition Width="*" />
+ </Grid.ColumnDefinitions>
+
+ <TextBlock Text="Album Artist:" Grid.Row="0" />
+ <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding MetaData.AlbumArtist, UpdateSourceTrigger=PropertyChanged}" Width="350" VerticalAlignment="Center" />
+
+ <TextBlock Text="Artist:" Grid.Row="1" Grid.Column="0" />
+ <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding MetaData.Artist, UpdateSourceTrigger=PropertyChanged}" Width="350" VerticalAlignment="Center" />
+
+ <TextBlock Text="Comment:" Grid.Row="2" Grid.Column="0" />
+ <TextBox Grid.Row="2" Grid.Column="1" Text="{Binding MetaData.Comment, UpdateSourceTrigger=PropertyChanged}" Width="350" VerticalAlignment="Center" />
+
+ <TextBlock Text="Composer:" Grid.Row="3" Grid.Column="0" />
+ <TextBox Grid.Row="3" Grid.Column="1" Text="{Binding MetaData.Composer, UpdateSourceTrigger=PropertyChanged}" Width="350" VerticalAlignment="Center" />
+
+ <TextBlock Text="Description:" Grid.Row="4" Grid.Column="0" />
+ <TextBox Grid.Row="4" Grid.Column="1" Text="{Binding MetaData.Description, UpdateSourceTrigger=PropertyChanged}" Width="350" VerticalAlignment="Center" />
+
+ <TextBlock Text="Genre:" Grid.Row="5" Grid.Column="0" />
+ <TextBox Grid.Row="5" Grid.Column="1" Text="{Binding MetaData.Genre, UpdateSourceTrigger=PropertyChanged}" Width="350" VerticalAlignment="Center" />
+
+ <TextBlock Text="Long Description:" Grid.Row="6" Grid.Column="0" />
+ <TextBox Grid.Row="6" Grid.Column="1" Text="{Binding MetaData.LongDescription, UpdateSourceTrigger=PropertyChanged}" Width="350" VerticalAlignment="Center" />
+
+ <TextBlock Text="Name:" Grid.Row="7" Grid.Column="0" />
+ <TextBox Grid.Row="7" Grid.Column="1" Text="{Binding MetaData.Name, UpdateSourceTrigger=PropertyChanged}" Width="350" VerticalAlignment="Center" />
+
+ <TextBlock Text="Release Date:" Grid.Row="8" Grid.Column="0" />
+ <TextBox Grid.Row="8" Grid.Column="1" Text="{Binding MetaData.ReleaseDate, UpdateSourceTrigger=PropertyChanged}" Width="350" VerticalAlignment="Center" />
+ </Grid>
+
+ </Grid>
+
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/MetaDataView.xaml.cs b/win/CS/HandBrakeWPF/Views/MetaDataView.xaml.cs
new file mode 100644
index 000000000..467f6b8a8
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/MetaDataView.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for MetaDataView.xaml
+ /// </summary>
+ public partial class MetaDataView : UserControl
+ {
+ public MetaDataView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Styles/Styles.xaml b/win/CS/HandBrakeWPF/Views/Styles/Styles.xaml
index 3b4b0eeb9..66eb49078 100644
--- a/win/CS/HandBrakeWPF/Views/Styles/Styles.xaml
+++ b/win/CS/HandBrakeWPF/Views/Styles/Styles.xaml
@@ -16,6 +16,7 @@
<Style TargetType="{x:Type TextBox}">
<Setter Property="VerticalContentAlignment" Value="Center"/>
+ <Setter Property="MinHeight" Value="20"/>
</Style>
<Style TargetType="{x:Type Button}">