Show most read-only fields in new tab (fixes #301)

This commit is contained in:
Matt Nadareski
2021-12-30 17:27:08 -08:00
parent bf857f6ce7
commit 69b22fc736
3 changed files with 61 additions and 2 deletions

View File

@@ -5,6 +5,7 @@
- Clean up default handling of fields
- Try to handle multi-line fields during parsing
- Fix CSSKey log handling
- Show most read-only fields in new tab
### 2.2 (2021-12-30)
- Fix Saturn header finding

View File

@@ -76,6 +76,42 @@ namespace MPF.GUI.ViewModels
var system = SubmissionInfo?.CommonDiscInfo?.System;
bool reverseOrder = system.HasReversedRingcodes();
// Hide read-only fields that don't have values set
if (SubmissionInfo?.MatchedIDs == null)
Parent.MatchedIDs.Visibility = Visibility.Collapsed;
else
Parent.MatchedIDs.Text = string.Join(", ", SubmissionInfo.MatchedIDs);
if (SubmissionInfo?.CopyProtection?.AntiModchip == null)
Parent.AntiModchip.Visibility = Visibility.Collapsed;
else
Parent.AntiModchip.Text = SubmissionInfo.CopyProtection.AntiModchip.LongName();
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CommonDiscInfo?.ErrorsCount))
Parent.ErrorsCount.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CommonDiscInfo?.EXEDateBuildDate))
Parent.EXEDateBuildDate.Visibility = Visibility.Collapsed;
if (SubmissionInfo?.EDC?.EDC == null)
Parent.EDC.Visibility = Visibility.Collapsed;
else
Parent.EDC.Text = SubmissionInfo.EDC.EDC.LongName();
if (string.IsNullOrWhiteSpace(SubmissionInfo?.Extras?.Header))
Parent.Header.Visibility = Visibility.Collapsed;
if (SubmissionInfo?.CopyProtection?.LibCrypt == null)
Parent.LibCrypt.Visibility = Visibility.Collapsed;
else
Parent.LibCrypt.Text = SubmissionInfo.CopyProtection.LibCrypt.LongName();
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CopyProtection?.LibCryptData))
Parent.LibCryptData.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.Extras?.PIC))
Parent.PIC.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CopyProtection?.Protection))
Parent.Protection.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.Extras?.PVD))
Parent.PVD.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CopyProtection?.SecuROMData))
Parent.SecuROMData.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.Extras?.SecuritySectorRanges))
Parent.SecuritySectorRanges.Visibility = Visibility.Collapsed;
// Different media types mean different fields available
switch (SubmissionInfo?.CommonDiscInfo?.Media)
{

View File

@@ -149,10 +149,8 @@
<controls:UserInput x:Name="AlternativeTitleTextBox" Label="Alternative Title"/>
<controls:UserInput x:Name="AlternativeForeignTitleTextBox" Label="Alternative Foreign Title"/>
<controls:UserInput x:Name="GenreTextBox" Label="Genre"/>
<controls:UserInput x:Name="InternalSerialName" Label="Internal Serial" IsEnabled="False"/>
<controls:UserInput x:Name="PostgapTypeTextBox" Label="Postgap type (Form 2)"/> <!-- Should be boolean -->
<controls:UserInput x:Name="SeriesTextBox" Label="Series"/>
<controls:UserInput x:Name="VolumeLabelTextBox" Label="Volume Label" IsEnabled="False"/>
<controls:UserInput x:Name="VCDTextBox" Label="V-CD"/> <!-- Should be boolean -->
<controls:UserInput Label="Other" Text="{Binding SubmissionInfo.CommonDiscInfo.Comments, Mode=TwoWay}" TextHeight="50" Tab="True" Enter="True" TextWrapping="Wrap" VerticalContentAlignmentValue="Top" />
</StackPanel>
@@ -244,6 +242,30 @@
<controls:UserInput x:Name="L3Toolstamp" Label="L3 Toolstamp/Mastering Code" Text="{Binding SubmissionInfo.CommonDiscInfo.Layer3ToolstampMasteringCode, Mode=TwoWay}"/>
</StackPanel>
</TabItem>
<TabItem x:Name="ReadOnlyInfo" Header="Read-Only Info" Style="{DynamicResource CustomTabItemStyle}">
<ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Visible" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" PanningMode="VerticalOnly">
<StackPanel Orientation="Vertical" MaxHeight="375">
<controls:UserInput x:Name="MatchedIDs" Label="Matched ID(s)" IsEnabled="False"/>
<controls:UserInput x:Name="AntiModchip" Label="Anti-Modchip" IsEnabled="False"/>
<controls:UserInput x:Name="EDC" Label="EDC" IsEnabled="False"/>
<controls:UserInput x:Name="ErrorsCount" Label="Error(s) Count" Text="{Binding SubmissionInfo.CommonDiscInfo.ErrorsCount, Mode=TwoWay}" IsEnabled="False"/>
<controls:UserInput x:Name="EXEDateBuildDate" Label="EXE/Build Date" Text="{Binding SubmissionInfo.CommonDiscInfo.EXEDateBuildDate, Mode=TwoWay}" IsEnabled="False"/>
<controls:UserInput x:Name="Header" Label="Header" Text="{Binding SubmissionInfo.Extras.Header, Mode=TwoWay}" TextHeight="50" TextWrapping="NoWrap" VerticalContentAlignmentValue="Top" />
<controls:UserInput x:Name="InternalSerialName" Label="Internal Serial" IsEnabled="False"/>
<controls:UserInput x:Name="LibCrypt" Label="LibCrypt" IsEnabled="False"/>
<controls:UserInput x:Name="LibCryptData" Label="LibCrypt Data" Text="{Binding SubmissionInfo.CopyProtection.LibCryptData, Mode=TwoWay}" TextHeight="50" TextWrapping="NoWrap" VerticalContentAlignmentValue="Top" />
<controls:UserInput x:Name="PIC" Label="PIC" Text="{Binding SubmissionInfo.Extras.PIC, Mode=TwoWay}" TextHeight="50" TextWrapping="NoWrap" VerticalContentAlignmentValue="Top" />
<controls:UserInput x:Name="Protection" Label="Protection" Text="{Binding SubmissionInfo.CopyProtection.Protection, Mode=TwoWay}" IsEnabled="False"/>
<controls:UserInput x:Name="PVD" Label="PVD" Text="{Binding SubmissionInfo.Extras.PVD, Mode=TwoWay}" TextHeight="50" TextWrapping="NoWrap" VerticalContentAlignmentValue="Top" />
<controls:UserInput x:Name="SecuROMData" Label="SecuROM Data" Text="{Binding SubmissionInfo.CopyProtection.SecuROMData, Mode=TwoWay}" TextHeight="50" TextWrapping="NoWrap" VerticalContentAlignmentValue="Top" />
<controls:UserInput x:Name="SecuritySectorRanges" Label="Security Sector Ranges" Text="{Binding SubmissionInfo.Extras.SecuritySectorRanges, Mode=TwoWay}" TextHeight="50" TextWrapping="NoWrap" VerticalContentAlignmentValue="Top" />
<controls:UserInput x:Name="VolumeLabelTextBox" Label="Volume Label" IsEnabled="False"/>
<!-- TODO: Add track/checksum data once there's a reasonable way to do so -->
</StackPanel>
</ScrollViewer>
</TabItem>
</TabControl>
<!-- Accept / Cancel -->