[GUI] Add paranoia options to media dump window.

This commit is contained in:
2025-11-23 15:49:58 +00:00
parent ff9b2d64f4
commit 4ee2034475
5 changed files with 68 additions and 36 deletions

View File

@@ -166,6 +166,10 @@ public sealed partial class MediaDumpViewModel : ViewModelBase
bool _fixSubchannelCrc;
[ObservableProperty]
bool _generateSubchannels;
[ObservableProperty]
bool _paranoia;
[ObservableProperty]
bool _cureParanoia;
public MediaDumpViewModel(Device device, string devicePath, DeviceInfo deviceInfo, Window view,
[CanBeNull] ScsiInfo scsiInfo = null)
@@ -199,6 +203,8 @@ public sealed partial class MediaDumpViewModel : ViewModelBase
FixSubchannel = false;
FixSubchannelCrc = false;
GenerateSubchannels = false;
Paranoia = false;
CureParanoia = false;
MediaType mediaType;
@@ -723,8 +729,8 @@ public sealed partial class MediaDumpViewModel : ViewModelBase
10,
true,
1080,
false,
false);
Paranoia,
CureParanoia);
new Thread(DoWork).Start();
}

View File

@@ -89,26 +89,6 @@
Text="{Binding Destination, Mode=OneWay}"
IsReadOnly="True" />
</Grid>
<CheckBox IsChecked="{Binding StopOnError, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Stop_media_dump_on_first_error}" />
</CheckBox>
<CheckBox IsChecked="{Binding Force, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Continue_dumping_whatever_happens}" />
</CheckBox>
<Grid ColumnDefinitions="Auto, *"
ColumnSpacing="8">
<TextBlock Grid.Column="0"
Text="{x:Static localization:UI.Retry_passes}"
VerticalAlignment="Center" />
<NumericUpDown Grid.Column="1"
HorizontalAlignment="Stretch"
Value="{Binding Retries, Mode=TwoWay}"
Increment="1"
Minimum="0" />
</Grid>
<CheckBox IsChecked="{Binding Persistent, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Try_to_recover_partial_or_incorrect_data}" />
</CheckBox>
<CheckBox IsChecked="{Binding Resume, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Create_or_use_resume_mapfile}" />
</CheckBox>
@@ -116,23 +96,9 @@
IsVisible="{Binding Track1PregapVisible, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.Try_to_read_track_1_pregap}" />
</CheckBox>
<Grid ColumnDefinitions="Auto, *"
ColumnSpacing="8">
<TextBlock Grid.Column="0"
Text="{x:Static localization:UI.Skipped_sectors_on_error}"
VerticalAlignment="Center" />
<NumericUpDown Grid.Column="1"
Increment="1"
Minimum="1"
HorizontalAlignment="Stretch"
Value="{Binding Skipped, Mode=TwoWay}" />
</Grid>
<CheckBox IsChecked="{Binding CreateSidecar, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Create_Aaru_Metadata_sidecar}" />
</CheckBox>
<CheckBox IsChecked="{Binding Trim, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Trim_errors_from_skipped_sectors}" />
</CheckBox>
<CheckBox IsChecked="{Binding ExistingMetadata, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Take_metadata_from_existing_CICM_XML_sidecar}" />
</CheckBox>
@@ -154,6 +120,54 @@
</Grid>
</StackPanel>
</TabItem>
<TabItem>
<TabItem.Header>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Errors}" />
</TabItem.Header>
<StackPanel Orientation="Vertical"
Spacing="8">
<CheckBox IsChecked="{Binding StopOnError, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Stop_media_dump_on_first_error}" />
</CheckBox>
<CheckBox IsChecked="{Binding Force, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Continue_dumping_whatever_happens}" />
</CheckBox>
<Grid ColumnDefinitions="Auto, *"
ColumnSpacing="8">
<TextBlock Grid.Column="0"
Text="{x:Static localization:UI.Retry_passes}"
VerticalAlignment="Center" />
<NumericUpDown Grid.Column="1"
HorizontalAlignment="Stretch"
Value="{Binding Retries, Mode=TwoWay}"
Increment="1"
Minimum="0" />
</Grid>
<CheckBox IsChecked="{Binding Persistent, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Try_to_recover_partial_or_incorrect_data}" />
</CheckBox>
<Grid ColumnDefinitions="Auto, *"
ColumnSpacing="8">
<TextBlock Grid.Column="0"
Text="{x:Static localization:UI.Skipped_sectors_on_error}"
VerticalAlignment="Center" />
<NumericUpDown Grid.Column="1"
Increment="1"
Minimum="1"
HorizontalAlignment="Stretch"
Value="{Binding Skipped, Mode=TwoWay}" />
</Grid>
<CheckBox IsChecked="{Binding Trim, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Trim_errors_from_skipped_sectors}" />
</CheckBox>
<CheckBox IsChecked="{Binding Paranoia, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Paranoia_help}" />
</CheckBox>
<CheckBox IsChecked="{Binding CureParanoia, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Cure_paranoia_help}" />
</CheckBox>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding HasSubchannel, Mode=OneWay}">
<TabItem.Header>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Subchannels}" />

View File

@@ -6663,5 +6663,11 @@ namespace Aaru.Localization {
return ResourceManager.GetString("Subchannels", resourceCulture);
}
}
public static string Errors {
get {
return ResourceManager.GetString("Errors", resourceCulture);
}
}
}
}

View File

@@ -3332,4 +3332,7 @@ Probadores:
<data name="Subchannels" xml:space="preserve">
<value>Subcanales</value>
</data>
<data name="Errors" xml:space="preserve">
<value>Errores</value>
</data>
</root>

View File

@@ -3407,4 +3407,7 @@ Do you want to continue?</value>
<data name="Subchannels" xml:space="preserve">
<value>Subchannels</value>
</data>
<data name="Errors" xml:space="preserve">
<value>Errors</value>
</data>
</root>