Relabel labels depending on media type

This commit is contained in:
Matt Nadareski
2020-11-30 16:12:54 -08:00
parent d3d225644d
commit 44edf387a6
4 changed files with 148 additions and 88 deletions

View File

@@ -13,19 +13,19 @@
<TextBlock Text="Common Disc Information" Margin="2" HorizontalAlignment="Left" VerticalAlignment="Top" FontWeight="Bold" FontSize="14" Foreground="Gray" />
</Border>
<Grid Grid.Row="0" Margin="10,15,10,10" ColumnDefinitions="1*,1*" RowDefinitions="1*,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25">
<TextBlock Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Title" />
<TextBlock Name="TitleTextBlock" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Title" />
<TextBox Name="TitleTextBox" Grid.Row="1" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Foreign Title (Non-Latin)" />
<TextBlock Name="ForeignTitleTextBlock" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Foreign Title (Non-Latin)" />
<TextBox Name="ForeignTitleTextBox" Grid.Row="2" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Disc Number / Letter" />
<TextBlock Name="DiscNumberLetterTextBlock" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Disc Number / Letter" />
<TextBox Name="DiscNumberLetterTextBox" Grid.Row="3" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Disc Title" />
<TextBlock Name="DiscTitleTextBlock" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Disc Title" />
<TextBox Name="DiscTitleTextBox" Grid.Row="4" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="5" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Category" />
<TextBlock Name="CategoryComboBlock" Grid.Row="5" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Category" />
<ComboBox Name="CategoryComboBox" Grid.Row="5" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" >
<ComboBox.ItemTemplate>
<DataTemplate>
@@ -34,7 +34,7 @@
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Grid.Row="6" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Region" />
<TextBlock Name="RegionComboBlock" Grid.Row="6" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Region" />
<ComboBox Name="RegionComboBox" Grid.Row="6" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" >
<ComboBox.ItemTemplate>
<DataTemplate>
@@ -43,7 +43,7 @@
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Grid.Row="7" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Languages" />
<TextBlock Name="LanguagesComboBlock" Grid.Row="7" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Languages" />
<ComboBox Name="LanguagesComboBox" Grid.Row="7" Grid.Column="1" Height="24" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" >
<ComboBox.ItemTemplate>
<DataTemplate>
@@ -52,50 +52,50 @@
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Grid.Row="8" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Serial" />
<TextBlock Name="SerialTextBlock" Grid.Row="8" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Serial" />
<TextBox Name="SerialTextBox" Grid.Row="8" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<!-- Layer 0 / Data Side -->
<TextBlock Grid.Row="9" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Mastering Ring" />
<TextBlock Name="L0MasteringRingTextBlock" Grid.Row="9" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Mastering Ring" />
<TextBox Name="L0MasteringRingTextBox" Grid.Row="9" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" AcceptsTab="True" />
<TextBlock Grid.Row="10" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Mastering SID" />
<TextBlock Name="L0MasteringSIDTextBlock" Grid.Row="10" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Mastering SID" />
<TextBox Name="L0MasteringSIDTextBox" Grid.Row="10" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="11" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Toolstamp/Mastering Code" />
<TextBlock Name="L0ToolstampTextBlock" Grid.Row="11" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Toolstamp/Mastering Code" />
<TextBox Name="L0ToolstampTextBox" Grid.Row="11" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="12" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Mould SID" />
<TextBlock Name="L0MouldSIDTextBlock" Grid.Row="12" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Mould SID" />
<TextBox Name="L0MouldSIDTextBox" Grid.Row="12" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="13" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Additional Mould" />
<TextBlock Name="L0AdditionalMouldTextBlock" Grid.Row="13" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Data/L0 Additional Mould" />
<TextBox Name="L0AdditionalMouldTextBox" Grid.Row="13" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<!-- Layer 1 / Label Side -->
<TextBlock Grid.Row="14" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Mastering Ring" />
<TextBlock Name="L1MasteringRingTextBlock" Grid.Row="14" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Mastering Ring" />
<TextBox Name="L1MasteringRingTextBox" Grid.Row="14" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" AcceptsTab="True" />
<TextBlock Grid.Row="15" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Mastering SID" />
<TextBlock Name="L1MasteringSIDTextBlock" Grid.Row="15" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Mastering SID" />
<TextBox Name="L1MasteringSIDTextBox" Grid.Row="15" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="16" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Toolstamp/Mastering Code" />
<TextBlock Name="L1ToolstampTextBlock" Grid.Row="16" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Toolstamp/Mastering Code" />
<TextBox Name="L1ToolstampTextBox" Grid.Row="16" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="17" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Mould SID" />
<TextBlock Name="L1MouldSIDTextBlock" Grid.Row="17" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Mould SID" />
<TextBox Name="L1MouldSIDTextBox" Grid.Row="17" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="18" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Additional Mould" />
<TextBlock Name="L1AdditionalMouldTextBlock" Grid.Row="18" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Label/L1 Additional Mould" />
<TextBox Name="L1AdditionalMouldTextBox" Grid.Row="18" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<TextBlock Grid.Row="19" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Barcode" />
<TextBlock Name="BarcodeTextBlock" Grid.Row="19" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Barcode" />
<TextBox Name="BarcodeTextBox" Grid.Row="19" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
<!-- This needs to be a multiline textbox -->
<TextBlock Grid.Row="20" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Comments" />
<TextBlock Name="CommentsTextBlock" Grid.Row="20" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Comments" />
<TextBox Name="CommentsTextBox" Grid.Row="20" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" AcceptsReturn="True" AcceptsTab="True" />
<!-- This needs to be a multiline textbox -->
<TextBlock Grid.Row="21" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Contents" />
<TextBlock Name="ContentsTextBlock" Grid.Row="21" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Text="Contents" />
<TextBox Name="ContentsTextBox" Grid.Row="21" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" AcceptsReturn="True" AcceptsTab="True"/>
</Grid>

View File

@@ -58,39 +58,69 @@ namespace MPF.Avalonia
PopulateCategories();
PopulateRegions();
PopulateLanguages();
DisableFieldsIfNeeded();
ManipulateFields();
}
#region Helpers
/// <summary>
/// Disable fields that aren't applicable to the current disc
/// Manipulate fields based on the current disc
/// </summary>
private void DisableFieldsIfNeeded()
private void ManipulateFields()
{
// Only disable for single-layer discs
if (SubmissionInfo?.SizeAndChecksums?.Layerbreak == default(long))
// Different media types mean different fields available
switch (SubmissionInfo?.CommonDiscInfo.Media)
{
this.Find<TextBox>("L1MasteringRingTextBox").IsEnabled = false;
this.Find<TextBox>("L1MasteringRingTextBox").Background = Brushes.Gray;
case MediaType.CDROM:
case MediaType.GDROM:
this.Find<TextBlock>("L0MasteringRingTextBlock").Text = "Data-Side Mastering Ring";
this.Find<TextBlock>("L0MasteringSIDTextBlock").Text = "Data-Side Mastering SID";
this.Find<TextBlock>("L0ToolstampTextBlock").Text = "Data-Side Toolstamp/Mastering Code";
this.Find<TextBlock>("L0MouldSIDTextBlock").Text = "Data-Side Mould SID";
this.Find<TextBlock>("L0AdditionalMouldTextBlock").Text = "Data-Side Additional Mould";
this.Find<TextBlock>("L1MasteringRingTextBlock").Text = "Label-Side Mastering Ring";
this.Find<TextBlock>("L1MasteringSIDTextBlock").Text = "Label-Side Mastering SID";
this.Find<TextBlock>("L1ToolstampTextBlock").Text = "Label-Side Toolstamp/Mastering Code";
this.Find<TextBlock>("L1MouldSIDTextBlock").Text = "Label-Side Mould SID";
this.Find<TextBlock>("L1AdditionalMouldTextBlock").Text = "Label-Side Additional Mould";
break;
this.Find<TextBox>("L1MasteringSIDTextBox").IsEnabled = false;
this.Find<TextBox>("L1MasteringSIDTextBox").Background = Brushes.Gray;
case MediaType.DVD:
case MediaType.HDDVD:
case MediaType.BluRay:
case MediaType.NintendoGameCubeGameDisc:
case MediaType.NintendoWiiOpticalDisc:
case MediaType.NintendoWiiUOpticalDisc:
// Single-layer discs should read the same as CDs
if (SubmissionInfo?.SizeAndChecksums?.Layerbreak == default(long))
{
this.Find<TextBlock>("L0MasteringRingTextBlock").Text = "Data-Side Mastering Ring";
this.Find<TextBlock>("L0MasteringSIDTextBlock").Text = "Data-Side Mastering SID";
this.Find<TextBlock>("L0ToolstampTextBlock").Text = "Data-Side Toolstamp/Mastering Code";
this.Find<TextBlock>("L0MouldSIDTextBlock").Text = "Data-Side Mould SID";
this.Find<TextBlock>("L0AdditionalMouldTextBlock").Text = "Data-Side Additional Mould";
this.Find<TextBlock>("L1MasteringRingTextBlock").Text = "Label-Side Mastering Ring";
this.Find<TextBlock>("L1MasteringSIDTextBlock").Text = "Label-Side Mastering SID";
this.Find<TextBlock>("L1ToolstampTextBlock").Text = "Label-Side Toolstamp/Mastering Code";
this.Find<TextBlock>("L1MouldSIDTextBlock").Text = "Label-Side Mould SID";
this.Find<TextBlock>("L1AdditionalMouldTextBlock").Text = "Label-Side Additional Mould";
}
// Double-layer discs should have different naming
else
{
this.Find<TextBlock>("L0MasteringRingTextBlock").Text = "Layer 0 Mastering Ring";
this.Find<TextBlock>("L0MasteringSIDTextBlock").Text = "Layer 0 Mastering SID";
this.Find<TextBlock>("L0ToolstampTextBlock").Text = "Layer 0 Toolstamp/Mastering Code";
this.Find<TextBlock>("L0MouldSIDTextBlock").Text = "Data-Side Mould SID";
this.Find<TextBlock>("L0AdditionalMouldTextBlock").Text = "Data-Side Additional Mould";
this.Find<TextBlock>("L1MasteringRingTextBlock").Text = "Layer 1 Mastering Ring";
this.Find<TextBlock>("L1MasteringSIDTextBlock").Text = "Layer 1 Mastering SID";
this.Find<TextBlock>("L1ToolstampTextBlock").Text = "Layer 1 Toolstamp/Mastering Code";
this.Find<TextBlock>("L1MouldSIDTextBlock").Text = "Label-Side Mould SID";
this.Find<TextBlock>("L1AdditionalMouldTextBlock").Text = "Label-Side Additional Mould";
}
this.Find<TextBox>("L1ToolstampTextBox").IsEnabled = false;
this.Find<TextBox>("L1ToolstampTextBox").Background = Brushes.Gray;
// DVD, HD-DVD, and BD should all allow for label-side moulds
if (SubmissionInfo?.CommonDiscInfo.Media != MediaType.DVD
&& SubmissionInfo?.CommonDiscInfo.Media != MediaType.HDDVD
&& SubmissionInfo?.CommonDiscInfo.Media != MediaType.BluRay)
{
this.Find<TextBox>("L1MouldSIDTextBox").IsEnabled = false;
this.Find<TextBox>("L1MouldSIDTextBox").Background = Brushes.Gray;
}
this.Find<TextBox>("L1AdditionalMouldTextBox").IsEnabled = false;
this.Find<TextBox>("L1AdditionalMouldTextBox").Background = Brushes.Gray;
break;
}
}

View File

@@ -47,19 +47,19 @@
<RowDefinition Height="25"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Title" />
<Label x:Name="TitleLabel" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Title" />
<TextBox x:Name="TitleTextBox" Grid.Row="0" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Foreign Title (Non-Latin)" />
<Label x:Name="ForeignTitleLabel" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Foreign Title (Non-Latin)" />
<TextBox x:Name="ForeignTitleTextBox" Grid.Row="1" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Disc Number / Letter" />
<Label x:Name="DiscNumberLetterLabel" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Disc Number / Letter" />
<TextBox x:Name="DiscNumberLetterTextBox" Grid.Row="2" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Disc Title" />
<Label x:Name="DiscTitleLabel" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Disc Title" />
<TextBox x:Name="DiscTitleTextBox" Grid.Row="3" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Category" />
<Label x:Name="CategoryLabel" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Category" />
<ComboBox x:Name="CategoryComboBox" Grid.Row="4" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" >
<ComboBox.ItemTemplate>
<DataTemplate>
@@ -68,7 +68,7 @@
</ComboBox.ItemTemplate>
</ComboBox>
<Label Grid.Row="5" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Region" />
<Label x:Name="RegionLabel" Grid.Row="5" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Region" />
<ComboBox x:Name="RegionComboBox" Grid.Row="5" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" >
<ComboBox.ItemTemplate>
<DataTemplate>
@@ -77,7 +77,7 @@
</ComboBox.ItemTemplate>
</ComboBox>
<Label Grid.Row="6" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Languages" />
<Label x:Name="LanguagesLabel" Grid.Row="6" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Languages" />
<ComboBox x:Name="LanguagesComboBox" Grid.Row="6" Grid.Column="1" Height="24" HorizontalAlignment="Stretch" >
<ComboBox.ItemTemplate>
<DataTemplate>
@@ -86,50 +86,50 @@
</ComboBox.ItemTemplate>
</ComboBox>
<Label Grid.Row="7" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Serial" />
<Label x:Name="SerialLabel" Grid.Row="7" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Serial" />
<TextBox x:Name="SerialTextBox" Grid.Row="7" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<!-- Layer 0 / Data Side -->
<Label Grid.Row="8" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Mastering Ring" />
<Label x:Name="L0MasteringRingLabel" Grid.Row="8" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Mastering Ring" />
<TextBox x:Name="L0MasteringRingTextBox" Grid.Row="8" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" AcceptsTab="True" />
<Label Grid.Row="9" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Mastering SID" />
<Label x:Name="L0MasteringSIDLabel" Grid.Row="9" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Mastering SID" />
<TextBox x:Name="L0MasteringSIDTextBox" Grid.Row="9" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="10" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Toolstamp/Mastering Code" />
<Label x:Name="L0ToolstampLabel" Grid.Row="10" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Toolstamp/Mastering Code" />
<TextBox x:Name="L0ToolstampTextBox" Grid.Row="10" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="11" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Mould SID" />
<Label x:Name="L0MouldSIDLabel" Grid.Row="11" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Mould SID" />
<TextBox x:Name="L0MouldSIDTextBox" Grid.Row="11" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="12" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Additional Mould" />
<Label x:Name="L0AdditionalMouldLabel" Grid.Row="12" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Data/L0 Additional Mould" />
<TextBox x:Name="L0AdditionalMouldTextBox" Grid.Row="12" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<!-- Layer 1 / Label Side -->
<Label Grid.Row="13" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Mastering Ring" />
<Label x:Name="L1MasteringRingLabel" Grid.Row="13" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Mastering Ring" />
<TextBox x:Name="L1MasteringRingTextBox" Grid.Row="13" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" AcceptsTab="True" />
<Label Grid.Row="14" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Mastering SID" />
<Label x:Name="L1MasteringSIDLabel" Grid.Row="14" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Mastering SID" />
<TextBox x:Name="L1MasteringSIDTextBox" Grid.Row="14" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="15" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Toolstamp/Mastering Code" />
<Label x:Name="L1ToolstampLabel" Grid.Row="15" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Toolstamp/Mastering Code" />
<TextBox x:Name="L1ToolstampTextBox" Grid.Row="15" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="16" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Mould SID" />
<Label x:Name="L1MouldSIDLabel" Grid.Row="16" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Mould SID" />
<TextBox x:Name="L1MouldSIDTextBox" Grid.Row="16" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="17" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Additional Mould" />
<Label x:Name="L1AdditionalMouldLabel" Grid.Row="17" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Label/L1 Additional Mould" />
<TextBox x:Name="L1AdditionalMouldTextBox" Grid.Row="17" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<Label Grid.Row="18" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Barcode" />
<Label x:Name="BarcodeLabel" Grid.Row="18" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Barcode" />
<TextBox x:Name="BarcodeTextBox" Grid.Row="18" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" />
<!-- This needs to be a multiline textbox -->
<Label Grid.Row="19" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Comments" />
<Label x:Name="CommentsLabel" Grid.Row="19" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Comments" />
<TextBox x:Name="CommentsTextBox" Grid.Row="19" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" AcceptsReturn="True" AcceptsTab="True" />
<!-- This needs to be a multiline textbox -->
<Label Grid.Row="20" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Contents" />
<Label x:Name="ContentsLabel" Grid.Row="20" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right" Content="Contents" />
<TextBox x:Name="ContentsTextBox" Grid.Row="20" Grid.Column="1" Height="22" HorizontalAlignment="Stretch" AcceptsReturn="True" AcceptsTab="True"/>
</Grid>
</GroupBox>

View File

@@ -45,37 +45,67 @@ namespace MPF.Windows
PopulateCategories();
PopulateRegions();
PopulateLanguages();
DisableFieldsIfNeeded();
ManipulateFields();
}
/// <summary>
/// Disable fields that aren't applicable to the current disc
/// Manipulate fields based on the current disc
/// </summary>
private void DisableFieldsIfNeeded()
private void ManipulateFields()
{
// Only disable for single-layer discs
if (SubmissionInfo?.SizeAndChecksums?.Layerbreak == default(long))
// Different media types mean different fields available
switch (SubmissionInfo?.CommonDiscInfo.Media)
{
L1MasteringRingTextBox.IsEnabled = false;
L1MasteringRingTextBox.Background = Brushes.Gray;
case MediaType.CDROM:
case MediaType.GDROM:
L0MasteringRingLabel.Content = "Data-Side Mastering Ring";
L0MasteringSIDLabel.Content = "Data-Side Mastering SID";
L0ToolstampLabel.Content = "Data-Side Toolstamp/Mastering Code";
L0MouldSIDLabel.Content = "Data-Side Mould SID";
L0AdditionalMouldLabel.Content = "Data-Side Additional Mould";
L1MasteringRingLabel.Content = "Label-Side Mastering Ring";
L1MasteringSIDLabel.Content = "Label-Side Mastering SID";
L1ToolstampLabel.Content = "Label-Side Toolstamp/Mastering Code";
L1MouldSIDLabel.Content = "Label-Side Mould SID";
L1AdditionalMouldLabel.Content = "Label-Side Additional Mould";
break;
L1MasteringSIDTextBox.IsEnabled = false;
L1MasteringSIDTextBox.Background = Brushes.Gray;
case MediaType.DVD:
case MediaType.HDDVD:
case MediaType.BluRay:
case MediaType.NintendoGameCubeGameDisc:
case MediaType.NintendoWiiOpticalDisc:
case MediaType.NintendoWiiUOpticalDisc:
// Single-layer discs should read the same as CDs
if (SubmissionInfo?.SizeAndChecksums?.Layerbreak == default(long))
{
L0MasteringRingLabel.Content = "Data-Side Mastering Ring";
L0MasteringSIDLabel.Content = "Data-Side Mastering SID";
L0ToolstampLabel.Content = "Data-Side Toolstamp/Mastering Code";
L0MouldSIDLabel.Content = "Data-Side Mould SID";
L0AdditionalMouldLabel.Content = "Data-Side Additional Mould";
L1MasteringRingLabel.Content = "Label-Side Mastering Ring";
L1MasteringSIDLabel.Content = "Label-Side Mastering SID";
L1ToolstampLabel.Content = "Label-Side Toolstamp/Mastering Code";
L1MouldSIDLabel.Content = "Label-Side Mould SID";
L1AdditionalMouldLabel.Content = "Label-Side Additional Mould";
}
// Double-layer discs should have different naming
else
{
L0MasteringRingLabel.Content = "Layer 0 Mastering Ring";
L0MasteringSIDLabel.Content = "Layer 0 Mastering SID";
L0ToolstampLabel.Content = "Layer 0 Toolstamp/Mastering Code";
L0MouldSIDLabel.Content = "Data-Side Mould SID";
L0AdditionalMouldLabel.Content = "Data-Side Additional Mould";
L1MasteringRingLabel.Content = "Layer 1 Mastering Ring";
L1MasteringSIDLabel.Content = "Layer 1 Mastering SID";
L1ToolstampLabel.Content = "Layer 1 Toolstamp/Mastering Code";
L1MouldSIDLabel.Content = "Label-Side Mould SID";
L1AdditionalMouldLabel.Content = "Label-Side Additional Mould";
}
L1ToolstampTextBox.IsEnabled = false;
L1ToolstampTextBox.Background = Brushes.Gray;
// DVD, HD-DVD, and BD should all allow for label-side moulds
if (SubmissionInfo?.CommonDiscInfo.Media != MediaType.DVD
&& SubmissionInfo?.CommonDiscInfo.Media != MediaType.HDDVD
&& SubmissionInfo?.CommonDiscInfo.Media != MediaType.BluRay)
{
L1MouldSIDTextBox.IsEnabled = false;
L1MouldSIDTextBox.Background = Brushes.Gray;
}
L1AdditionalMouldTextBox.IsEnabled = false;
L1AdditionalMouldTextBox.Background = Brushes.Gray;
break;
}
}