diff --git a/Aaru.Gui/ViewModels/Windows/ImageVerifyViewModel.cs b/Aaru.Gui/ViewModels/Windows/ImageVerifyViewModel.cs index 633adaade..cc8a61556 100644 --- a/Aaru.Gui/ViewModels/Windows/ImageVerifyViewModel.cs +++ b/Aaru.Gui/ViewModels/Windows/ImageVerifyViewModel.cs @@ -38,6 +38,7 @@ using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Threading; using System.Windows.Input; +using Aaru.CommonTypes.Enums; using Aaru.CommonTypes.Interfaces; using Aaru.CommonTypes.Structs; using Aaru.Core; @@ -125,6 +126,8 @@ public sealed partial class ImageVerifyViewModel : ViewModelBase [ObservableProperty] bool _verifyImageEnabled; [ObservableProperty] + bool _VerifyOnlyDataChecked; + [ObservableProperty] bool _verifySectorsChecked; [ObservableProperty] bool _verifySectorsEnabled; @@ -133,19 +136,20 @@ public sealed partial class ImageVerifyViewModel : ViewModelBase public ImageVerifyViewModel(IMediaImage inputFormat, Window view) { - _view = view; - StartCommand = new RelayCommand(Start); - CloseCommand = new RelayCommand(Close); - StopCommand = new RelayCommand(Stop); - _inputFormat = inputFormat; - _cancel = false; - ErrorList = []; - UnknownList = []; - VerifyImageEnabled = true; - VerifySectorsEnabled = true; - CloseVisible = true; - StartVisible = true; - OptionsVisible = true; + _view = view; + StartCommand = new RelayCommand(Start); + CloseCommand = new RelayCommand(Close); + StopCommand = new RelayCommand(Stop); + _inputFormat = inputFormat; + _cancel = false; + ErrorList = []; + UnknownList = []; + VerifyImageEnabled = true; + VerifySectorsEnabled = true; + VerifyOnlyDataChecked = true; + CloseVisible = true; + StartVisible = true; + OptionsVisible = true; VerifySectorsVisible = _inputFormat is IOpticalMediaImage or IVerifiableSectorsImage; } @@ -285,6 +289,8 @@ public sealed partial class ImageVerifyViewModel : ViewModelBase foreach(Track currentTrack in inputOptical.Tracks) { + if(VerifyOnlyDataChecked && currentTrack.Type == TrackType.Audio) continue; + await Dispatcher.UIThread.InvokeAsync(() => { ProgressText = string.Format(UI.Verifying_track_0_of_1, diff --git a/Aaru.Gui/Views/Windows/ImageVerify.xaml b/Aaru.Gui/Views/Windows/ImageVerify.xaml index 44cf725b3..69a1e2fc6 100644 --- a/Aaru.Gui/Views/Windows/ImageVerify.xaml +++ b/Aaru.Gui/Views/Windows/ImageVerify.xaml @@ -54,7 +54,7 @@ RowSpacing="8" Margin="12"> + + + Encriptación + + Verificar sólo pistas de datos. + \ No newline at end of file diff --git a/Aaru.Localization/UI.resx b/Aaru.Localization/UI.resx index 5bdf06d8e..fa017cf6b 100644 --- a/Aaru.Localization/UI.resx +++ b/Aaru.Localization/UI.resx @@ -3413,4 +3413,7 @@ Do you want to continue? Encryption + + Verify only data tracks. + \ No newline at end of file diff --git a/Aaru/Commands/Image/Verify.cs b/Aaru/Commands/Image/Verify.cs index 5f9126744..dae56cba0 100644 --- a/Aaru/Commands/Image/Verify.cs +++ b/Aaru/Commands/Image/Verify.cs @@ -66,6 +66,7 @@ sealed class VerifyCommand : Command AaruLogging.Debug(MODULE_NAME, "--verify-sectors={0}", settings.VerifySectors); AaruLogging.Debug(MODULE_NAME, "--create-graph={0}", settings.CreateGraph); AaruLogging.Debug(MODULE_NAME, "--dimensions={0}", settings.Dimensions); + AaruLogging.Debug(MODULE_NAME, " --data-only={0}", settings.DataOnly); IFilter inputFilter = null; @@ -215,6 +216,8 @@ sealed class VerifyCommand : Command foreach(Track currentTrack in inputTracks) { + if(settings.DataOnly && currentTrack.Type == TrackType.Audio) continue; + discTask.Description = string.Format(UI.Checking_track_0_of_1, discTask.Value + 1, inputTracks.Count); @@ -395,16 +398,18 @@ sealed class VerifyCommand : Command if(failingLbas.Count == (int)inputFormat.Info.Sectors) AaruLogging.Verbose($"\t[red]{UI.all_sectors}[/]"); else - foreach(ulong t in failingLbas) - AaruLogging.Verbose("\t{0}", t); + { + foreach(ulong t in failingLbas) AaruLogging.Verbose("\t{0}", t); + } AaruLogging.WriteLine($"[yellow3_1]{UI.LBAs_without_checksum}[/]"); if(unknownLbas.Count == (int)inputFormat.Info.Sectors) AaruLogging.Verbose($"\t[yellow3_1]{UI.all_sectors}[/]"); else - foreach(ulong t in unknownLbas) - AaruLogging.Verbose("\t{0}", t); + { + foreach(ulong t in unknownLbas) AaruLogging.Verbose("\t{0}", t); + } } var table = new Table(); @@ -467,6 +472,10 @@ sealed class VerifyCommand : Command [DefaultValue(1080)] [CommandOption("-d|--dimensions")] public int Dimensions { get; init; } + [LocalizedDescription(nameof(UI.Verify_only_data_help))] + [DefaultValue(true)] + [CommandOption("-t|--data-only")] + public bool DataOnly { get; init; } [LocalizedDescription(nameof(UI.Media_image_path))] [CommandArgument(0, "")] public string ImagePath { get; init; }