Move all strings to properties in Aaru.Gui.

This commit is contained in:
2022-11-16 21:40:54 +00:00
parent 2f9b7fe0a1
commit ecb4842071
56 changed files with 934 additions and 458 deletions

View File

@@ -73,6 +73,11 @@ public sealed class ConsoleViewModel : ViewModelBase
[NotNull]
public string ClearLabel => "Clear";
public string TimeLabel => "Time";
public string TypeLabel => "Type";
public string ModuleLabel => "Module";
public string MessageLabel => "Message";
public bool DebugChecked
{
get => _debugChecked;

View File

@@ -76,6 +76,10 @@ public sealed class EncodingsViewModel : ViewModelBase
public string Title => "Encodings";
[NotNull]
public string CloseLabel => "Close";
public string CodeLabel => "Code";
public string NameLabel => "Name";
public ReactiveCommand<Unit, Unit> CloseCommand { get; }
public ObservableCollection<EncodingModel> Encodings { get; }

View File

@@ -158,6 +158,11 @@ public sealed class PluginsViewModel : ViewModelBase
public string WritableLabel => "Writable:";
[NotNull]
public string CloseLabel => "Close";
public string NameLabel => "Name";
public string UUIDLabel => "UUID";
public string VersionLabel => "Version";
public string AuthorLabel => "Author";
public ReactiveCommand<Unit, Unit> CloseCommand { get; }
public ObservableCollection<PluginModel> Filters { get; }
public ObservableCollection<PluginModel> PartitionSchemes { get; }

View File

@@ -71,7 +71,6 @@ public sealed class StatisticsViewModel : ViewModelBase
bool _formatsCommandVisible;
string _formatsText;
bool _formatsVisible;
string _fsinfoText;
bool _fsinfoVisible;
string _imageInfoText;
@@ -712,6 +711,7 @@ public sealed class StatisticsViewModel : ViewModelBase
public string Title => "Encodings";
[NotNull]
public string CloseLabel => "Close";
public ReactiveCommand<Unit, Unit> CloseCommand { get; }
public ObservableCollection<NameCountModel> Filters { get; }
public ObservableCollection<NameCountModel> Formats { get; }

View File

@@ -912,6 +912,76 @@ public sealed class DeviceInfoViewModel : ViewModelBase
set => this.RaiseAndSetIfChanged(ref _sdMmcInfo, value);
}
public string DeviceInformationLabel => "Device information";
public string GeneralLabel => "General";
public string DeviceTypeLabel => "Device type";
public string ManufacturerLabel => "Manufacturer";
public string ModelLabel => "Model";
public string RevisionLabel => "Revision";
public string SerialNumberLabel => "Serial number";
public string ScsiTypeLabel => "Peripheral device type";
public string RemovableMediaLabel => "Removable media";
public string UsbConnectedLabel => "Connected by USB";
public string USBLabel => "USB";
public string VendorIDLabel => "Vendor ID";
public string ProductIDLabel => "Product ID";
public string ProductLabel => "Product";
public string SaveUsbDescriptorsLabel => "Save descriptors to file";
public string FireWireLabel => "FireWire";
public string ModelIDLabel => "Model ID";
public string GUIDLabel => "GUID";
public string PlextorLabel => "Plextor";
public string PlextorDiscsLabel => "Total loaded discs:";
public string PlextorCdReadTimeLabel => "Time spent reading CDs";
public string PlextorCdWriteTimeLabel => "Time spent writing CDs";
public string PlextorDvdReadTimeLabel => "Time spent reading DVDs";
public string PlextorDvdWriteTimeLabel => "Time spent writing DVDs";
public string PlextorPoweRecLabel => "Supports PoweRec";
public string PlextorPoweRecEnabledLabel => "PoweRec is enabled";
public string PlextorPoweRecRecommendedLabel => "Recommended speed";
public string PlextorPoweRecSelectedLabel => "Selected PoweRec speed for currently inserted media:";
public string PlextorPoweRecMaxLabel => "Maximum PoweRec speed for currently inserted media:";
public string PlextorPoweRecLastLabel => "Last PoweRec used speed";
public string PlextorSilentModeLabel => "Supports SilentMode";
public string PlextorSilentModeEnabledLabel => "SilentMode is enabled";
public string PlextorSilentModeCdReadSpeedLimitLabel => "CD read speed limited to";
public string PlextorSilentModeCdWriteSpeedLimitLabel => "CD write speed limited to";
public string PlextorSilentModeDvdReadSpeedLimitLabel => "DVD read speed limited to";
public string PlextorGigaRecLabel => "Supports GigaRec";
public string PlextorSecuRecLabel => "Supports SecuRec";
public string PlextorSpeedReadLabel => "Supports SpeedRead";
public string PlextorSpeedEnabledLabel => "SpeedRead is enabled";
public string PlextorHidingLabel => "Supports hiding CD-Rs and sessions";
public string PlextorHidesRecordablesLabel => "Is hiding CD-Rs";
public string PlextorHidesSessionsLabel => "Is forcing only first session";
public string PlextorVariRecLabel => "Supports VariRec";
public string PlextorVariRecDvdLabel => "Supports VariRec on DVDs";
public string PlextorBitSettingLabel => "Supports bitsetting DVD+R book type";
public string PlextorBitSettingDlLabel => "Supports bitsetting DVD+R DL book type";
public string PlextorDvdPlusWriteTestLabel => "Supports test writing DVD+";
public string KreonLabel => "Kreon";
public string KreonChallengeResponseLabel => "Can do challenge/response with Xbox discs";
public string KreonDecryptSsLabel => "Can read and decrypt SS from Xbox discs";
public string KreonXtremeUnlockLabel => "Can set xtreme unlock state with Xbox discs";
public string KreonWxripperUnlockLabel => "Can set wxripper unlock state with Xbox discs";
public string KreonChallengeResponse360Label => "Can do challenge/response with Xbox 360 discs";
public string KreonDecryptSs360Label => "Can read and decrypt SS from Xbox 360 discs";
public string KreonXtremeUnlock360Label => "Can set xtreme unlock state with Xbox 360 discs";
public string KreonWxripperUnlock360Label => "Can set wxripper unlock state with Xbox 360 discs";
public string KreonSetLockedLabel => "Can set locked state";
public string KreonErrorSkippingLabel => "Can skip read errors";
public string DensitiesSupportedByDeviceLabel => "Densities supported by device:";
public string MediumTypesSupportedByDeviceLabel => "Medium types supported by device:";
public string CIDLabel => "CID";
public string CSDLabel => "CSD";
public string OCRLabel => "OCR";
public string ExtendedCSDLabel => "Extended CSD";
public string SCRLabel => "SCR";
public string PCMCIALabel => "PCMCIA";
public string ATA_ATAPILabel => "ATA/ATAPI";
public string SCSILabel => "SCSI";
public string SD_MMCLabel => "SD/MMC";
async Task ExecuteSaveUsbDescriptorsCommand()
{
var dlgSaveBinary = new SaveFileDialog();

View File

@@ -73,6 +73,10 @@ public sealed class FileSystemViewModel
FilesVisible = xmlFsType.FilesSpecified;
}
public string BootableLabel => "Filesystem contains boot code";
public string DirtyLabel => "Filesystem has not been unmounted correctly or contains errors";
public string DetailsLabel => "Details";
public string TypeText { get; }
public string VolumeNameText { get; }
public string SerialNumberText { get; }

View File

@@ -720,6 +720,52 @@ public sealed class ImageInfoViewModel : ViewModelBase
MediaSerialNumberText != null || MediaBarcodeText != null ||
MediaPartNumberText != null;
public string ImageInformationLabel => "Image information";
public string GeneralLabel => "General";
public string CommentsLabel => "Comments:";
public string MediaInformationLabel => "Media information";
public string DriveInformationLabel => "Drive information";
public string ReadableMediaTagsLabel => "Readable media tags";
public string TagLabel => "Readable media tags";
public string ReadableSectorTagsLabel => "Readable sector tags";
public string SessionsLabel => "Sessions";
public string SessionLabel => "Session";
public string FirstTrackLabel => "First track";
public string LastTrackLabel => "Last track";
public string StartLabel => "Start";
public string EndLabel => "End";
public string TracksLabel => "Tracks";
public string TrackLabel => "Track";
public string TypeLabel => "Type";
public string BpsLabel => "Bps";
public string RawBpsLabel => "Raw bps";
public string SubchannelLabel => "Subchannel";
public string PregapLabel => "Pregap";
public string DumpHardwareLabel => "Dump hardware";
public string ManufacturerLabel => "Manufacturer";
public string ModelLabel => "Model";
public string RevisionLabel => "Revision";
public string SerialLabel => "Serial";
public string SoftwareLabel => "Software";
public string VersionLabel => "Version";
public string OperatingSystemLabel => "Operating system";
public string SCSILabel => "SCSI";
public string ATA_ATAPILabel => "ATA / ATAPI";
public string CompactDiscLabel => "CompactDisc";
public string DVD_HD_DVDLabel => "DVD / HD DVD";
public string DVD_R_WLabel => "DVD-R(W)";
public string BluRayLabel => "Blu-ray";
public string PCMCIALabel => "PCMCIA";
public string SD_MMCLabel => "SD / MMC";
public string XboxLabel => "Xbox";
public string EntropyLabel => "Calculate entropy";
public string VerifyLabel => "Verify";
public string ChecksumLabel => "Checksum";
public string ConvertLabel => "Convert to...";
public string CreateSidecarLabel => "Create CICM XML sidecar...";
public string ViewSectorsLabel => "View sectors";
public string DecodeMediaTagLabel => "Decode media tags";
void ExecuteEntropyCommand()
{
if(_imageEntropy != null)

View File

@@ -344,6 +344,30 @@ public sealed class MediaInfoViewModel : ViewModelBase
set => this.RaiseAndSetIfChanged(ref _blurayInfo, value);
}
public string MediaInformationLabel => "Media information";
public string GeneralLabel => "General";
public string MediaTypeLabel => "Media type";
public string MediaSerialNumberLabel => "Media serial number";
public string SaveReadMediaSerialLabel => "Save READ MEDIA SERIAL NUMBER response";
public string SaveReadCapacityLabel => "Save READ CAPACITY response";
public string SaveReadCapacity16Label => "Save READ CAPACITY (16) response";
public string MMCLabel => "MMC";
public string SaveGetConfigurationLabel => "Save GET CONFIGURATION response";
public string SaveRecognizedFormatLayersLabel => "Save RECOGNIZED FORMAT LAYERS response";
public string SaveWriteProtectionStatusLabel => "Save WRITE PROTECTION STATUS response";
public string SSCLabel => "SSC";
public string DensitySupportLabel => "Densities supported by currently inserted media";
public string MediumSupportLabel => "Medium types currently inserted in device";
public string SaveDensitySupportLabel => "Save REPORT DENSITY SUPPORT (MEDIA) response";
public string SaveMediumSupportLabel => "Save REPORT DENSITY SUPPORT (MEDIUM & MEDIA) response";
public string CompactDiscLabel => "CompactDisc";
public string DVDLabel => "DVD";
public string DVD_R_WLabel => "DVD±R(W)";
public string XboxLabel => "Xbox";
public string BluRayLabel => "Blu-ray";
public string DumpLabel => "Dump media to image";
public string ScanLabel => "Scan media surface";
async Task SaveElement(byte[] data)
{
var dlgSaveBinary = new SaveFileDialog();

View File

@@ -114,6 +114,21 @@ public sealed class SubdirectoryViewModel
public List<FileModel> SelectedEntries { get; }
public ReactiveCommand<Unit, Task> ExtractFilesCommand { get; }
public string ExtractFilesLabel => "Extract to...";
public string NameLabel => "Name";
public string LengthLabel => "Length";
public string CreationLabel => "Creation";
public string LastAccessLabel => "Last access";
public string ChangedLabel => "Changed";
public string LastBackupLabel => "Last backup";
public string LastWriteLabel => "Last write";
public string AttributesLabel => "Attributes";
public string GIDLabel => "GID";
public string UIDLabel => "UID";
public string InodeLabel => "Inode";
public string LinksLabel => "Links";
public string ModeLabel => "Mode";
async Task ExecuteExtractFilesCommand()
{
if(SelectedEntries.Count == 0)

View File

@@ -107,6 +107,11 @@ public sealed class AtaInfoViewModel : ViewModelBase
public string AtaOrAtapiText { get; }
public string AtaMcptLabel => "Device is Media Card Pass Through";
public string AtaMcptWriteProtectionLabel => "Media card is write protected";
public string SaveAtaBinaryLabel => "Save binary to file";
public string SaveAtaTextLabel => "Save text to file";
async Task ExecuteSaveAtaBinaryCommand()
{
var dlgSaveBinary = new SaveFileDialog();

View File

@@ -155,6 +155,23 @@ public sealed class BlurayInfoViewModel
public bool SaveBlurayRawDflVisible { get; }
public bool SaveBlurayPacVisible { get; }
public string DiscinformationLabel => "Disc information";
public string BurstCuttingAreaLabel => "Burst Cutting Area";
public string DiscDefinitionStructureLabel => "Disc Definition Structure";
public string CartridgeStatusLabel => "Cartridge Status";
public string SpareAreaInformationLabel => "Spare Area Information";
public string PseudoOverWriteResourcesLabel => "Pseudo-OverWrite Resources";
public string TrackResourcesLabel => "Track Resources";
public string SaveBlurayDiscInformationLabel => "Save Disc Information";
public string SaveBlurayBurstCuttingAreaLabel => "Save Burst Cutting Area";
public string SaveBlurayDdsLabel => "Save Disc Definition Structure";
public string SaveBlurayCartridgeStatusLabel => "Save Spare Area Information";
public string SaveBluraySpareAreaInformationLabel => "Save Spare Area Information";
public string SaveBlurayPowResourcesLabel => "Save Pseudo-OverWrite Resources";
public string SaveBlurayTrackResourcesLabel => "Save Track Resources";
public string SaveBlurayRawDflLabel => "Save raw DFL";
public string SaveBlurayPacLabel => "Save PAC";
async Task SaveElement(byte[] data)
{
var dlgSaveBinary = new SaveFileDialog();

View File

@@ -129,6 +129,25 @@ public sealed class CompactDiscInfoViewModel : ViewModelBase
public ReactiveCommand<Unit, Task> SaveCdPmaCommand { get; }
public ObservableCollection<IsrcModel> IsrcList { get; }
public string CdInformationLabel => "Information";
public string SaveCdInformationLabel => "Save READ DISC INFORMATION response";
public string CdTocLabel => "TOC";
public string SaveCdTocLabel => "Save READ TOC response";
public string CdFullTocLabel => "TOC (full)";
public string SaveCdFullTocLabel => "Save READ RAW TOC response";
public string CdSessionLabel => "Session";
public string SaveCdSessionLabel => "Save READ SESSION response";
public string CdTextLabel => "CD-TEXT";
public string SaveCdTextLabel => "Save Lead-In CD-TEXT";
public string CdAtipLabel => "ATIP";
public string SaveCdAtipLabel => "Save READ ATIP response";
public string MiscellaneousLabel => "Miscellaneous";
public string McnLabel => "Media catalog number";
public string ISRCsLabel => "ISRCs";
public string TrackLabel => "Track";
public string ISRCLabel => "ISRC";
public string SaveCdPmaLabel => "Save READ PMA response";
async Task ExecuteSaveCdInformationCommand()
{
var dlgSaveBinary = new SaveFileDialog();

View File

@@ -118,6 +118,13 @@ public sealed class DvdInfoViewModel
public bool SaveDvdBcaVisible { get; }
public bool SaveDvdAacsVisible { get; }
public string SaveDvdPfiLabel => "Save Physical Format Information";
public string SaveDvdDmiLabel => "Save Disc Manufacturer Information";
public string SaveDvdCmiLabel => "Save Copyright Management Information";
public string SaveHdDvdCmiLabel => "Save Copyright Management Information";
public string SaveDvdBcaLabel => "Save Burst Cutting Area";
public string SaveDvdAacsLabel => "Save AACS Information";
async Task SaveElement(byte[] data)
{
var dlgSaveBinary = new SaveFileDialog();

View File

@@ -233,6 +233,26 @@ public sealed class DvdWritableInfoViewModel
public ReactiveCommand<Unit, Task> SaveDvdPlusAdipCommand { get; }
public ReactiveCommand<Unit, Task> SaveDvdPlusDcbCommand { get; }
public string DvdRamDdsLabel => "Disc Definition Structure";
public string DvdRamCartridgeStatusLabel => "Cartridge Status";
public string DvdRamSpareAreaInformationLabel => "Spare Area Information";
public string SaveDvdRamDdsLabel => "Save Disc Definition Structure";
public string SaveDvdRamCartridgeStatusLabel => "Save Cartridge Status";
public string SaveDvdRamSpareAreaInformationLabel => "Save Spare Area Information";
public string SaveLastBorderOutRmdLabel => "Save Last Border-Out RMD";
public string SaveDvdPreRecordedInfoLabel => "Save Pre-Recorded Physical Information";
public string SaveDvdrMediaIdentifierLabel => "Save Media Identifier";
public string SaveDvdrPhysicalInformationLabel => "Save Recordable Physical Information";
public string SaveHddvdrMediumStatusLabel => "Save Medium Status";
public string SaveHddvdrLastRmdLabel => "Save Last Border-Out RMD";
public string SaveDvdrLayerCapacityLabel => "Save Layer Capacity";
public string SaveDvdrDlMiddleZoneStartLabel => "Save Middle Zone Start";
public string SaveDvdrDlJumpIntervalSizeLabel => "Save Jump Interval Size";
public string SaveDvdrDlManualLayerJumpStartLbaLabel => "Save Manual Layer Jump Start LBA";
public string SaveDvdrDlRemapAnchorPointLabel => "Save Remap Anchor Point";
public string SaveDvdPlusAdipLabel => "Save ADIP";
public string SaveDvdPlusDcbLabel => "Save Disc Control Blocks";
async Task SaveElement(byte[] data)
{
var dlgSaveBinary = new SaveFileDialog();

View File

@@ -145,6 +145,9 @@ public class PcmciaInfoViewModel : ViewModelBase
AaruConsole.DebugWriteLine("Device-Info command", "PCMCIA CIS returned no tuples");
}
public string CisLabel => "CIS";
public string SavePcmciaCisLabel => "Save PCMCIA CIS to file";
public ObservableCollection<PcmciaCisModel> CisList { get; }
public string PcmciaCisText

View File

@@ -758,6 +758,20 @@ public sealed class ScsiInfoViewModel : ViewModelBase
set => this.RaiseAndSetIfChanged(ref _mmcFeatureText, value);
}
public string InquiryLabel => "INQUIRY";
public string ScsiInquiryLabel => "SCSI INQUIRY";
public string SaveInquiryBinaryLabel => "Save binary to file";
public string SaveInquiryTextLabel => "Save text to file";
public string ModeSenseLabel => "MODE SENSE";
public string PageLabel => "Page";
public string SaveModeSense6Label => "Save MODE SENSE (6) response to file";
public string SaveModeSense10Label => "Save MODE SENSE (10) response to file";
public string EvpdLabel => "EVPD";
public string SaveEvpdPageLabel => "Save EVPD page to file";
public string MmcFeaturesLabel => "MMC FEATURES";
public string FeatureLabel => "Feature";
public string SaveMmcFeaturesLabel => "Save MMC GET CONFIGURATION response to file";
async Task ExecuteSaveInquiryBinaryCommand()
{
var dlgSaveBinary = new SaveFileDialog();

View File

@@ -86,4 +86,10 @@ public sealed class SdMmcInfoViewModel
public string OcrText { get; }
public string ExtendedCsdText { get; }
public string ScrText { get; }
public string CidLabel => "CID";
public string CsdLabel => "CSD";
public string OcrLabel => "OCR";
public string ExtendedCsdLabel => "Extended CSD";
public string ScrLabel => "SCR";
}

View File

@@ -91,6 +91,16 @@ public sealed class XboxInfoViewModel
public string XboxDmiText { get; }
public string XboxSsText { get; }
public string XboxL0VideoLabel => "Video layer 0 size";
public string XboxL1VideoLabel => "Video layer 1 size";
public string XboxMiddleZoneLabel => "Middle zone size";
public string XboxGameSizeLabel => "Game data size";
public string XboxTotalSizeLabel => "Total size";
public string XboxRealBreakLabel => "Real layer break";
public string XboxDmiLabel => "Disc Manufacturing Information";
public string XboxSsLabel => "Security Sector";
public string SaveXboxSsLabel => "Save Xbox Security Sector";
async Task SaveElement(byte[] data)
{
var dlgSaveBinary = new SaveFileDialog();

View File

@@ -248,4 +248,8 @@ public sealed class DecodeMediaTagsViewModel : ViewModelBase
get => _decodedText;
set => this.RaiseAndSetIfChanged(ref _decodedText, value);
}
public string TagLabel => "Tag:";
public string HexViewLabel => "HexView";
public string DecodedLabel => "Decoded";
}

View File

@@ -128,6 +128,29 @@ public sealed class ImageChecksumViewModel : ViewModelBase
}
}
public string ChecksumMediaLabel => "Checksums the whole disc.";
public string ChecksumTracksLabel => "Checksums each track separately.";
public string Adler32Label => "Calculates Adler-32.";
public string Crc16Label => "Calculates CRC16.";
public string Crc32Label => "Calculates CRC32.";
public string Crc64Label => "Calculates CRC64 (ECMA).";
public string Fletcher16Label => "Calculates Fletcher-16.";
public string Fletcher32Label => "Calculates Fletcher-32.";
public string Md5Label => "Calculates MD5.";
public string Sha1Label => "Calculates SHA1.";
public string Sha256Label => "Calculates SHA256.";
public string Sha384Label => "Calculates SHA384";
public string Sha512Label => "Calculates SHA512.";
public string SpamSumLabel => "Calculates SpamSum fuzzy hash.";
public string TrackChecksumsLabel => "Track checksums:";
public string TrackLabel => "Track";
public string AlgorithmsLabel => "Algorithms";
public string HashLabel => "Hash";
public string MediaChecksumsLabel => "Media checksums:";
public string StartLabel => "Start";
public string CloseLabel => "Close";
public string StopLabel => "Stop";
public string Title
{
get => _title;

View File

@@ -128,6 +128,33 @@ public sealed class ImageConvertViewModel : ViewModelBase
bool _stopVisible;
string _title;
public string SourceImageLabel => "Source image";
public string OutputFormatLabel => "Output format";
public string ChooseLabel => "Choose...";
public string SectorsLabel => "How many sectors to convert at once.";
public string ForceLabel => "Continue conversion even if sector or media tags will be lost in the process.";
public string CreatorLabel => "Who (person) created the image?";
public string GetFromSourceImageLabel => "Get from source image";
public string MetadataLabel => "Metadata";
public string MediaLabel => "Media";
public string TitleLabel => "Title";
public string ManufacturerLabel => "Manufacturer";
public string ModelLabel => "Model";
public string SerialNumberLabel => "Serial number";
public string BarcodeLabel => "Barcode";
public string PartNumberLabel => "Part number";
public string NumberInSequenceLabel => "Number in sequence";
public string LastMediaOfTheSequenceLabel => "Last media of the sequence";
public string DriveLabel => "Drive";
public string FirmwareRevisionLabel => "Firmware revision";
public string CommentsLabel => "Comments";
public string CicmXmlLabel => "Existing CICM XML sidecar";
public string FromImageLabel => "From image...";
public string ResumeFileLabel => "Existing resume file";
public string StartLabel => "Start";
public string CloseLabel => "Close";
public string StopLabel => "Stop";
public ImageConvertViewModel([JetBrains.Annotations.NotNull] IMediaImage inputFormat, string imageSource,
Window view)
{

View File

@@ -109,6 +109,18 @@ public sealed class ImageEntropyViewModel : ViewModelBase
}
}
public string DuplicatedSectorsLabel =>
"Calculates how many sectors are duplicated (have same exact data in user area).";
public string SeparatedTracksLabel => "Calculates entropy for each track separately.";
public string WholeDiscLabel => "Calculates entropy for the whole disc.";
public string TrackEntropyLabel => "Track entropy";
public string TrackLabel => "Track";
public string EntropyLabel => "Entropy";
public string UniqueSectorsLabel => "Unique sectors";
public string StartLabel => "Start";
public string CloseLabel => "Close";
public string StopLabel => "Stop";
public bool SeparatedTracksVisible
{
get => _separatedTracksVisible;

View File

@@ -98,6 +98,12 @@ public sealed class ImageSidecarViewModel : ViewModelBase
StopCommand = ReactiveCommand.Create(ExecuteStopCommand);
}
public string DestinationFileLabel => "Destination file";
public string ChooseLabel => "Choose...";
public string StartLabel => "Start";
public string CloseLabel => "Close";
public string StopLabel => "Stop";
public string Title { get; }
public ReactiveCommand<Unit, Task> DestinationCommand { get; }
public ReactiveCommand<Unit, Unit> StartCommand { get; }

View File

@@ -106,6 +106,13 @@ public sealed class ImageVerifyViewModel : ViewModelBase
OptionsVisible = true;
}
public string VerifyImageLabel => "Verify disc image if supported.";
public string VerifySectorsLabel => "Verify all sectors if supported.";
public string LBALabel => "LBA";
public string StartLabel => "Start";
public string CloseLabel => "Close";
public string StopLabel => "Stop";
public ObservableCollection<LbaModel> ErrorList { get; }
public ObservableCollection<LbaModel> UnknownList { get; }
public ReactiveCommand<Unit, Unit> StartCommand { get; }

View File

@@ -162,6 +162,28 @@ public sealed class MainWindowViewModel : ViewModelBase
_ejectIcon = new Bitmap(_assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/media-eject.png")));
}
public string FileLabel => "_File";
public string OpenLabel => "_Open";
public string SettingsLabel => "_Settings";
public string ExitLabel => "E_xit";
public string DevicesLabel => "_Devices";
public string RefreshDevicesLabel => "_Refresh";
public string WindowLabel => "_Window";
public string ConsoleLabel => "_Console";
public string HelpLabel => "_Help";
public string EncodingsLabel => "_Encodings";
public string PluginsLabel => "_Plugins";
public string StatisticsLabel => "_Statistics";
public string AboutLabel => "_About";
public string RefreshDevicesFullLabel => "_Refresh devices";
public string CloseAllImagesLabel => "_Close all images";
public string CalculateEntropyLabel => "Calculate entropy";
public string VerifyImageLabel => "Verify";
public string ChecksumImageLabel => "Checksum";
public string CreateSidecarLabel => "Create CICM XML sidecar...";
public string ViewImageSectorsLabel => "View sectors";
public string DecodeImageMediaTagsLabel => "Decode media tags";
public bool DevicesSupported
{
get => _devicesSupported;

View File

@@ -240,6 +240,25 @@ public sealed class MediaDumpViewModel : ViewModelBase
_devicePath = devicePath;
}
public string OutputFormatLabel => "Output format";
public string ChooseLabel => "Choose...";
public string StopOnErrorLabel => "Stop media dump on first error";
public string ForceLabel => "Continue dumping whatever happens";
public string RetriesLabel => "Retry passes";
public string PersistentLabel => "Try to recover partial or incorrect data";
public string ResumeLabel => "Create/use resume mapfile";
public string Track1PregapLabel => "Try to read track 1 pregap";
public string SkippedLabel => "Skipped sectors on error";
public string SidecarLabel => "Create CICM XML metadata sidecar";
public string TrimLabel => "Trim errors from skipped sectors";
public string ExistingMetadataLabel => "Take metadata from existing CICM XML sidecar";
public string EncodingLabel => "Encoding to use on metadata sidecar creation";
public string DestinationLabel => "Writing image to:";
public string LogLabel => "Log";
public string StartLabel => "Start";
public string CloseLabel => "Close";
public string StopLabel => "Stop";
public ReactiveCommand<Unit, Unit> StartCommand { get; }
public ReactiveCommand<Unit, Unit> CloseCommand { get; }
public ReactiveCommand<Unit, Unit> StopCommand { get; }

View File

@@ -111,6 +111,13 @@ public sealed class MediaScanViewModel : ViewModelBase
LineColor = Colors.Yellow;
}
public string SpeedLabel => "Stop";
public string KbsLabel => "Kb/s";
public string BlockLabel => "Block";
public string StartLabel => "Start";
public string CloseLabel => "Close";
public string StopLabel => "Stop";
public Color AxesColor
{
get => _axesColor;

View File

@@ -64,6 +64,9 @@ public sealed class ViewSectorViewModel : ViewModelBase
SectorNumber = 0;
}
public string SectorLabel => "Sector";
public string LongSectorLabel => "Show long sector";
public string Title
{
get => _title;

View File

@@ -47,10 +47,14 @@
</Grid.RowDefinitions>
<DataGrid Items="{Binding Entries}">
<DataGrid.Columns>
<DataGridTextColumn Header="Time" Binding="{Binding Timestamp}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Type" Binding="{Binding Type}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Module" Binding="{Binding Module}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Message" Binding="{Binding Message}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TimeLabel}" Binding="{Binding Timestamp}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TypeLabel}" Binding="{Binding Type}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding ModuleLabel}" Binding="{Binding Module}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding MessageLabel}" Binding="{Binding Message}" Width="Auto"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
<CheckBox Grid.Row="1" IsChecked="{Binding DebugChecked}">

View File

@@ -47,8 +47,10 @@
</Grid.RowDefinitions>
<DataGrid Items="{Binding Encodings}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Header="Code" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Name" Binding="{Binding DisplayName}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding CodeLabel}" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding DisplayName}" Width="Auto"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
<Border Grid.Row="1" Padding="10">

View File

@@ -51,10 +51,14 @@
</TabItem.Header>
<DataGrid Items="{Binding Filters}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="UUID" Binding="{Binding Uuid}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Version" Binding="{Binding Version}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Author" Binding="{Binding Author}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding UUIDLabel}" Binding="{Binding Uuid}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding VersionLabel}" Binding="{Binding Version}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding AuthorLabel}" Binding="{Binding Author}" Width="Auto"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
@@ -64,10 +68,14 @@
</TabItem.Header>
<DataGrid Items="{Binding PartitionSchemes}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="UUID" Binding="{Binding Uuid}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Version" Binding="{Binding Version}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Author" Binding="{Binding Author}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding UUIDLabel}" Binding="{Binding Uuid}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding VersionLabel}" Binding="{Binding Version}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding AuthorLabel}" Binding="{Binding Author}" Width="Auto"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
@@ -83,11 +91,13 @@
<TextBlock Grid.Row="0" Text="{Binding IdentifyLabel}" FontWeight="Bold" />
<DataGrid Grid.Row="1" Items="{Binding Filesystems}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="UUID" Binding="{Binding Uuid}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Version" Binding="{Binding Version}" Width="Auto"
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="Author" Binding="{Binding Author}" Width="Auto"
<DataGridTextColumn Header="{Binding UUIDLabel}" Binding="{Binding Uuid}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding VersionLabel}" Binding="{Binding Version}"
Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding AuthorLabel}" Binding="{Binding Author}" Width="Auto"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
@@ -95,11 +105,13 @@
<DataGrid Grid.Row="3" Items="{Binding ReadOnlyFilesystems}"
HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="UUID" Binding="{Binding Uuid}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Version" Binding="{Binding Version}" Width="Auto"
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="Author" Binding="{Binding Author}" Width="Auto"
<DataGridTextColumn Header="{Binding UUIDLabel}" Binding="{Binding Uuid}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding VersionLabel}" Binding="{Binding Version}"
Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding AuthorLabel}" Binding="{Binding Author}" Width="Auto"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>

View File

@@ -76,9 +76,10 @@
<DataGrid Items="{Binding Filters}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<!-- TODO: Bind header -->
<DataGridTextColumn Header="Filter" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Times found" Binding="{Binding Count}" Width="Auto"
<DataGridTextColumn Header="{Binding FilterLabel}" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TimesFoundLabel}" Binding="{Binding Count}"
Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
@@ -89,9 +90,10 @@
<DataGrid Items="{Binding Formats}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<!-- TODO: Bind header -->
<DataGridTextColumn Header="Format" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Times found" Binding="{Binding Count}" Width="Auto"
<DataGridTextColumn Header="{Binding FormatLabel}" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TimesFoundLabel}" Binding="{Binding Count}"
Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
@@ -102,10 +104,10 @@
<DataGrid Items="{Binding Partitions}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<!-- TODO: Bind header -->
<DataGridTextColumn Header="Partition" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="Times found" Binding="{Binding Count}" Width="Auto"
<DataGridTextColumn Header="{Binding PartitionLabel}" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TimesFoundLabel}" Binding="{Binding Count}"
Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
@@ -116,10 +118,10 @@
<DataGrid Items="{Binding Filesystems}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<!-- TODO: Bind header -->
<DataGridTextColumn Header="Filesystem" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="Times found" Binding="{Binding Count}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding FilesystemLabel}" Binding="{Binding Name}"
Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TimesFoundLabel}" Binding="{Binding Count}"
Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
@@ -130,13 +132,14 @@
<DataGrid Items="{Binding Devices}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<!-- TODO: Bind header -->
<DataGridTextColumn Header="Device" Binding="{Binding Model}" Width="Auto"
<DataGridTextColumn Header="{Binding DeviceLabel}" Binding="{Binding Model}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="Manufacturer" Binding="{Binding Manufacturer}" Width="Auto"
<DataGridTextColumn Header="{Binding ManufacturerLabel}" Binding="{Binding Manufacturer}"
Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding RevisionLabel}" Binding="{Binding Revision}"
Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding BusLabel}" Binding="{Binding Bus}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="Revision" Binding="{Binding Revision}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="Bus" Binding="{Binding Bus}" Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
@@ -147,10 +150,12 @@
<DataGrid Items="{Binding Medias}" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<!-- TODO: Bind header -->
<DataGridTextColumn Header="Media" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Times found" Binding="{Binding Count}" Width="Auto"
<DataGridTextColumn Header="{Binding MediaLabel}" Binding="{Binding Name}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TimesFoundLabel}" Binding="{Binding Count}"
Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TypeLabel}" Binding="{Binding Type}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="Type" Binding="{Binding Type}" Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</TabItem>

View File

@@ -40,259 +40,271 @@
<panels:DeviceInfoViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<TextBlock Text="Device information" />
<TextBlock Text="{Binding DeviceInformationLabel}" />
<TabControl>
<TabItem>
<TabItem.Header>
<TextBlock Text="General" />
<TextBlock Text="{Binding GeneralLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Device type" /> <TextBox Text="{Binding DeviceType}" IsReadOnly="True" />
<TextBlock Text="{Binding DeviceTypeLabel}" />
<TextBox Text="{Binding DeviceType}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Manufacturer" /> <TextBox Text="{Binding Manufacturer}" IsReadOnly="True" />
<TextBlock Text="{Binding ManufacturerLabel}" />
<TextBox Text="{Binding Manufacturer}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Model" /> <TextBox Text="{Binding Model}" IsReadOnly="True" />
<TextBlock Text="{Binding ModelLabel}" /> <TextBox Text="{Binding Model}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Revision" /> <TextBox Text="{Binding Revision}" IsReadOnly="True" />
<TextBlock Text="{Binding RevisionLabel}" />
<TextBox Text="{Binding Revision}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Serial number" /> <TextBox Text="{Binding Serial}" IsReadOnly="True" />
<TextBlock Text="{Binding SerialNumberLabel}" />
<TextBox Text="{Binding Serial}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Peripheral device type" />
<TextBlock Text="{Binding ScsiTypeLabel}" />
<TextBox Text="{Binding ScsiType}" IsReadOnly="True" />
</StackPanel>
<CheckBox IsChecked="{Binding RemovableChecked}" IsEnabled="False">
<TextBlock Text="Removable media" />
<TextBlock Text="{Binding RemovableMediaLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding UsbConnected}" IsEnabled="False">
<TextBlock Text="Connected by USB" />
<TextBlock Text="{Binding UsbConnectedLabel}" />
</CheckBox>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding UsbVisible}">
<TabItem.Header>
<TextBlock Text="USB" />
<TextBlock Text="{Binding USBLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Vendor ID" /> <TextBox Text="{Binding UsbVendorId}" IsReadOnly="True" />
<TextBlock Text="{Binding VendorIDLabel}" />
<TextBox Text="{Binding UsbVendorId}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Product ID" /> <TextBox Text="{Binding UsbProductId}" IsReadOnly="True" />
<TextBlock Text="{Binding ProductIDLabel}" />
<TextBox Text="{Binding UsbProductId}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Manufacturer" />
<TextBlock Text="{Binding ManufacturerLabel}" />
<TextBox Text="{Binding UsbManufacturer}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Product" /> <TextBox Text="{Binding UsbProduct}" IsReadOnly="True" />
<TextBlock Text="{Binding ProductLabel}" />
<TextBox Text="{Binding UsbProduct}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Serial number" /> <TextBox Text="{Binding UsbSerial}" IsReadOnly="True" />
<TextBlock Text="{Binding SerialNumberLabel}" />
<TextBox Text="{Binding UsbSerial}" IsReadOnly="True" />
</StackPanel>
<Button Command="{Binding SaveUsbDescriptorsCommand}"
IsVisible="{Binding SaveUsbDescriptorsEnabled}">
<TextBlock Text="Save descriptors to file" />
<TextBlock Text="{Binding SaveUsbDescriptorsLabel}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding FirewireVisible}">
<TabItem.Header>
<TextBlock Text="FireWire" />
<TextBlock Text="{Binding FireWireLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Vendor ID" /> <TextBox Text="{Binding FirewireVendorId}" IsReadOnly="True" />
<TextBlock Text="{Binding VendorIDLabel}" />
<TextBox Text="{Binding FirewireVendorId}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Model ID" /> <TextBox Text="{Binding FirewireModelId}" IsReadOnly="True" />
<TextBlock Text="{Binding ModelIDLabel}" />
<TextBox Text="{Binding FirewireModelId}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Manufacturer" />
<TextBlock Text="{Binding ManufacturerLabel}" />
<TextBox Text="{Binding FirewireManufacturer}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Model" /> <TextBox Text="{Binding FirewireModel}" IsReadOnly="True" />
<TextBlock Text="{Binding ModelLabel}" />
<TextBox Text="{Binding FirewireModel}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="GUID" /> <TextBox Text="{Binding FirewireGuid}" IsReadOnly="True" />
<TextBlock Text="{Binding GUIDLabel}" />
<TextBox Text="{Binding FirewireGuid}" IsReadOnly="True" />
</StackPanel>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding PlextorVisible}">
<TabItem.Header>
<TextBlock Text="Plextor" />
<TextBlock Text="{Binding PlextorLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorEepromVisible}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Total loaded discs:" />
<TextBlock Text="{Binding PlextorDiscsLabel}" />
<TextBox Text="{Binding PlextorDiscs}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Time spent reading CDs" />
<TextBlock Text="{Binding PlextorCdReadTimeLabel}" />
<TextBox Text="{Binding PlextorCdReadTime}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Time spent writing CDs" />
<TextBlock Text="{Binding PlextorCdWriteTimeLabel}" />
<TextBox Text="{Binding PlextorCdWriteTime}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorDvdTimesVisible}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Time spent reading DVDs" />
<TextBlock Text="{Binding PlextorDvdReadTimeLabel}" />
<TextBox Text="{Binding PlextorDvdReadTime}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Time spent writing DVDs" />
<TextBlock Text="{Binding PlextorDvdWriteTimeLabel}" />
<TextBox Text="{Binding PlextorDvdWriteTime}" IsReadOnly="True" />
</StackPanel>
</StackPanel>
</StackPanel>
<CheckBox IsChecked="{Binding PlextorPoweRec}" IsEnabled="False">
<TextBlock Text="Supports PoweRec" />
<TextBlock Text="{Binding PlextorPoweRecLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorPoweRecEnabled}" IsEnabled="False"
IsVisible="{Binding PlextorPoweRec}">
<TextBlock Text="PoweRec is enabled" />
<TextBlock Text="{Binding PlextorPoweRecEnabledLabel}" />
</CheckBox>
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecEnabled}">
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecRecommendedVisible}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Recommended speed" />
<TextBlock Text="{Binding PlextorPoweRecRecommendedLabel}" />
<TextBox Text="{Binding PlextorPoweRecRecommended}" IsReadOnly="True" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecSelectedVisible}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Selected PoweRec speed for currently inserted media:" />
<TextBlock Text="{Binding PlextorPoweRecSelectedLabel}" />
<TextBox Text="{Binding PlextorPoweRecSelected}" IsReadOnly="True" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecMaxVisible}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Maximum PoweRec speed for currently inserted media" />
<TextBlock Text="{Binding PlextorPoweRecMaxLabel}" />
<TextBox Text="{Binding PlextorPoweRecMax}" IsReadOnly="True" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecLastVisible}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Last PoweRec used speed" />
<TextBlock Text="{Binding PlextorPoweRecLastLabel}" />
<TextBox Text="{Binding PlextorPoweRecLast}" IsReadOnly="True" />
</StackPanel>
</StackPanel>
</StackPanel>
<CheckBox IsChecked="{Binding PlextorSilentMode}" IsEnabled="False">
<TextBlock Text="Supports SilentMode" />
<TextBlock Text="{Binding PlextorSilentModeLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorSilentModeEnabled}" IsEnabled="False"
IsVisible="{Binding PlextorSilentMode}">
<TextBlock Text="SilentMode is enabled" />
<TextBlock Text="{Binding PlextorSilentModeEnabledLabel}" />
</CheckBox>
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorSilentModeEnabled}">
<TextBlock Text="{Binding PlextorSilentModeAccessTime}" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="CD read speed limited to" />
<TextBlock Text="{Binding PlextorSilentModeCdReadSpeedLimitLabel}" />
<TextBox Text="{Binding PlextorSilentModeCdReadSpeedLimit}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="CD write speed limited to" />
<TextBlock Text="{Binding PlextorSilentModeCdWriteSpeedLimitLabel}" />
<TextBox Text="{Binding PlextorSilentModeCdWriteSpeedLimit}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Vertical"
IsVisible="{Binding PlextorSilentModeDvdReadSpeedLimitVisible}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="DVD read speed limited to" />
<TextBlock Text="{Binding PlextorSilentModeDvdReadSpeedLimitLabel}" />
<TextBox Text="{Binding PlextorSilentModeDvdReadSpeedLimit}" IsReadOnly="True" />
</StackPanel>
</StackPanel>
</StackPanel>
<CheckBox IsChecked="{Binding PlextorGigaRec}" IsEnabled="False">
<TextBlock Text="Supports GigaRec" />
<TextBlock Text="{Binding PlextorGigaRecLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorSecuRec}" IsEnabled="False">
<TextBlock Text="Supports SpeedRead" />
<TextBlock Text="{Binding PlextorSecuRecLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorSpeedRead}" IsEnabled="False">
<TextBlock Text="SpeedRead is enabled" />
<TextBlock Text="{Binding PlextorSpeedReadLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorSpeedEnabled}" IsEnabled="False">
<TextBlock Text="Supports PoweRec" />
<TextBlock Text="{Binding PlextorSpeedEnabledLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorHiding}" IsEnabled="False">
<TextBlock Text="Supports hiding CD-Rs and sessions" />
<TextBlock Text="{Binding PlextorHidingLabel}" />
</CheckBox>
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorHiding}">
<CheckBox IsChecked="{Binding PlextorHidesRecordables}" IsEnabled="False">
<TextBlock Text="Is hiding CD-Rs" />
<TextBlock Text="{Binding PlextorHidesRecordablesLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorHidesSessions}" IsEnabled="False">
<TextBlock Text="Is forcing only first session" />
<TextBlock Text="{Binding PlextorHidesSessionsLabel}" />
</CheckBox>
</StackPanel>
<CheckBox IsChecked="{Binding PlextorVariRec}" IsEnabled="False">
<TextBlock Text="Supports VariRec" />
<TextBlock Text="{Binding PlextorVariRecLabel}" />
</CheckBox>
<StackPanel Orientation="Vertical" IsVisible="{Binding PlextorDvd}">
<CheckBox IsChecked="{Binding PlextorVariRecDvd}" IsEnabled="False">
<TextBlock Text="Supports VariRec on DVDs" />
<TextBlock Text="{Binding PlextorVariRecDvdLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorBitSetting}" IsEnabled="False">
<TextBlock Text="Supports bitsetting DVD+R book type" />
<TextBlock Text="{Binding PlextorBitSettingLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorBitSettingDl}" IsEnabled="False">
<TextBlock Text="Supports bitsetting DVD+R DL book type" />
<TextBlock Text="{Binding PlextorBitSettingDlLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding PlextorDvdPlusWriteTest}" IsEnabled="False">
<TextBlock Text="Supports test writing DVD+" />
<TextBlock Text="{Binding PlextorDvdPlusWriteTestLabel}" />
</CheckBox>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding Kreon}">
<TabItem.Header>
<TextBlock Text="Kreon" />
<TextBlock Text="{Binding KreonLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<CheckBox IsChecked="{Binding KreonChallengeResponse}" IsEnabled="False">
<TextBlock Text="Can do challenge/response with Xbox discs" />
<TextBlock Text="{Binding KreonChallengeResponseLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding KreonDecryptSs}" IsEnabled="False">
<TextBlock Text="Can read and decrypt SS from Xbox discs" />
<TextBlock Text="{Binding KreonDecryptSsLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding KreonXtremeUnlock}" IsEnabled="False">
<TextBlock Text="Can set xtreme unlock state with Xbox discs" />
<TextBlock Text="{Binding KreonXtremeUnlockLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding KreonWxripperUnlock}" IsEnabled="False">
<TextBlock Text="Can set wxripper unlock state with Xbox discs" />
<TextBlock Text="{Binding KreonWxripperUnlockLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding KreonChallengeResponse360}" IsEnabled="False">
<TextBlock Text="Can do challenge/response with Xbox 360 discs" />
<TextBlock Text="{Binding KreonChallengeResponse360Label}" />
</CheckBox>
<CheckBox IsChecked="{Binding KreonDecryptSs360}" IsEnabled="False">
<TextBlock Text="Can read and decrypt SS from Xbox 360 discs" />
<TextBlock Text="{Binding KreonDecryptSs360Label}" />
</CheckBox>
<CheckBox IsChecked="{Binding KreonXtremeUnlock360}" IsEnabled="False">
<TextBlock Text="Can set xtreme unlock state with Xbox 360 discs" />
<TextBlock Text="{Binding KreonXtremeUnlock360Label}" />
</CheckBox>
<CheckBox IsChecked="{Binding KreonWxripperUnlock360}" IsEnabled="False">
<TextBlock Text="Can set wxripper unlock state with Xbox 360 discs" />
<TextBlock Text="{Binding KreonWxripperUnlock360Label}" />
</CheckBox>
<CheckBox IsChecked="{Binding KreonLock}" IsEnabled="False">
<TextBlock Text="Can set locked state" />
<TextBlock Text="{Binding KreonSetLockedLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding KreonErrorSkipping}" IsEnabled="False">
<TextBlock Text="Can skip read errors" />
<TextBlock Text="{Binding KreonErrorSkippingLabel}" />
</CheckBox>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding Ssc}">
<TabItem.Header>
<TextBlock Text="SSC" />
<TextBlock Text="{Binding SSCLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical" IsVisible="{Binding BlockLimits}">
@@ -301,11 +313,11 @@
<TextBlock Text="{Binding BlockSizeGranularity}" IsVisible="{Binding !!BlockSizeGranularity}" />
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding !!Densities}">
<TextBlock Text="Densities supported by device:" />
<TextBlock Text="{Binding DensitiesSupportedByDeviceLabel}" />
<TextBox Text="{Binding Densities}" IsReadOnly="True" />
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding !!MediumTypes}">
<TextBlock Text="Medium types supported by device:" />
<TextBlock Text="{Binding MediumTypesSupportedByDeviceLabel}" />
<TextBox Text="{Binding MediumTypes}" IsReadOnly="True" />
</StackPanel>
<TextBox Text="{Binding MediumDensity}" IsReadOnly="True" IsVisible="{Binding !!MediumDensity}" />
@@ -318,31 +330,31 @@
<TabControl>
<TabItem IsVisible="{Binding !!Cid}">
<TabItem.Header>
<TextBlock Text="CID" />
<TextBlock Text="{Binding CIDLabel}" />
</TabItem.Header>
<TextBox Text="{Binding Cid}" IsReadOnly="True" />
</TabItem>
<TabItem IsVisible="{Binding !!Csd}">
<TabItem.Header>
<TextBlock Text="CSD" />
<TextBlock Text="{Binding CSDLabel}" />
</TabItem.Header>
<TextBox Text="{Binding Csd}" IsReadOnly="True" />
</TabItem>
<TabItem IsVisible="{Binding !!Ocr}">
<TabItem.Header>
<TextBlock Text="OCR" />
<TextBlock Text="{Binding OCRLabel}" />
</TabItem.Header>
<TextBox Text="{Binding Ocr}" IsReadOnly="True" />
</TabItem>
<TabItem IsVisible="{Binding !!ExtendedCsd}">
<TabItem.Header>
<TextBlock Text="Extended CSD" />
<TextBlock Text="{Binding ExtendedCSDLabel}" />
</TabItem.Header>
<TextBox Text="{Binding ExtendedCsd}" IsReadOnly="True" />
</TabItem>
<TabItem IsVisible="{Binding !!Scr}">
<TabItem.Header>
<TextBlock Text="SCR" />
<TextBlock Text="{Binding SCRLabel}" />
</TabItem.Header>
<TextBox Text="{Binding Scr}" IsReadOnly="True" />
</TabItem>
@@ -350,25 +362,25 @@
</TabItem>
<TabItem IsVisible="{Binding !!PcmciaInfo}">
<TabItem.Header>
<TextBlock Text="PCMCIA" />
<TextBlock Text="{Binding PCMCIALabel}" />
</TabItem.Header>
<ContentControl Content="{Binding PcmciaInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!AtaInfo}">
<TabItem.Header>
<TextBlock Text="ATA/ATAPI" />
<TextBlock Text="{Binding ATA_ATAPILabel}" />
</TabItem.Header>
<ContentControl Content="{Binding AtaInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!ScsiInfo}">
<TabItem.Header>
<TextBlock Text="SCSI" />
<TextBlock Text="{Binding SCSILabel}" />
</TabItem.Header>
<ContentControl Content="{Binding ScsiInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!SdMmcInfo}">
<TabItem.Header>
<TextBlock Text="SD/MMC" />
<TextBlock Text="{Binding SD_MMCLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding SdMmcInfo}" />
</TabItem>

View File

@@ -57,12 +57,12 @@
<TextBlock Text="{Binding FreeClustersText}" IsVisible="{Binding FreeClustersVisible}" />
<TextBlock Text="{Binding FilesText}" IsVisible="{Binding FilesVisible}" />
<CheckBox IsEnabled="{Binding BootableChecked}">
<TextBlock Text="Filesystem contains boot code" />
<TextBlock Text="{Binding BootableLabel}" />
</CheckBox>
<CheckBox IsEnabled="{Binding DirtyChecked}">
<TextBlock Text="Filesystem has not been unmounted correctly or contains errors" />
<TextBlock Text="{Binding DirtyLabel}" />
</CheckBox>
<TextBlock Text="Details" IsVisible="{Binding !!InformationText}" />
<TextBlock Text="{Binding DetailsLabel}" IsVisible="{Binding !!InformationText}" />
<TextBox Text="{Binding InformationText}" IsReadOnly="True" />
</StackPanel>
</UserControl>

View File

@@ -42,13 +42,13 @@
<StackPanel>
<Image Width="128" Height="128" HorizontalAlignment="Center" VerticalAlignment="Center"
Source="{Binding MediaLogo}" />
<TextBlock Text="Image information" FontWeight="Bold" />
<TextBlock Text="{Binding ImageInformationLabel}" FontWeight="Bold" />
<TextBlock Text="{Binding ImagePathText}" /> <TextBlock Text="{Binding FilterText}" />
<TextBlock Text="{Binding ImageIdentifiedText}" />
<TabControl>
<TabItem>
<TabItem.Header>
<TextBlock Text="General" />
<TextBlock Text="{Binding GeneralLabel}" />
</TabItem.Header>
<StackPanel>
<TextBlock Text="{Binding ImageFormatText}" IsVisible="{Binding !!ImageFormatText}" />
@@ -62,10 +62,11 @@
<TextBlock Text="{Binding MediaTypeText}" IsVisible="{Binding !!MediaTypeText}" />
<TextBlock Text="{Binding HasPartitionsText}" IsVisible="{Binding !!HasPartitionsText}" />
<TextBlock Text="{Binding HasSessionsText}" IsVisible="{Binding !!HasSessionsText}" />
<TextBlock Text="Comments:" IsVisible="{Binding !!CommentsText}" FontWeight="Bold" />
<TextBlock Text="{Binding CommentsLabel}" IsVisible="{Binding !!CommentsText}" FontWeight="Bold" />
<TextBox IsReadOnly="True" TextWrapping="Wrap" Text="{Binding CommentsText}"
IsVisible="{Binding !!CommentsText}" />
<TextBlock Text="Media information" FontWeight="Bold" IsVisible="{Binding MediaInformationVisible}" />
<TextBlock Text="{Binding MediaInformationLabel}" FontWeight="Bold"
IsVisible="{Binding MediaInformationVisible}" />
<TextBlock Text="{Binding MediaSequenceText}" IsVisible="{Binding !!MediaSequenceText}" />
<TextBlock Text="{Binding MediaTitleText}" IsVisible="{Binding !!MediaTitleText}" />
<TextBlock Text="{Binding MediaManufacturerText}" IsVisible="{Binding !!MediaManufacturerText}" />
@@ -73,156 +74,169 @@
<TextBlock Text="{Binding MediaSerialNumberText}" IsVisible="{Binding !!MediaSerialNumberText}" />
<TextBlock Text="{Binding MediaBarcodeText}" IsVisible="{Binding !!MediaBarcodeText}" />
<TextBlock Text="{Binding MediaPartNumberText}" IsVisible="{Binding !!MediaPartNumberText}" />
<TextBlock Text="Drive information" FontWeight="Bold" IsVisible="{Binding DriveInformationVisible}" />
<TextBlock Text="{Binding DriveInformationLabel}" FontWeight="Bold"
IsVisible="{Binding DriveInformationVisible}" />
<TextBlock Text="{Binding DriveManufacturerText}" IsVisible="{Binding !!DriveManufacturerText}" />
<TextBlock Text="{Binding DriveModelText}" IsVisible="{Binding !!DriveModelText}" />
<TextBlock Text="{Binding DriveSerialNumberText}" IsVisible="{Binding !!DriveSerialNumberText}" />
<TextBlock Text="{Binding DriveFirmwareRevisionText}"
IsVisible="{Binding !!DriveFirmwareRevisionText}" />
<TextBlock Text="{Binding MediaGeometryText}" IsVisible="{Binding !!MediaGeometryText}" />
<TextBlock Text="Readable media tags" FontWeight="Bold" IsVisible="{Binding !!MediaTagsList.Count}" />
<TextBlock Text="{Binding ReadableMediaTagsLabel}" FontWeight="Bold"
IsVisible="{Binding !!MediaTagsList.Count}" />
<DataGrid Items="{Binding MediaTagsList}" IsVisible="{Binding !!MediaTagsList.Count}"
IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Tag" Binding="{Binding .}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TagLabel}" Binding="{Binding .}" Width="Auto"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
<TextBlock Text="Readable sector tags" FontWeight="Bold"
<TextBlock Text="{Binding ReadableSectorTagsLabel}" FontWeight="Bold"
IsVisible="{Binding !!SectorTagsList.Count}" />
<DataGrid Items="{Binding SectorTagsList}" IsVisible="{Binding !!SectorTagsList.Count}"
IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Tag" Binding="{Binding .}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding TagLabel}" Binding="{Binding .}" Width="Auto"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!Sessions.Count}">
<TabItem.Header>
<TextBlock Text="Sessions" />
<TextBlock Text="{Binding SessionsLabel}" />
</TabItem.Header>
<DataGrid Items="{Binding Sessions}" IsVisible="{Binding !!Sessions.Count}" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Session" Binding="{Binding SessionSequence}" Width="Auto" />
<DataGridTextColumn Header="First track" Binding="{Binding StartTrack}" Width="Auto" />
<DataGridTextColumn Header="Last track" Binding="{Binding EndTrack}" Width="Auto" />
<DataGridTextColumn Header="Start" Binding="{Binding StartSector}" Width="Auto" />
<DataGridTextColumn Header="End" Binding="{Binding EndSector}" Width="Auto" />
<DataGridTextColumn Header="{Binding SessionLabel}" Binding="{Binding SessionSequence}"
Width="Auto" />
<DataGridTextColumn Header="{Binding FirstTrackLabel}" Binding="{Binding StartTrack}"
Width="Auto" />
<DataGridTextColumn Header="{Binding LastTrackLabel}" Binding="{Binding EndTrack}" Width="Auto" />
<DataGridTextColumn Header="{Binding StartLabel}" Binding="{Binding StartSector}" Width="Auto" />
<DataGridTextColumn Header="{Binding EndLabel}" Binding="{Binding EndSector}" Width="Auto" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem IsVisible="{Binding !!Tracks.Count}">
<TabItem.Header>
<TextBlock Text="Tracks" />
<TextBlock Text="{Binding TracksLabel}" />
</TabItem.Header>
<DataGrid Items="{Binding Tracks}" IsVisible="{Binding !!Tracks.Count}" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Track" Binding="{Binding Sequence}" Width="Auto" />
<DataGridTextColumn Header="Type" Binding="{Binding Type}" Width="Auto" />
<DataGridTextColumn Header="Bps" Binding="{Binding BytesPerSector}" Width="Auto" />
<DataGridTextColumn Header="Raw bps" Binding="{Binding RawBytesPerSector}" Width="Auto" />
<DataGridTextColumn Header="Subchannel" Binding="{Binding SubchannelType}" Width="Auto" />
<DataGridTextColumn Header="Pregap" Binding="{Binding Pregap}" Width="Auto" />
<DataGridTextColumn Header="Start" Binding="{Binding StartSector}" Width="Auto" />
<DataGridTextColumn Header="End" Binding="{Binding EndSector}" Width="Auto" />
<DataGridTextColumn Header="{Binding TrackLabel}" Binding="{Binding Sequence}" Width="Auto" />
<DataGridTextColumn Header="{Binding TypeLabel}" Binding="{Binding Type}" Width="Auto" />
<DataGridTextColumn Header="{Binding BpsLabel}" Binding="{Binding BytesPerSector}" Width="Auto" />
<DataGridTextColumn Header="{Binding RawBpsLabel}" Binding="{Binding RawBytesPerSector}"
Width="Auto" />
<DataGridTextColumn Header="{Binding SubchannelLabel}" Binding="{Binding SubchannelType}"
Width="Auto" />
<DataGridTextColumn Header="{Binding PregapLabel}" Binding="{Binding Pregap}" Width="Auto" />
<DataGridTextColumn Header="{Binding StartLabel}" Binding="{Binding StartSector}" Width="Auto" />
<DataGridTextColumn Header="{Binding EndLabel}" Binding="{Binding EndSector}" Width="Auto" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem IsVisible="{Binding !!DumpHardwareList.Count}">
<TabItem.Header>
<TextBlock Text="Dump hardware" />
<TextBlock Text="{Binding DumpHardwareLabel}" />
</TabItem.Header>
<DataGrid Items="{Binding DumpHardwareList}" IsVisible="{Binding !!DumpHardwareList.Count}"
IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Manufacturer" Binding="{Binding Manufacturer}" Width="Auto" />
<DataGridTextColumn Header="Model" Binding="{Binding Model}" Width="Auto" />
<DataGridTextColumn Header="Revision" Binding="{Binding Revision}" Width="Auto" />
<DataGridTextColumn Header="Serial" Binding="{Binding Serial}" Width="Auto" />
<DataGridTextColumn Header="Software" Binding="{Binding SoftwareName}" Width="Auto" />
<DataGridTextColumn Header="Version" Binding="{Binding SoftwareVersion}" Width="Auto" />
<DataGridTextColumn Header="Operating system" Binding="{Binding OperatingSystem}" Width="Auto" />
<DataGridTextColumn Header="Start" Binding="{Binding TrackStartSector}" Width="Auto" />
<DataGridTextColumn Header="End" Binding="{Binding TrackEndSector}" Width="Auto" />
<DataGridTextColumn Header="{Binding ManufacturerLabel}" Binding="{Binding Manufacturer}"
Width="Auto" />
<DataGridTextColumn Header="{Binding ModelLabel}" Binding="{Binding Model}" Width="Auto" />
<DataGridTextColumn Header="{Binding RevisionLabel}" Binding="{Binding Revision}" Width="Auto" />
<DataGridTextColumn Header="{Binding SerialLabel}" Binding="{Binding Serial}" Width="Auto" />
<DataGridTextColumn Header="{Binding SoftwareLabel}" Binding="{Binding SoftwareName}"
Width="Auto" />
<DataGridTextColumn Header="{Binding VersionLabel}" Binding="{Binding SoftwareVersion}"
Width="Auto" />
<DataGridTextColumn Header="{Binding OperatingSystemLabel}" Binding="{Binding OperatingSystem}"
Width="Auto" />
<DataGridTextColumn Header="{Binding StartLabel}" Binding="{Binding TrackStartSector}"
Width="Auto" />
<DataGridTextColumn Header="{Binding EndLabel}" Binding="{Binding TrackEndSector}" Width="Auto" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem IsVisible="{Binding !!ScsiInfo}">
<TabItem.Header>
<TextBlock Text="SCSI" />
<TextBlock Text="{Binding SCSILabel}" />
</TabItem.Header>
<ContentControl Content="{Binding ScsiInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!AtaInfo}">
<TabItem.Header>
<TextBlock Text="ATA / ATAPI" />
<TextBlock Text="{Binding ATA_ATAPILabel}" />
</TabItem.Header>
<ContentControl Content="{Binding AtaInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!CompactDiscInfo}">
<TabItem.Header>
<TextBlock Text="CompactDisc" />
<TextBlock Text="{Binding CompactDiscLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding CompactDiscInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!DvdInfo}">
<TabItem.Header>
<TextBlock Text="DVD / HD DVD" />
<TextBlock Text="{Binding DVD_HD_DVDLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding DvdInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!DvdWritableInfo}">
<TabItem.Header>
<TextBlock Text="DVD-R(W)" />
<TextBlock Text="{Binding DVD_R_WLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding DvdWritableInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!BlurayInfo}">
<TabItem.Header>
<TextBlock Text="Blu-ray" />
<TextBlock Text="{Binding BluRayLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding BlurayInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!PcmciaInfo}">
<TabItem.Header>
<TextBlock Text="PCMCIA" />
<TextBlock Text="{Binding PCMCIALabel}" />
</TabItem.Header>
<ContentControl Content="{Binding PcmciaInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!SdMmcInfo}">
<TabItem.Header>
<TextBlock Text="SD / MMC" />
<TextBlock Text="{Binding SD_MMCLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding SdMmcInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!XboxInfo}">
<TabItem.Header>
<TextBlock Text="Xbox" />
<TextBlock Text="{Binding XboxLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding XboxInfo}" />
</TabItem>
</TabControl>
<StackPanel Orientation="Horizontal" Spacing="5">
<Button Command="{Binding EntropyCommand}">
<TextBlock Text="Calculate entropy" />
<TextBlock Text="{Binding EntropyLabel}" />
</Button>
<Button Command="{Binding VerifyCommand}">
<TextBlock Text="Verify" />
<TextBlock Text="{Binding VerifyLabel}" />
</Button>
<Button Command="{Binding ChecksumCommand}">
<TextBlock Text="Checksum" />
<TextBlock Text="{Binding ChecksumLabel}" />
</Button>
<Button Command="{Binding ConvertCommand}">
<TextBlock Text="Convert to..." />
<TextBlock Text="{Binding ConvertLabel}" />
</Button>
<Button Command="{Binding CreateSidecarCommand}">
<TextBlock Text="Create CICM XML sidecar..." />
<TextBlock Text="{Binding CreateSidecarLabel}" />
</Button>
<Button Command="{Binding ViewSectorsCommand}">
<TextBlock Text="View sectors" />
<TextBlock Text="{Binding ViewSectorsLabel}" />
</Button>
<Button Command="{Binding DecodeMediaTagCommand}">
<TextBlock Text="Decode media tags" />
<TextBlock Text="{Binding DecodeMediaTagLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -40,109 +40,109 @@
<panels:MediaInfoViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<TextBlock HorizontalAlignment="Center" Text="Media information" />
<TextBlock HorizontalAlignment="Center" Text="{Binding MediaInformationLabel}" />
<Image Width="128" Height="128" HorizontalAlignment="Center" Source="{Binding MediaLogo}" />
<TabControl>
<TabItem IsVisible="{Binding GeneralVisible}">
<TabItem.Header>
<TextBlock Text="General" />
<TextBlock Text="{Binding GeneralLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Media type" /> <TextBox Text="{Binding MediaType}" IsReadOnly="True" />
<TextBlock Text="{Binding MediaTypeLabel}" />
<TextBox Text="{Binding MediaType}" IsReadOnly="True" />
</StackPanel>
<TextBlock IsVisible="{Binding !!MediaSize}" Text="{Binding MediaSize}" />
<StackPanel Orientation="Horizontal" IsVisible="{Binding !!MediaSerial}">
<TextBlock Text="Media serial number" />
<TextBlock Text="{Binding MediaSerialNumberLabel}" />
<TextBox Text="{Binding MediaSerial}" IsReadOnly="True" />
</StackPanel>
<Button IsVisible="{Binding SaveReadMediaSerialVisible}"
Command="{Binding SaveReadMediaSerialCommand}">
<TextBlock Text="Save READ MEDIA SERIAL NUMBER response" />
<TextBlock Text="{Binding SaveReadMediaSerialLabel}" />
</Button>
<Button IsVisible="{Binding SaveReadCapacityVisible}" Command="{Binding SaveReadCapacityCommand}">
<TextBlock Text="Save READ CAPACITY response" />
<TextBlock Text="{Binding SaveReadCapacityLabel}" />
</Button>
<Button IsVisible="{Binding SaveReadCapacity16Visible}"
Command="{Binding SaveReadCapacity16Command}">
<TextBlock Text="Save READ CAPACITY (16) response" />
<TextBlock Text="{Binding SaveReadCapacity16Label}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding MmcVisible}">
<TabItem.Header>
<TextBlock Text="MMC" />
<TextBlock Text="{Binding MMCLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<Button IsVisible="{Binding SaveGetConfigurationVisible}"
Command="{Binding SaveGetConfigurationCommand}">
<TextBlock Text="Save GET CONFIGURATION response" />
<TextBlock Text="{Binding SaveGetConfigurationLabel}" />
</Button>
<Button IsVisible="{Binding SaveRecognizedFormatLayersVisible}"
Command="{Binding SaveRecognizedFormatLayersCommand}">
<TextBlock Text="Save RECOGNIZED FORMAT LAYERS response" />
<TextBlock Text="{Binding SaveRecognizedFormatLayersLabel}" />
</Button>
<Button IsVisible="{Binding SaveWriteProtectionStatusVisible}"
Command="{Binding SaveWriteProtectionStatusCommand}">
<TextBlock Text="Save WRITE PROTECTION STATUS response" />
<TextBlock Text="{Binding SaveWriteProtectionStatusLabel}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding SscVisible}">
<TabItem.Header>
<TextBlock Text="SSC" />
<TextBlock Text="{Binding SSCLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<TextBlock IsVisible="{Binding !!DensitySupport}"
Text="Densities supported by currently inserted media" />
<TextBlock IsVisible="{Binding !!DensitySupport}" Text="{Binding DensitySupportLabel}" />
<TextBox IsVisible="{Binding !!DensitySupport}" Text="{Binding DensitySupport}" IsReadOnly="True" />
<TextBlock IsVisible="{Binding !!MediumSupport}" Text="Medium types currently inserted in device" />
<TextBlock IsVisible="{Binding !!MediumSupport}" Text="{Binding MediumSupportLabel}" />
<TextBox Text="{Binding MediumSupport}" IsReadOnly="True" />
<Button IsVisible="{Binding SaveDensitySupportVisible}"
Command="{Binding SaveDensitySupportCommand}">
<TextBlock Text="Save REPORT DENSITY SUPPORT (MEDIA) response" />
<TextBlock Text="{Binding SaveDensitySupportLabel}" />
</Button>
<Button IsVisible="{Binding SaveMediumSupportVisible}" Command="{Binding SaveMediumSupportCommand}">
<TextBlock Text="Save REPORT DENSITY SUPPORT (MEDIUM &amp; MEDIA) response" />
<TextBlock Text="{Binding SaveMediumSupportLabel}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!CompactDiscInfo}">
<TabItem.Header>
<TextBlock Text="CompactDisc" />
<TextBlock Text="{Binding CompactDiscLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding CompactDiscInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!DvdInfo}">
<TabItem.Header>
<TextBlock Text="DVD" />
<TextBlock Text="{Binding DVDLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding DvdInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!DvdWritableInfo}">
<TabItem.Header>
<TextBlock Text="DVD±R(W)" />
<TextBlock Text="{Binding DVD_R_WLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding DvdWritableInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!XboxInfo}">
<TabItem.Header>
<TextBlock Text="Xbox" />
<TextBlock Text="{Binding XboxLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding XboxInfo}" />
</TabItem>
<TabItem IsVisible="{Binding !!BlurayInfo}">
<TabItem.Header>
<TextBlock Text="Blu-ray" />
<TextBlock Text="{Binding BluRayLabel}" />
</TabItem.Header>
<ContentControl Content="{Binding BlurayInfo}" />
</TabItem>
</TabControl>
<Button Command="{Binding DumpCommand}">
<TextBlock Text="Dump media to image" />
<TextBlock Text="{Binding DumpLabel}" />
</Button>
<Button Command="{Binding ScanCommand}">
<TextBlock Text="Scan media surface" />
<TextBlock Text="{Binding ScanLabel}" />
</Button>
</StackPanel>
</UserControl>

View File

@@ -43,24 +43,30 @@
<DataGrid.ContextMenu>
<ContextMenu>
<Button Command="{Binding ExtractFilesCommand}">
<TextBlock Text="Extract to..." />
<TextBlock Text="{Binding ExtractFilesLabel}" />
</Button>
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Length" Binding="{Binding Size}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Name" Binding="{Binding CreationTime}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Last access" Binding="{Binding LastAccessTime}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Changed" Binding="{Binding ChangedTime}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Last backup" Binding="{Binding LastBackupTime}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Last write" Binding="{Binding LastWriteTime}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Attributes" Binding="{Binding Attributes}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="GID" Binding="{Binding Gid}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="UID" Binding="{Binding Uid}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Inode" Binding="{Binding Inode}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Links" Binding="{Binding Links}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="Model" Binding="{Binding Mode}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding LengthLabel}" Binding="{Binding Size}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding CreationLabel}" Binding="{Binding CreationTime}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding LastAccessLabel}" Binding="{Binding LastAccessTime}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding ChangedLabel}" Binding="{Binding ChangedTime}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding LastBackupLabel}" Binding="{Binding LastBackupTime}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding LastWriteLabel}" Binding="{Binding LastWriteTime}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding AttributesLabel}" Binding="{Binding Attributes}" Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="{Binding GIDLabel}" Binding="{Binding Gid}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding UIDLabel}" Binding="{Binding Uid}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding InodeLabel}" Binding="{Binding Inode}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding LinksLabel}" Binding="{Binding Links}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Header="{Binding ModeLabel}" Binding="{Binding Mode}" Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</UserControl>

View File

@@ -43,20 +43,20 @@
<TextBlock Text="{Binding AtaOrAtapiText}" />
<TextBox IsReadOnly="True" Text="{Binding AtaIdentifyText}" TextWrapping="Wrap" />
<CheckBox IsEnabled="False" IsChecked="{Binding AtaMcptChecked}" IsVisible="{Binding AtaMcptVisible}">
<TextBlock Text="Device is Media Card Pass Through" />
<TextBlock Text="{Binding AtaMcptLabel}" />
</CheckBox>
<TextBlock Text="{Binding AtaMcptText}" />
<CheckBox IsEnabled="False" IsChecked="{Binding AtaMcptWriteProtectionChecked}"
IsVisible="{Binding AtaMcptChecked}">
<TextBlock Text="Media card is write protected" />
<TextBlock Text="{Binding AtaMcptWriteProtectionLabel}" />
</CheckBox>
<TextBlock Text="{Binding AtaMcptSpecificDataText}" />
<StackPanel Orientation="Horizontal">
<Button Command="{Binding SaveAtaBinaryCommand}">
<TextBlock Text="Save binary to file" />
<TextBlock Text="{Binding SaveAtaBinaryLabel}" />
</Button>
<Button Command="{Binding SaveAtaTextCommand}">
<TextBlock Text="Save text to file" />
<TextBlock Text="{Binding SaveAtaTextLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -41,63 +41,64 @@
</Design.DataContext>
<StackPanel>
<StackPanel IsVisible="{Binding !!BlurayDiscInformationText}">
<TextBlock Text="Disc information" />
<TextBlock Text="{Binding DiscInformationLabel}" />
<TextBox IsReadOnly="True" Text="{Binding BlurayDiscInformationText}" />
</StackPanel>
<StackPanel IsVisible="{Binding !!BlurayBurstCuttingAreaText}">
<TextBlock Text="Burst Cutting Area" />
<TextBlock Text="{Binding BurstCuttingAreaLabel}" />
<TextBox IsReadOnly="True" Text="{Binding BlurayBurstCuttingAreaText}" />
</StackPanel>
<StackPanel IsVisible="{Binding !!BlurayDdsText}">
<TextBlock Text="Disc Definition Structure" /> <TextBox IsReadOnly="True" Text="{Binding BlurayDdsText}" />
<TextBlock Text="{Binding DiscDefinitionStructureLabel}" />
<TextBox IsReadOnly="True" Text="{Binding BlurayDdsText}" />
</StackPanel>
<StackPanel IsVisible="{Binding !!BlurayCartridgeStatusText}">
<TextBlock Text="Cartridge Status" />
<TextBlock Text="{Binding CartridgeStatusLabel}" />
<TextBox IsReadOnly="True" Text="{Binding BlurayCartridgeStatusText}" />
</StackPanel>
<StackPanel IsVisible="{Binding !!BluraySpareAreaInformationText}">
<TextBlock Text="Spare Area Information" />
<TextBlock Text="{Binding SpareAreaInformationLabel}" />
<TextBox IsReadOnly="True" Text="{Binding BluraySpareAreaInformationText}" />
</StackPanel>
<StackPanel IsVisible="{Binding !!BlurayPowResourcesText}">
<TextBlock Text="Pseudo-OverWrite Resources" />
<TextBlock Text="{Binding PseudoOverWriteResourcesLabel}" />
<TextBox IsReadOnly="True" Text="{Binding BlurayPowResourcesText}" />
</StackPanel>
<StackPanel IsVisible="{Binding !!BlurayTrackResourcesText}">
<TextBlock Text="Track Resources" />
<TextBlock Text="{Binding TrackResourcesLabel}" />
<TextBox IsReadOnly="True" Text="{Binding BlurayTrackResourcesText}" />
</StackPanel>
<Button Command="{Binding SaveBlurayDiscInformationCommand}"
IsVisible="{Binding SaveBlurayDiscInformationVisible}">
<TextBlock Text="Save Disc Information" />
<TextBlock Text="{Binding SaveBlurayDiscInformationLabel}" />
</Button>
<Button Command="{Binding SaveBlurayBurstCuttingAreaCommand}"
IsVisible="{Binding SaveBlurayBurstCuttingAreaVisible}">
<TextBlock Text="Save Burst Cutting Area" />
<TextBlock Text="{Binding SaveBlurayBurstCuttingAreaLabel}" />
</Button>
<Button Command="{Binding SaveBlurayDdsCommand}" IsVisible="{Binding SaveBlurayDdsVisible}">
<TextBlock Text="Save Save Disc Definition Structure" />
<TextBlock Text="{Binding SaveBlurayDdsLabel}" />
</Button>
<Button Command="{Binding SaveBlurayCartridgeStatusCommand}"
IsVisible="{Binding SaveBlurayCartridgeStatusVisible}">
<TextBlock Text="Save Cartridge Status" />
<TextBlock Text="{Binding SaveBlurayCartridgeStatusLabel}" />
</Button>
<Button Command="{Binding SaveBluraySpareAreaInformationCommand}"
IsVisible="{Binding SaveBluraySpareAreaInformationVisible}">
<TextBlock Text="Save Spare Area Information" />
<TextBlock Text="{Binding SaveBluraySpareAreaInformationLabel}" />
</Button>
<Button Command="{Binding SaveBlurayPowResourcesCommand}" IsVisible="{Binding SaveBlurayPowResourcesVisible}">
<TextBlock Text="Save Pseudo-OverWrite Resources" />
<TextBlock Text="{Binding SaveBlurayPowResourcesLabel}" />
</Button>
<Button Command="{Binding SaveBlurayTrackResourcesCommand}"
IsVisible="{Binding SaveBlurayTrackResourcesVisible}">
<TextBlock Text="Save Track Resources" />
<TextBlock Text="{Binding SaveBlurayTrackResourcesLabel}" />
</Button>
<Button Command="{Binding SaveBlurayRawDflCommand}" IsVisible="{Binding SaveBlurayRawDflVisible}">
<TextBlock Text="Save raw DFL" />
<TextBlock Text="{Binding SaveBlurayRawDflLabel}" />
</Button>
<Button Command="{Binding SaveBlurayPacCommand}" IsVisible="{Binding SaveBlurayPacVisible}">
<TextBlock Text="Save PAC" />
<TextBlock Text="{Binding SaveBlurayPacLabel}" />
</Button>
</StackPanel>
</UserControl>

View File

@@ -42,89 +42,89 @@
<TabControl>
<TabItem IsVisible="{Binding !!CdInformationText}">
<TabItem.Header>
<TextBlock Text="Information" />
<TextBlock Text="{Binding CdInformationLabel}" />
</TabItem.Header>
<StackPanel>
<TextBox IsReadOnly="True" Text="{Binding CdInformationText}" />
<Button Command="{Binding SaveCdInformationCommand}">
<TextBlock Text="Save READ DISC INFORMATION response" />
<TextBlock Text="{Binding SaveCdInformationLabel}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!CdTocText}">
<TabItem.Header>
<TextBlock Text="TOC" />
<TextBlock Text="{Binding CdTocLabel}" />
</TabItem.Header>
<StackPanel>
<TextBox IsReadOnly="True" Text="{Binding CdTocText}" />
<Button Command="{Binding SaveCdTocCommand}">
<TextBlock Text="Save READ TOC response" />
<TextBlock Text="{Binding SaveCdTocLabel}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!CdFullTocText}">
<TabItem.Header>
<TextBlock Text="TOC (full)" />
<TextBlock Text="{Binding CdFullTocLabel}" />
</TabItem.Header>
<StackPanel>
<TextBox IsReadOnly="True" Text="{Binding CdFullTocText}" />
<Button Command="{Binding SaveCdFullTocCommand}">
<TextBlock Text="Save READ RAW TOC response" />
<TextBlock Text="{Binding SaveCdFullTocLabel}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!CdSessionText}">
<TabItem.Header>
<TextBlock Text="Session" />
<TextBlock Text="{Binding CdSessionLabel}" />
</TabItem.Header>
<StackPanel>
<TextBox IsReadOnly="True" Text="{Binding CdSessionText}" />
<Button Command="{Binding SaveCdSessionCommand}">
<TextBlock Text="Save READ SESSION response" />
<TextBlock Text="{Binding SaveCdSessionLabel}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!CdTextText}">
<TabItem.Header>
<TextBlock Text="CD-TEXT" />
<TextBlock Text="{Binding CdTextLabel}" />
</TabItem.Header>
<StackPanel>
<TextBox IsReadOnly="True" Text="{Binding CdTextText}" />
<Button Command="{Binding SaveCdTextCommand}">
<TextBlock Text="Save Lead-In CD-TEXT" />
<TextBlock Text="{Binding SaveCdTextLabel}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!CdAtipText}">
<TabItem.Header>
<TextBlock Text="ATIP" />
<TextBlock Text="{Binding CdAtipLabel}" />
</TabItem.Header>
<StackPanel>
<TextBox IsReadOnly="True" Text="{Binding CdAtipText}" />
<Button Command="{Binding SaveCdAtipCommand}">
<TextBlock Text="Save READ ATIP response" />
<TextBlock Text="{Binding SaveCdAtipLabel}" />
</Button>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding MiscellaneousVisible}">
<TabItem.Header>
<TextBlock Text="Miscellaneous" />
<TextBlock Text="{Binding MiscellaneousLabel}" />
</TabItem.Header>
<StackPanel>
<StackPanel Orientation="Horizontal" IsVisible="{Binding !!McnText}">
<TextBlock Text="Media catalog number" /> <TextBox IsReadOnly="True" Text="{Binding CdAtipText}" />
<TextBlock Text="{Binding McnLabel}" /> <TextBox IsReadOnly="True" Text="{Binding McnText}" />
</StackPanel>
<StackPanel IsVisible="{Binding !!IsrcList.Count}">
<TextBlock Text="ISRCs" />
<TextBlock Text="{Binding ISRCsLabel}" />
<DataGrid Items="{Binding IsrcList}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Track}" Header="Track" />
<DataGridTextColumn Binding="{Binding ISRC}" Header="Isrc" />
<DataGridTextColumn Binding="{Binding Track}" Header="{Binding TrackLabel}" />
<DataGridTextColumn Binding="{Binding ISRC}" Header="{Binding ISRCLabel}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<Button Command="{Binding SaveCdPmaCommand}" IsVisible="{Binding CdPmaVisible}">
<TextBlock Text="Save READ PMA response" />
<TextBlock Text="{Binding SaveCdPmaLabel}" />
</Button>
</StackPanel>
</TabItem>

View File

@@ -45,22 +45,22 @@
<TextBlock IsVisible="{Binding !!DvdCmiText}" Text="Copyright Management Information" />
<TextBox IsReadOnly="True" IsVisible="{Binding !!DvdCmiText}" Text="{Binding DvdCmiText}" />
<Button Command="{Binding SaveDvdPfiCommand}" IsVisible="{Binding SaveDvdPfiVisible}">
<TextBlock Text="Save Physical Format Information" />
<TextBlock Text="{Binding SaveDvdPfiLabel}" />
</Button>
<Button Command="{Binding SaveDvdDmiCommand}" IsVisible="{Binding SaveDvdDmiVisible}">
<TextBlock Text="Save Disc Manufacturer Information" />
<TextBlock Text="{Binding SaveDvdDmiLabel}" />
</Button>
<Button Command="{Binding SaveDvdCmiCommand}" IsVisible="{Binding SaveDvdCmiVisible}">
<TextBlock Text="Save Copyright Management Information" />
<TextBlock Text="{Binding SaveDvdCmiLabel}" />
</Button>
<Button Command="{Binding SaveHdDvdCmiCommand}" IsVisible="{Binding SaveHdDvdCmiVisible}">
<TextBlock Text="Save Copyright Management Information" />
<TextBlock Text="{Binding SaveHdDvdCmiLabel}" />
</Button>
<Button Command="{Binding SaveDvdBcaCommand}" IsVisible="{Binding SaveDvdBcaVisible}">
<TextBlock Text="Save Burst Cutting Area" />
<TextBlock Text="{Binding SaveDvdBcaLabel}" />
</Button>
<Button Command="{Binding SaveDvdAacsCommand}" IsVisible="{Binding SaveDvdAacsVisible}">
<TextBlock Text="Save AACS Information" />
<TextBlock Text="{Binding SaveDvdAacsLabel}" />
</Button>
</StackPanel>
</UserControl>

View File

@@ -41,73 +41,74 @@
</Design.DataContext>
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock IsVisible="{Binding !!DvdRamDdsText}" Text="Disc Definition Structure" />
<TextBlock IsVisible="{Binding !!DvdRamDdsText}" Text="{Binding DvdRamDdsLabel}" />
<TextBox IsReadOnly="True" IsVisible="{Binding !!DvdRamDdsText}" Text="{Binding DvdRamDdsText}" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock IsVisible="{Binding !!DvdRamCartridgeStatusText}" Text="Cartridge Status" />
<TextBlock IsVisible="{Binding !!DvdRamCartridgeStatusText}" Text="{Binding DvdRamCartridgeStatusLabel}" />
<TextBox IsReadOnly="True" IsVisible="{Binding !!DvdRamCartridgeStatusText}"
Text="{Binding DvdRamCartridgeStatusText}" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock IsVisible="{Binding !!DvdRamSpareAreaInformationText}" Text="Spare Area Information" />
<TextBlock IsVisible="{Binding !!DvdRamSpareAreaInformationText}"
Text="{Binding DvdRamSpareAreaInformationLabel}" />
<TextBox IsReadOnly="True" IsVisible="{Binding !!DvdRamSpareAreaInformationText}"
Text="{Binding DvdRamSpareAreaInformationText}" />
</StackPanel>
<Button Command="{Binding SaveDvdRamDdsCommand}" IsVisible="{Binding SaveDvdRamDdsVisible}">
<TextBlock Text="Save Disc Definition Structure" />
<TextBlock Text="{Binding SaveDvdRamDdsLabel}" />
</Button>
<Button Command="{Binding SaveDvdRamCartridgeStatusCommand}"
IsVisible="{Binding SaveDvdRamCartridgeStatusVisible}">
<TextBlock Text="Save Cartridge Status" />
<TextBlock Text="{Binding SaveDvdRamCartridgeStatusLabel}" />
</Button>
<Button Command="{Binding SaveDvdRamSpareAreaInformationCommand}"
IsVisible="{Binding SaveDvdRamSpareAreaInformationVisible}">
<TextBlock Text="Save Spare Area Information" />
<TextBlock Text="{Binding SaveDvdRamSpareAreaInformationLabel}" />
</Button>
<Button Command="{Binding SaveLastBorderOutRmdCommand}" IsVisible="{Binding SaveLastBorderOutRmdVisible}">
<TextBlock Text="Save Last Border-Out RMD" />
<TextBlock Text="{Binding SaveLastBorderOutRmdLabel}" />
</Button>
<Button Command="{Binding SaveDvdPreRecordedInfoCommand}" IsVisible="{Binding SaveDvdPreRecordedInfoVisible}">
<TextBlock Text="Save Pre-Recorded Physical Information" />
<TextBlock Text="{Binding SaveDvdPreRecordedInfoLabel}" />
</Button>
<Button Command="{Binding SaveDvdrMediaIdentifierCommand}" IsVisible="{Binding SaveDvdrMediaIdentifierVisible}">
<TextBlock Text="Save Media Identifier" />
<TextBlock Text="{Binding SaveDvdrMediaIdentifierLabel}" />
</Button>
<Button Command="{Binding SaveDvdrPhysicalInformationCommand}"
IsVisible="{Binding SaveDvdrPhysicalInformationVisible}">
<TextBlock Text="Save Recordable Physical Information" />
<TextBlock Text="{Binding SaveDvdrPhysicalInformationLabel}" />
</Button>
<Button Command="{Binding SaveHddvdrMediumStatusCommand}" IsVisible="{Binding SaveHddvdrMediumStatusVisible}">
<TextBlock Text="Save Medium Status" />
<TextBlock Text="{Binding SaveHddvdrMediumStatusLabel}" />
</Button>
<Button Command="{Binding SaveHddvdrLastRmdCommand}" IsVisible="{Binding SaveHddvdrLastRmdVisible}">
<TextBlock Text="Save Last Border-Out RMD" />
<TextBlock Text="{Binding SaveHddvdrLastRmdLabel}" />
</Button>
<Button Command="{Binding SaveDvdrLayerCapacityCommand}" IsVisible="{Binding SaveDvdrLayerCapacityVisible}">
<TextBlock Text="Save Layer Capacity" />
<TextBlock Text="{Binding SaveDvdrLayerCapacityLabel}" />
</Button>
<Button Command="{Binding SaveDvdrDlMiddleZoneStartCommand}"
IsVisible="{Binding SaveDvdrDlMiddleZoneStartVisible}">
<TextBlock Text="Save Middle Zone Start" />
<TextBlock Text="{Binding SaveDvdrDlMiddleZoneStartLabel}" />
</Button>
<Button Command="{Binding SaveDvdrDlJumpIntervalSizeCommand}"
IsVisible="{Binding SaveDvdrDlJumpIntervalSizeVisible}">
<TextBlock Text="Save Jump Interval Size" />
<TextBlock Text="{Binding SaveDvdrDlJumpIntervalSizeLabel}" />
</Button>
<Button Command="{Binding SaveDvdrDlManualLayerJumpStartLbaCommand}"
IsVisible="{Binding SaveDvdrDlManualLayerJumpStartLbaVisible}">
<TextBlock Text="Save Manual Layer Jump Start LBA" />
<TextBlock Text="{Binding SaveDvdrDlManualLayerJumpStartLbaLabel}" />
</Button>
<Button Command="{Binding SaveDvdrDlRemapAnchorPointCommand}"
IsVisible="{Binding SaveDvdrDlRemapAnchorPointVisible}">
<TextBlock Text="Save Remap Anchor Point" />
<TextBlock Text="{Binding SaveDvdrDlRemapAnchorPointLabel}" />
</Button>
<Button Command="{Binding SaveDvdPlusAdipCommand}" IsVisible="{Binding SaveDvdPlusAdipVisible}">
<TextBlock Text="Save ADIP" />
<TextBlock Text="{Binding SaveDvdPlusAdipLabel}" />
</Button>
<Button Command="{Binding SaveDvdPlusDcbCommand}" IsVisible="{Binding SaveDvdPlusDcbVisible}">
<TextBlock Text="Save Disc Control Blocks" />
<TextBlock Text="{Binding SaveDvdPlusDcbLabel}" />
</Button>
</StackPanel>
</UserControl>

View File

@@ -43,13 +43,13 @@
<StackPanel Orientation="Horizontal">
<DataGrid Items="{Binding CisList}" SelectedItem="{Binding SelectedCis}">
<DataGrid.Columns>
<DataGridTextColumn Header="CIS" Binding="{Binding Code}" />
<DataGridTextColumn Header="{Binding CisLabel}" Binding="{Binding Code}" />
</DataGrid.Columns>
</DataGrid>
<TextBox IsReadOnly="True" Text="{Binding PcmciaCisText}" />
</StackPanel>
<Button Command="{Binding SavePcmciaCisCommand}">
<TextBlock Text="Save PCMCIA CIS to file" />
<TextBlock Text="{Binding SavePcmciaCisLabel}" />
</Button>
</StackPanel>
</UserControl>

View File

@@ -42,31 +42,31 @@
<TabControl>
<TabItem IsVisible="{Binding !!InquiryData}">
<TabItem.Header>
<TextBlock Text="INQUIRY" />
<TextBlock Text="{Binding InquiryLabel}" />
</TabItem.Header>
<StackPanel>
<TextBlock Text="SCSI INQUIRY" HorizontalAlignment="Center" />
<TextBlock Text="{Binding ScsiInquiryLabel}" HorizontalAlignment="Center" />
<TextBox Text="{Binding ScsiInquiryText}" IsReadOnly="True" />
<StackPanel Orientation="Horizontal">
<Button Command="{Binding SaveInquiryBinaryCommand}">
<TextBlock Text="Save binary to file" />
<TextBlock Text="{Binding SaveInquiryBinaryLabel}" />
</Button>
<Button Command="{Binding SaveInquiryTextCommand}">
<TextBlock Text="Save text to file" />
<TextBlock Text="{Binding SaveInquiryTextLabel}" />
</Button>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!ModeSensePages.Count}">
<TabItem.Header>
<TextBlock Text="MODE SENSE" />
<TextBlock Text="{Binding ModeSenseLabel}" />
</TabItem.Header>
<StackPanel>
<StackPanel Orientation="Horizontal">
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Stretch" Items="{Binding ModeSensePages}"
SelectedItem="{Binding SelectedModeSensePage}" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Page" Binding="{Binding Page}" />
<DataGridTextColumn Header="{Binding PageLabel}" Binding="{Binding Page}" />
</DataGrid.Columns>
</DataGrid>
<TextBox HorizontalAlignment="Right" VerticalAlignment="Stretch" Text="{Binding ModeSensePageText}"
@@ -74,24 +74,24 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding SaveModeSense6Command}">
<TextBlock Text="Save MODE SENSE (6) response to file" />
<TextBlock Text="{Binding SaveModeSense6Label}" />
</Button>
<Button Command="{Binding SaveModeSense10Command}">
<TextBlock Text="Save MODE SENSE (10) response to file" />
<TextBlock Text="{Binding SaveModeSense10Label}" />
</Button>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!EvpdPages.Count}">
<TabItem.Header>
<TextBlock Text="EVPD" />
<TextBlock Text="{Binding EvpdLabel}" />
</TabItem.Header>
<StackPanel>
<StackPanel Orientation="Horizontal">
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Stretch" Items="{Binding EvpdPages}"
SelectedItem="{Binding SelectedEvpdPage}" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Page" Binding="{Binding Page}" />
<DataGridTextColumn Header="{Binding PageLabel}" Binding="{Binding Page}" />
</DataGrid.Columns>
</DataGrid>
<TextBox HorizontalAlignment="Right" VerticalAlignment="Stretch" Text="{Binding EvpdPageText}"
@@ -99,21 +99,21 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding SaveEvpdPageCommand}">
<TextBlock Text="Save EVPD page to file" />
<TextBlock Text="{Binding SaveEvpdPageLabel}" />
</Button>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem IsVisible="{Binding !!MmcFeatures.Count}">
<TabItem.Header>
<TextBlock Text="MMC FEATURES" />
<TextBlock Text="{Binding MmcFeaturesLabel}" />
</TabItem.Header>
<StackPanel>
<StackPanel Orientation="Horizontal">
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Stretch" Items="{Binding MmcFeatures}"
SelectedItem="{Binding SelectedMmcFeature}" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Feature" Binding="{Binding Page}" />
<DataGridTextColumn Header="{Binding FeatureLabel}" Binding="{Binding Page}" />
</DataGrid.Columns>
</DataGrid>
<TextBox HorizontalAlignment="Right" VerticalAlignment="Stretch" Text="{Binding MmcFeatureText}"
@@ -121,7 +121,7 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding SaveMmcFeaturesCommand}">
<TextBlock Text="Save MMC GET CONFIGURATION response to file" />
<TextBlock Text="{Binding SaveMmcFeaturesLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -42,31 +42,31 @@
<TabControl>
<TabItem IsVisible="{Binding !!CidText}">
<TabItem.Header>
<TextBlock Text="CID" />
<TextBlock Text="{Binding CidLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True" Text="{Binding CidText}" />
</TabItem>
<TabItem IsVisible="{Binding !!CsdText}">
<TabItem.Header>
<TextBlock Text="CSD" />
<TextBlock Text="{Binding CsdLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True" Text="{Binding CsdText}" />
</TabItem>
<TabItem IsVisible="{Binding !!OcrText}">
<TabItem.Header>
<TextBlock Text="OCR" />
<TextBlock Text="{Binding OcrLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True" Text="{Binding OcrText}" />
</TabItem>
<TabItem IsVisible="{Binding !!ExtendedCsdText}">
<TabItem.Header>
<TextBlock Text="Extended CSD" />
<TextBlock Text="{Binding ExtendedCsdLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True" Text="{Binding ExtendedCsdText}" />
</TabItem>
<TabItem IsVisible="{Binding !!ScrText}">
<TabItem.Header>
<TextBlock Text="SCR" />
<TextBlock Text="{Binding ScrLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True" Text="{Binding ScrText}" />
</TabItem>

View File

@@ -42,38 +42,40 @@
<StackPanel>
<StackPanel IsVisible="{Binding XboxInformationVisible}">
<StackPanel Orientation="Horizontal" IsVisible="{Binding !!XboxL0VideoText}">
<TextBlock Text="Video layer 0 size" /> <TextBox IsReadOnly="True" Text="{Binding XboxL0VideoText}" />
<TextBlock Text="{Binding XboxL0VideoLabel}" />
<TextBox IsReadOnly="True" Text="{Binding XboxL0VideoText}" />
</StackPanel>
<StackPanel Orientation="Horizontal" IsVisible="{Binding !!XboxL1VideoText}">
<TextBlock Text="Video layer 0 size" /> <TextBox IsReadOnly="True" Text="{Binding XboxL1VideoText}" />
<TextBlock Text="{Binding XboxL1VideoLabel}" />
<TextBox IsReadOnly="True" Text="{Binding XboxL1VideoText}" />
</StackPanel>
<StackPanel Orientation="Horizontal" IsVisible="{Binding !!XboxMiddleZoneText}">
<TextBlock Text="Video layer 0 size" />
<TextBlock Text="{Binding XboxMiddleZoneLabel}" />
<TextBox IsReadOnly="True" Text="{Binding XboxMiddleZoneText}" />
</StackPanel>
<StackPanel Orientation="Horizontal" IsVisible="{Binding !!XboxGameSizeText}">
<TextBlock Text="Video layer 0 size" /> <TextBox IsReadOnly="True" Text="{Binding XboxGameSizeText}" />
<TextBlock Text="{Binding XboxGameSizeLabel}" />
<TextBox IsReadOnly="True" Text="{Binding XboxGameSizeText}" />
</StackPanel>
<StackPanel Orientation="Horizontal" IsVisible="{Binding !!XboxTotalSizeText}">
<TextBlock Text="Video layer 0 size" />
<TextBlock Text="{Binding XboxTotalSizeLabel}" />
<TextBox IsReadOnly="True" Text="{Binding XboxTotalSizeText}" />
</StackPanel>
<StackPanel Orientation="Horizontal" IsVisible="{Binding !!XboxRealBreakText}">
<TextBlock Text="Video layer 0 size" />
<TextBlock Text="{Binding XboxRealBreakLabel}" />
<TextBox IsReadOnly="True" Text="{Binding XboxRealBreakText}" />
</StackPanel>
</StackPanel>
<StackPanel>
<StackPanel IsVisible="{Binding !!XboxDmiText}">
<TextBlock Text="Disc Manufacturing Information" />
<TextBox IsReadOnly="True" Text="{Binding XboxDmiText}" />
<TextBlock Text="{Binding XboxDmiLabel}" /> <TextBox IsReadOnly="True" Text="{Binding XboxDmiText}" />
</StackPanel>
<StackPanel IsVisible="{Binding !!XboxSsText}">
<TextBlock Text="Security Sector" /> <TextBox IsReadOnly="True" Text="{Binding XboxSsText}" />
<TextBlock Text="{Binding XboxSsLabel}" /> <TextBox IsReadOnly="True" Text="{Binding XboxSsText}" />
</StackPanel>
<Button HorizontalAlignment="Right" IsVisible="{Binding SaveXboxSsVisible}"
Command="{Binding SaveXboxSsCommand}">
<TextBlock Text="Save Xbox Security Sector" />
<TextBlock Text="{Binding SaveXboxSsLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -42,7 +42,7 @@
</Design.DataContext>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Tag:" />
<TextBlock Text="{Binding TagLabel}" />
<ComboBox Items="{Binding TagsList}" SelectedItem="{Binding SelectedTag}">
<ComboBox.DataTemplates>
<DataTemplate>
@@ -54,13 +54,13 @@
<TabControl>
<TabItem>
<TabItem.Header>
<TextBlock Text="HexView" />
<TextBlock Text="{Binding HexViewLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True" Text="{Binding HexViewText}" />
</TabItem>
<TabItem IsVisible="{Binding DecodedVisible}">
<TabItem.Header>
<TextBlock Text="Decoded" />
<TextBlock Text="{Binding DecodedLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True" Text="{Binding DecodedText}" />
</TabItem>

View File

@@ -44,66 +44,66 @@
<StackPanel Orientation="Vertical">
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsVisible="{Binding ChecksumTracksVisible}"
IsChecked="{Binding ChecksumMediaChecked}">
<TextBlock Text="Checksums the whole disc." />
<TextBlock Text="{Binding ChecksumMediaLabel}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsVisible="{Binding ChecksumTracksVisible}"
IsChecked="{Binding ChecksumTracksChecked}">
<TextBlock Text="Checksums each track separately." />
<TextBlock Text="{Binding ChecksumTracksLabel}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Adler32Checked}">
<TextBlock Text="Calculates Adler-32." />
<TextBlock Text="{Binding Adler32Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Crc16Checked}">
<TextBlock Text="Calculates CRC16." />
<TextBlock Text="{Binding Crc16Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Crc32Checked}">
<TextBlock Text="Calculates CRC32." />
<TextBlock Text="{Binding Crc32Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Crc64Checked}">
<TextBlock Text="Calculates CRC64 (ECMA)." />
<TextBlock Text="{Binding Crc64Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Fletcher16Checked}">
<TextBlock Text="Calculates Fletcher-16." />
<TextBlock Text="{Binding Fletcher16Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Fletcher32Checked}">
<TextBlock Text="Calculates Fletcher-32." />
<TextBlock Text="{Binding Fletcher32Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Md5Checked}">
<TextBlock Text="Calculates MD5." />
<TextBlock Text="{Binding Md5Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Sha1Checked}">
<TextBlock Text="Calculates SHA1." />
<TextBlock Text="{Binding Sha1Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Sha256Checked}">
<TextBlock Text="Calculates SHA256." />
<TextBlock Text="{Binding Sha256Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Sha384Checked}">
<TextBlock Text="Calculates SHA384." />
<TextBlock Text="{Binding Sha384Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Sha512Checked}">
<TextBlock Text="Calculates SHA512." />
<TextBlock Text="{Binding Sha512Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding SpamsumChecked}">
<TextBlock Text="Calculates SpamSum fuzzy hash." />
<TextBlock Text="{Binding SpamSumLabel}" />
</CheckBox>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ResultsVisible}">
<StackPanel Orientation="Vertical" IsVisible="{Binding TrackChecksumsVisible}">
<TextBlock Text="Track checksums:" />
<TextBlock Text="{Binding TrackChecksumsLabel}" />
<DataGrid Items="{Binding TrackChecksums}">
<DataGrid.Columns>
<DataGridTextColumn Header="Track" Binding="{Binding Track}" />
<DataGridTextColumn Header="Algorithms" Binding="{Binding Algorithm}" />
<DataGridTextColumn Header="Hash" Binding="{Binding Value}" />
<DataGridTextColumn Header="{Binding TrackLabel}" Binding="{Binding Track}" />
<DataGridTextColumn Header="{Binding AlgorithmsLabel}" Binding="{Binding Algorithm}" />
<DataGridTextColumn Header="{Binding HashLabel}" Binding="{Binding Value}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding MediaChecksumsVisible}">
<TextBlock Text="Media checksums:" />
<TextBlock Text="{Binding MediaChecksumsLabel}" />
<DataGrid Items="{Binding MediaChecksums}">
<DataGrid.Columns>
<DataGridTextColumn Header="Algorithms" Binding="{Binding Algorithm}" />
<DataGridTextColumn Header="Hash" Binding="{Binding Value}" />
<DataGridTextColumn Header="{Binding AlgorithmsLabel}" Binding="{Binding Algorithm}" />
<DataGridTextColumn Header="{Binding HashLabel}" Binding="{Binding Value}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
@@ -121,15 +121,15 @@
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsEnabled="{Binding StartCommandEnabled}"
IsVisible="{Binding StartCommandVisible}">
<TextBlock Text="Start" />
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsEnabled="{Binding CloseCommandEnabled}"
IsVisible="{Binding CloseCommandVisible}">
<TextBlock Text="Close" />
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsEnabled="{Binding StopCommandEnabled}"
IsVisible="{Binding StopCommandVisible}">
<TextBlock Text="Stop" />
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -41,8 +41,8 @@
<windows:ImageConvertViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<TextBlock Text="Source image" /> <TextBox Text="{Binding SourceText}" IsReadOnly="True" />
<TextBlock Text="Output format" />
<TextBlock Text="{Binding SourceImageLabel}" /> <TextBox Text="{Binding SourceText}" IsReadOnly="True" />
<TextBlock Text="{Binding OutputFormatLabel}" />
<ComboBox Items="{Binding PluginsList}" SelectedItem="{Binding SelectedPlugin}"
IsEnabled="{Binding FormatReadOnly}">
<ComboBox.ItemTemplate>
@@ -55,155 +55,161 @@
<TextBox Text="{Binding DestinationText}" IsReadOnly="True" />
<Button Command="{Binding DestinationCommand}" IsEnabled="{Binding DestinationEnabled}"
IsVisible="{Binding DestinationVisible}">
<TextBlock Text="Choose..." />
<TextBlock Text="{Binding ChooseLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding OptionsVisible}">
<StackPanel Orientation="Horizontal">
<NumericUpDown Increment="1" Minimum="1" Maximum="16384" Value="{Binding SectorsValue}" />
<TextBlock Text="How many sectors to convert at once." />
<TextBlock Text="{Binding SectorsLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding ForceChecked}">
<TextBlock Text="Continue conversion even if sector or media tags will be lost in the process." />
<TextBlock Text="{Binding ForceLabel}" />
</CheckBox>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Who (person) created the image?" /> <TextBox Text="{Binding CreatorText}" />
<TextBlock Text="{Binding CreatorLabel}" /> <TextBox Text="{Binding CreatorText}" />
<Button Command="{Binding CreatorCommand}" IsVisible="{Binding CreatorVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel>
<TextBlock Text="Metadata" />
<TextBlock Text="{Binding MetadataLabel}" />
<TabControl>
<TabItem>
<TabItem.Header>
<TextBlock Text="Media" />
<TextBlock Text="{Binding MediaLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Title" /> <TextBox Text="{Binding MediaTitleText}" />
<TextBlock Text="{Binding TitleLabel}" /> <TextBox Text="{Binding MediaTitleText}" />
<Button Command="{Binding MediaTitleCommand}" IsVisible="{Binding MediaTitleVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Manufacturer" /> <TextBox Text="{Binding MediaManufacturerText}" />
<TextBlock Text="{Binding ManufacturerLabel}" />
<TextBox Text="{Binding MediaManufacturerText}" />
<Button Command="{Binding MediaManufacturerCommand}"
IsVisible="{Binding MediaManufacturerVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Model" /> <TextBox Text="{Binding MediaModelText}" />
<TextBlock Text="{Binding ModelLabel}" /> <TextBox Text="{Binding MediaModelText}" />
<Button Command="{Binding MediaModelCommand}" IsVisible="{Binding MediaModelVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Serial number" /> <TextBox Text="{Binding MediaSerialNumberText}" />
<TextBlock Text="{Binding SerialNumberLabel}" />
<TextBox Text="{Binding MediaSerialNumberText}" />
<Button Command="{Binding MediaSerialNumberCommand}"
IsVisible="{Binding MediaSerialNumberVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Barcode" /> <TextBox Text="{Binding MediaBarcodeText}" />
<TextBlock Text="{Binding BarcodeLabel}" />
<TextBox Text="{Binding MediaBarcodeText}" />
<Button Command="{Binding MediaBarcodeCommand}"
IsVisible="{Binding MediaBarcodeVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Part number" /> <TextBox Text="{Binding MediaPartNumberText}" />
<TextBlock Text="{Binding PartNumberLabel}" />
<TextBox Text="{Binding MediaPartNumberText}" />
<Button Command="{Binding MediaPartNumberCommand}"
IsVisible="{Binding MediaPartNumberVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Number in sequence" />
<TextBlock Text="{Binding NumberInSequenceLabel}" />
<NumericUpDown Increment="1" Value="{Binding MediaSequenceValue}" Minimum="0" />
<Button Command="{Binding MediaSequenceCommand}"
IsVisible="{Binding MediaSequenceVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Last media of the sequence" />
<TextBlock Text="{Binding LastMediaOfTheSequenceLabel}" />
<NumericUpDown Increment="1" Value="{Binding LastMediaSequenceValue}" Minimum="0" />
<Button Command="{Binding LastMediaSequenceCommand}"
IsVisible="{Binding LastMediaSequenceVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="Drive" />
<TextBlock Text="{Binding DriveLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Manufacturer" /> <TextBox Text="{Binding DriveManufacturerText}" />
<TextBlock Text="{Binding ManufacturerLabel}" />
<TextBox Text="{Binding DriveManufacturerText}" />
<Button Command="{Binding DriveManufacturerCommand}"
IsVisible="{Binding DriveManufacturerVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Model" /> <TextBox Text="{Binding DriveModelText}" />
<TextBlock Text="{Binding ModelLabel}" /> <TextBox Text="{Binding DriveModelText}" />
<Button Command="{Binding DriveModelCommand}" IsVisible="{Binding DriveModelVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Serial number" /> <TextBox Text="{Binding DriveSerialNumberText}" />
<TextBlock Text="{Binding SerialNumberLabel}" />
<TextBox Text="{Binding DriveSerialNumberText}" />
<Button Command="{Binding DriveSerialNumberCommand}"
IsVisible="{Binding DriveSerialNumberVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Firmware revision" />
<TextBlock Text="{Binding FirmwareRevisionLabel}" />
<TextBox Text="{Binding DriveFirmwareRevisionText}" />
<Button Command="{Binding DriveFirmwareRevisionCommand}"
IsVisible="{Binding DriveFirmwareRevisionVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="Comments" />
<TextBlock Text="{Binding CommentsLabel}" />
</TabItem.Header>
<StackPanel Orientation="Vertical">
<TextBox Text="{Binding CommentsText}" />
<Button Command="{Binding CommentsCommand}" IsVisible="{Binding CommentsVisible}">
<TextBlock Text="Get from source image" />
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
</TabItem>
</TabControl>
<TextBlock Text="Existing CICM XML sidecar" />
<TextBlock Text="{Binding CicmXmlLabel}" />
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding CicmXmlText}" IsReadOnly="True" />
<Button Command="{Binding CicmXmlFromImageCommand}" IsVisible="{Binding CicmXmlFromImageVisible}">
<TextBlock Text="From image..." />
<TextBlock Text="{Binding FromImageLabel}" />
</Button>
<Button Command="{Binding CicmXmlCommand}">
<TextBlock Text="Choose..." />
<TextBlock Text="{Binding ChooseLabel}" />
</Button>
</StackPanel>
<TextBlock Text="Existing resume file" />
<TextBlock Text="{Binding ResumeFileLabel}" />
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding ResumeFileText}" IsReadOnly="True" />
<Button Command="{Binding ResumeFileFromImageCommand}"
IsVisible="{Binding ResumeFileFromImageVisible}">
<TextBlock Text="From image..." />
<TextBlock Text="{Binding FromImageLabel}" />
</Button>
<Button Command="{Binding ResumeFileCommand}">
<TextBlock Text="Choose..." />
<TextBlock Text="{Binding ChooseLabel}" />
</Button>
</StackPanel>
</StackPanel>
@@ -222,13 +228,13 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<TextBlock Text="Start" />
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<TextBlock Text="Close" />
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}" IsEnabled="{Binding StopEnabled}">
<TextBlock Text="Stop" />
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -43,26 +43,26 @@
<StackPanel Orientation="Vertical">
<StackPanel IsVisible="{Binding OptionsVisible}" Orientation="Vertical">
<CheckBox IsEnabled="{Binding DuplicatedSectorsEnabled}" IsChecked="{Binding DuplicatedSectorsChecked}">
<TextBlock Text="Calculates how many sectors are duplicated (have same exact data in user area)." />
<TextBlock Text="{Binding DuplicatedSectorsLabel}" />
</CheckBox>
<CheckBox IsEnabled="{Binding SeparatedTracksEnabled}" IsChecked="{Binding SeparatedTracksChecked}"
IsVisible="{Binding SeparatedTracksVisible}">
<TextBlock Text="Calculates entropy for each track separately." />
<TextBlock Text="{Binding SeparatedTracksLabel}" />
</CheckBox>
<CheckBox IsEnabled="{Binding WholeDiscEnabled}" IsChecked="{Binding WholeDiscChecked}"
IsVisible="{Binding WholeDiscVisible}">
<TextBlock Text="Calculates entropy for the whole disc." />
<TextBlock Text="{Binding WholeDiscLabel}" />
</CheckBox>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ResultsVisible}">
<TextBlock Text="{Binding MediaEntropyText}" IsVisible="{Binding MediaEntropyVisible}" />
<TextBlock Text="{Binding MediaUniqueSectorsText}" IsVisible="{Binding MediaUniqueSectorsVisible}" />
<TextBlock Text="Track entropy" IsVisible="{Binding SeparatedTracksEnabled}" />
<TextBlock Text="{Binding TrackEntropyLabel}" IsVisible="{Binding SeparatedTracksEnabled}" />
<DataGrid IsVisible="{Binding SeparatedTracksEnabled}" Items="{Binding TrackEntropy}">
<DataGrid.Columns>
<DataGridTextColumn Header="Track" Binding="{Binding Track}" />
<DataGridTextColumn Header="Entropy" Binding="{Binding Entropy}" />
<DataGridTextColumn Header="Unique sectors" Binding="{Binding UniqueSectors}" />
<DataGridTextColumn Header="{Binding TrackLabel}" Binding="{Binding Track}" />
<DataGridTextColumn Header="{Binding EntropyLabel}" Binding="{Binding Entropy}" />
<DataGridTextColumn Header="{Binding UniqueSectorsLabel}" Binding="{Binding UniqueSectors}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
@@ -79,13 +79,13 @@
</StackPanel>
</StackPanel>
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<TextBlock Text="Start" />
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<TextBlock Text="Close" />
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}">
<TextBlock Text="Stop" />
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>
</Window>

View File

@@ -41,11 +41,11 @@
<windows:ImageSidecarViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<TextBlock Text="Destination file" />
<TextBlock Text="{Binding DestinationFileLabel}" />
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding DestinationText}" IsReadOnly="True" />
<Button Command="{Binding DestinationCommand}" IsEnabled="{Binding DestinationEnabled}">
<TextBlock Text="Choose..." />
<TextBlock Text="{Binding ChooseLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
@@ -63,13 +63,13 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<TextBlock Text="Start" />
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<TextBlock Text="Close" />
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsEnabled="{Binding StopEnabled}" IsVisible="{Binding StopVisible}">
<TextBlock Text="Stop" />
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -43,11 +43,11 @@
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical" IsVisible="{Binding OptionsVisible}">
<CheckBox IsChecked="{Binding VerifyImageChecked}" IsEnabled="{Binding VerifyImageEnabled}">
<TextBlock Text="Verify disc image if supported." />
<TextBlock Text="{Binding VerifyImageLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding VerifySectorsChecked}" IsEnabled="{Binding VerifySectorsEnabled}"
IsVisible="{Binding VerifySectorsVisible}">
<TextBlock Text="Verify all sectors if supported." />
<TextBlock Text="{Binding VerifySectorsLabel}" />
</CheckBox>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ResultsVisible}">
@@ -56,7 +56,7 @@
<TextBlock Text="{Binding SectorErrorsText}" />
<DataGrid Items="{Binding ErrorList}">
<DataGrid.Columns>
<DataGridTextColumn Header="LBA" Binding="{Binding Lba}" />
<DataGridTextColumn Header="{Binding LBALabel}" Binding="{Binding Lba}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
@@ -64,7 +64,7 @@
<TextBlock Text="{Binding SectorsUnknownsText}" />
<DataGrid Items="{Binding UnknownList}">
<DataGrid.Columns>
<DataGridTextColumn Header="LBA" Binding="{Binding Lba}" />
<DataGridTextColumn Header="{Binding LBALabel}" Binding="{Binding Lba}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
@@ -92,13 +92,13 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<TextBlock Text="Start" />
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<TextBlock Text="Close" />
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}" IsEnabled="{Binding StopEnabled}">
<TextBlock Text="Stop" />
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -42,25 +42,26 @@
</Design.DataContext>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
<MenuItem Header="_Open" Command="{Binding OpenCommand}" /> <Separator />
<MenuItem Header="_Settings" IsVisible="{Binding !NativeMenuSupported}"
<MenuItem Header="{Binding FileLabel}">
<MenuItem Header="{Binding OpenLabel}" Command="{Binding OpenCommand}" /> <Separator />
<MenuItem Header="{Binding SettingsLabel}" IsVisible="{Binding !NativeMenuSupported}"
Command="{Binding SettingsCommand}" />
<Separator />
<MenuItem Header="E_xit" IsVisible="{Binding !NativeMenuSupported}" Command="{Binding ExitCommand}" />
<MenuItem Header="{Binding ExitLabel}" IsVisible="{Binding !NativeMenuSupported}"
Command="{Binding ExitCommand}" />
</MenuItem>
<MenuItem Header="_Devices" IsVisible="{Binding DevicesSupported}">
<MenuItem Header="_Refresh" Command="{Binding RefreshDevicesCommand}" />
<MenuItem Header="{Binding DevicesLabel}" IsVisible="{Binding DevicesSupported}">
<MenuItem Header="{Binding RefreshDevicesLabel}" Command="{Binding RefreshDevicesCommand}" />
</MenuItem>
<MenuItem Header="_Window">
<MenuItem Header="_Console" Command="{Binding ConsoleCommand}" />
<MenuItem Header="{Binding WindowLabel}">
<MenuItem Header="{Binding ConsoleLabel}" Command="{Binding ConsoleCommand}" />
</MenuItem>
<MenuItem Header="_Help">
<MenuItem Header="_Encodings" Command="{Binding EncodingsCommand}" />
<MenuItem Header="_Plugins" Command="{Binding PluginsCommand}" />
<MenuItem Header="_Statistics" Command="{Binding StatisticsCommand}" />
<MenuItem Header="{Binding HelpLabel}">
<MenuItem Header="{Binding EncodingsLabel}" Command="{Binding EncodingsCommand}" />
<MenuItem Header="{Binding PluginsLabel}" Command="{Binding PluginsCommand}" />
<MenuItem Header="{Binding StatisticsLabel}" Command="{Binding StatisticsCommand}" />
<Separator IsVisible="{Binding !NativeMenuSupported}" />
<MenuItem Header="_About" Name="AboutMenuItem" IsVisible="{Binding !NativeMenuSupported}"
<MenuItem Header="{Binding AboutLabel}" Name="AboutMenuItem" IsVisible="{Binding !NativeMenuSupported}"
Command="{Binding AboutCommand}" />
</MenuItem>
</Menu>
@@ -74,7 +75,8 @@
<StackPanel Orientation="Horizontal">
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="_Refresh devices" Command="{Binding RefreshDevicesCommand}" />
<MenuItem Header="{Binding RefreshDevicesFullLabel}"
Command="{Binding RefreshDevicesCommand}" />
</ContextMenu>
</StackPanel.ContextMenu>
<Image Width="24" Height="24" Source="/Assets/Icons/oxygen/32x32/computer.png" />
@@ -85,7 +87,7 @@
<StackPanel Orientation="Horizontal">
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="_Close all images" Command="{Binding CloseAllImages}" />
<MenuItem Header="{Binding CloseAllImagesLabel}" Command="{Binding CloseAllImages}" />
</ContextMenu>
</StackPanel.ContextMenu>
<Image Width="24" Height="24" Source="/Assets/Icons/oxygen/32x32/inode-directory.png" />
@@ -97,15 +99,20 @@
<StackPanel Orientation="Horizontal">
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Command="{Binding CalculateEntropyCommand}" Header="Calculate entropy" />
<MenuItem Command="{Binding VerifyImageCommand}" Header="Verify" />
<MenuItem Command="{Binding ChecksumImageCommand}" Header="Checksum" />
<MenuItem Command="{Binding ConvertImageCommand}" Header="Convert to..." />
<MenuItem Command="{Binding CalculateEntropyCommand}"
Header="{Binding CalculateEntropyLabel}" />
<MenuItem Command="{Binding VerifyImageCommand}"
Header="{Binding VerifyImageLabel}" />
<MenuItem Command="{Binding ChecksumImageCommand}"
Header="{Binding ChecksumImageLabel}" />
<MenuItem Command="{Binding ConvertImageCommand}"
Header="{Binding ConvertImageLabel}" />
<MenuItem Command="{Binding CreateSidecarCommand}"
Header="Create CICM XML sidecar..." />
<MenuItem Command="{Binding ViewImageSectorsCommand}" Header="View sectors" />
Header="{Binding CreateSidecarLabel}" />
<MenuItem Command="{Binding ViewImageSectorsCommand}"
Header="{Binding ViewImageSectorsLabel}" />
<MenuItem Command="{Binding DecodeImageMediaTagsCommand}"
Header="Decode media tags" />
Header="{Binding DecodeImageMediaTagsLabel}" />
</ContextMenu>
</StackPanel.ContextMenu>
<Image Width="24" Height="24" Source="{Binding Icon}" />

View File

@@ -42,7 +42,7 @@
</Design.DataContext>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical" IsVisible="{Binding OptionsVisible}">
<TextBlock Text="Output format" />
<TextBlock Text="{Binding OutputFormatLabel}" />
<ComboBox Items="{Binding PluginsList}" SelectedItem="{Binding SelectedPlugin}"
IsEnabled="{Binding FormatReadOnly}">
<ComboBox.ItemTemplate>
@@ -54,37 +54,37 @@
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding Destination}" IsReadOnly="True" />
<Button Command="{Binding DestinationCommand}" IsEnabled="{Binding DestinationEnabled}">
<TextBlock Text="Choose..." />
<TextBlock Text="{Binding ChooseLabel}" />
</Button>
</StackPanel>
<CheckBox IsChecked="{Binding StopOnError}">
<TextBlock Text="Stop media dump on first error" />
<TextBlock Text="{Binding StopOnErrorLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding Force}">
<TextBlock Text="Continue dumping whatever happens" />
<TextBlock Text="{Binding ForceLabel}" />
</CheckBox>
<NumericUpDown Text="Retry passes" Value="{Binding Retries}" Increment="1" Minimum="0" />
<NumericUpDown Text="{Binding RetriesLabel}" Value="{Binding Retries}" Increment="1" Minimum="0" />
<CheckBox IsChecked="{Binding Persistent}">
<TextBlock Text="Try to recover partial or incorrect data" />
<TextBlock Text="{Binding PersistentLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding Resume}">
<TextBlock Text="Create/use resume mapfile" />
<TextBlock Text="{Binding ResumeLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding Track1Pregap}" IsVisible="{Binding Track1PregapVisible}">
<TextBlock Text="Try to read track 1 pregap" />
<TextBlock Text="{Binding Track1PregapLabel}" />
</CheckBox>
<NumericUpDown Text="Skipped sectors on error" Increment="1" Minimum="1" Value="{Binding Skipped}" />
<NumericUpDown Text="{Binding SkippedLabel}" Increment="1" Minimum="1" Value="{Binding Skipped}" />
<CheckBox IsChecked="{Binding Sidecar}">
<TextBlock Text="Create CICM XML metadata sidecar" />
<TextBlock Text="{Binding SidecarLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding Trim}">
<TextBlock Text="Trim errors from skipped sectors" />
<TextBlock Text="{Binding TrimLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding ExistingMetadata}">
<TextBlock Text="Take metadata from existing CICM XML sidecar" />
<TextBlock Text="{Binding ExistingMetadataLabel}" />
</CheckBox>
<StackPanel IsVisible="{Binding EncodingVisible}">
<TextBox Text="Encoding to use on metadata sidecar creation" />
<TextBox Text="{Binding EncodingLabel}" />
<ComboBox Items="{Binding Encodings}" SelectedItem="{Binding SelectedEncoding}"
IsEnabled="{Binding EncodingEnabled}">
<ComboBox.ItemTemplate>
@@ -98,9 +98,9 @@
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Writing image to:" /> <TextBlock Text="{Binding Destination}" />
<TextBlock Text="{Binding DestinationLabel}" /> <TextBlock Text="{Binding Destination}" />
</StackPanel>
<TextBlock Text="Log" /> <TextBox Text="{Binding Log}" IsReadOnly="True" />
<TextBlock Text="{Binding LogLabel}" /> <TextBox Text="{Binding Log}" IsReadOnly="True" />
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress1Visible}">
<TextBox Text="{Binding ProgressText}" />
<ProgressBar Value="{Binding ProgressValue}" Maximum="{Binding ProgressMaxValue}"
@@ -114,13 +114,13 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<TextBlock Text="Start" />
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<TextBlock Text="Close" />
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}" IsEnabled="{Binding StopEnabled}">
<TextBlock Text="Stop" />
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -74,10 +74,10 @@
</avalonia:Plot.Series>
<avalonia:Plot.Axes>
<avalonia:LinearAxis Position="Left" Maximum="{Binding MaxY}" Minimum="{Binding MinY}"
MajorStep="{Binding StepsY}" Title="Speed" Unit="Kb/s"
AxislineColor="{Binding AxesColor}" />
MajorStep="{Binding StepsY}" Title="{Binding SpeedLabel}"
Unit="{Binding KbsLabel}" AxislineColor="{Binding AxesColor}" />
<avalonia:LinearAxis Position="Bottom" Maximum="{Binding MaxX}" Minimum="{Binding MinX}"
MajorStep="{Binding StepsX}" Title="Block"
MajorStep="{Binding StepsX}" Title="{Binding BlockLabel}"
AxislineColor="{Binding AxesColor}" />
</avalonia:Plot.Axes>
</avalonia:Plot>
@@ -92,13 +92,13 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<TextBlock Text="Start" />
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<TextBlock Text="Close" />
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}" IsEnabled="{Binding StopEnabled}">
<TextBlock Text="Stop" />
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>
</StackPanel>

View File

@@ -42,11 +42,11 @@
</Design.DataContext>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Sector" /> <NumericUpDown Value="{Binding SectorNumber}" />
<TextBlock Text="{Binding SectorLabel}" /> <NumericUpDown Value="{Binding SectorNumber}" />
<TextBlock Text="{Binding TotalSectorsText}" />
</StackPanel>
<CheckBox IsChecked="{Binding LongSectorChecked}" IsVisible="{Binding LongSectorVisible}">
<TextBlock Text="Show long sector" />
<TextBlock Text="{Binding LongSectorLabel}" />
</CheckBox>
<TextBox IsReadOnly="True" Text="{Binding PrintHexText}" />
</StackPanel>