mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[GUI] In ImageInfo view only show tabs that contain data.
This commit is contained in:
@@ -237,8 +237,9 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(imageFormat.Info.ReadableMediaTags is { Count: > 0 })
|
if(imageFormat.Info.ReadableMediaTags is { Count: > 0 })
|
||||||
foreach(MediaTagType tag in imageFormat.Info.ReadableMediaTags.Order())
|
{
|
||||||
MediaTagsList.Add(tag.Humanize());
|
foreach(MediaTagType tag in imageFormat.Info.ReadableMediaTags.Order()) MediaTagsList.Add(tag.Humanize());
|
||||||
|
}
|
||||||
|
|
||||||
if(imageFormat.Info.ReadableSectorTags is { Count: > 0 })
|
if(imageFormat.Info.ReadableSectorTags is { Count: > 0 })
|
||||||
{
|
{
|
||||||
@@ -280,18 +281,25 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
|||||||
if(errno == ErrorNumber.NoError) scsiMode = Modes.DecodeMode10(scsiModeSense10, scsiDeviceType);
|
if(errno == ErrorNumber.NoError) scsiMode = Modes.DecodeMode10(scsiModeSense10, scsiDeviceType);
|
||||||
}
|
}
|
||||||
|
|
||||||
ScsiInfo = new ScsiInfo
|
if(scsiInquiryData != null ||
|
||||||
|
scsiInquiry != null ||
|
||||||
|
scsiMode != null ||
|
||||||
|
scsiModeSense6 != null ||
|
||||||
|
scsiModeSense10 != null)
|
||||||
{
|
{
|
||||||
DataContext = new ScsiInfoViewModel(scsiInquiryData,
|
ScsiInfo = new ScsiInfo
|
||||||
scsiInquiry,
|
{
|
||||||
null,
|
DataContext = new ScsiInfoViewModel(scsiInquiryData,
|
||||||
scsiMode,
|
scsiInquiry,
|
||||||
scsiDeviceType,
|
null,
|
||||||
scsiModeSense6,
|
scsiMode,
|
||||||
scsiModeSense10,
|
scsiDeviceType,
|
||||||
null,
|
scsiModeSense6,
|
||||||
view)
|
scsiModeSense10,
|
||||||
};
|
null,
|
||||||
|
view)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
byte[] ataIdentify = null;
|
byte[] ataIdentify = null;
|
||||||
byte[] atapiIdentify = null;
|
byte[] atapiIdentify = null;
|
||||||
@@ -436,25 +444,28 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
|||||||
if(errno == ErrorNumber.NoError) mediaCatalogueNumber = Encoding.UTF8.GetString(mcn);
|
if(errno == ErrorNumber.NoError) mediaCatalogueNumber = Encoding.UTF8.GetString(mcn);
|
||||||
}
|
}
|
||||||
|
|
||||||
CompactDiscInfo = new CompactDiscInfo
|
if(toc != null || atip != null || fullToc != null || pma != null)
|
||||||
{
|
{
|
||||||
DataContext = new CompactDiscInfoViewModel(toc,
|
CompactDiscInfo = new CompactDiscInfo
|
||||||
atip,
|
{
|
||||||
null,
|
DataContext = new CompactDiscInfoViewModel(toc,
|
||||||
null,
|
atip,
|
||||||
fullToc,
|
null,
|
||||||
pma,
|
null,
|
||||||
cdtext,
|
fullToc,
|
||||||
decodedToc,
|
pma,
|
||||||
decodedAtip,
|
cdtext,
|
||||||
null,
|
decodedToc,
|
||||||
decodedFullToc,
|
decodedAtip,
|
||||||
decodedCdText,
|
null,
|
||||||
null,
|
decodedFullToc,
|
||||||
mediaCatalogueNumber,
|
decodedCdText,
|
||||||
null,
|
null,
|
||||||
view)
|
mediaCatalogueNumber,
|
||||||
};
|
null,
|
||||||
|
view)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
byte[] dvdPfi = null;
|
byte[] dvdPfi = null;
|
||||||
byte[] dvdDmi = null;
|
byte[] dvdDmi = null;
|
||||||
@@ -482,17 +493,20 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
|||||||
if(imageFormat.Info.ReadableMediaTags?.Contains(MediaTagType.DVD_BCA) == true)
|
if(imageFormat.Info.ReadableMediaTags?.Contains(MediaTagType.DVD_BCA) == true)
|
||||||
imageFormat.ReadMediaTag(MediaTagType.DVD_BCA, out dvdBca);
|
imageFormat.ReadMediaTag(MediaTagType.DVD_BCA, out dvdBca);
|
||||||
|
|
||||||
DvdInfo = new DvdInfo
|
if(dvdPfi != null || dvdDmi != null || dvdCmi != null || hddvdCopyrightInformation != null || dvdBca != null)
|
||||||
{
|
{
|
||||||
DataContext = new DvdInfoViewModel(dvdPfi,
|
DvdInfo = new DvdInfo
|
||||||
dvdDmi,
|
{
|
||||||
dvdCmi,
|
DataContext = new DvdInfoViewModel(dvdPfi,
|
||||||
hddvdCopyrightInformation,
|
dvdDmi,
|
||||||
dvdBca,
|
dvdCmi,
|
||||||
null,
|
hddvdCopyrightInformation,
|
||||||
decodedPfi,
|
dvdBca,
|
||||||
view)
|
null,
|
||||||
};
|
decodedPfi,
|
||||||
|
view)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
byte[] dvdRamDds = null;
|
byte[] dvdRamDds = null;
|
||||||
byte[] dvdRamCartridgeStatus = null;
|
byte[] dvdRamCartridgeStatus = null;
|
||||||
@@ -551,26 +565,42 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
|||||||
if(imageFormat.Info.ReadableMediaTags?.Contains(MediaTagType.DCB) == true)
|
if(imageFormat.Info.ReadableMediaTags?.Contains(MediaTagType.DCB) == true)
|
||||||
imageFormat.ReadMediaTag(MediaTagType.DCB, out dvdPlusDcb);
|
imageFormat.ReadMediaTag(MediaTagType.DCB, out dvdPlusDcb);
|
||||||
|
|
||||||
DvdWritableInfo = new DvdWritableInfo
|
if(dvdRamDds != null ||
|
||||||
|
dvdRamCartridgeStatus != null ||
|
||||||
|
dvdRamSpareArea != null ||
|
||||||
|
lastBorderOutRmd != null ||
|
||||||
|
dvdPreRecordedInfo != null ||
|
||||||
|
dvdrMediaIdentifier != null ||
|
||||||
|
dvdrPhysicalInformation != null ||
|
||||||
|
hddvdrMediumStatus != null ||
|
||||||
|
dvdrLayerCapacity != null ||
|
||||||
|
dvdrDlMiddleZoneStart != null ||
|
||||||
|
dvdrDlJumpIntervalSize != null ||
|
||||||
|
dvdrDlManualLayerJumpStartLba != null ||
|
||||||
|
dvdPlusAdip != null ||
|
||||||
|
dvdPlusDcb != null)
|
||||||
{
|
{
|
||||||
DataContext = new DvdWritableInfoViewModel(dvdRamDds,
|
DvdWritableInfo = new DvdWritableInfo
|
||||||
dvdRamCartridgeStatus,
|
{
|
||||||
dvdRamSpareArea,
|
DataContext = new DvdWritableInfoViewModel(dvdRamDds,
|
||||||
lastBorderOutRmd,
|
dvdRamCartridgeStatus,
|
||||||
dvdPreRecordedInfo,
|
dvdRamSpareArea,
|
||||||
dvdrMediaIdentifier,
|
lastBorderOutRmd,
|
||||||
dvdrPhysicalInformation,
|
dvdPreRecordedInfo,
|
||||||
hddvdrMediumStatus,
|
dvdrMediaIdentifier,
|
||||||
null,
|
dvdrPhysicalInformation,
|
||||||
dvdrLayerCapacity,
|
hddvdrMediumStatus,
|
||||||
dvdrDlMiddleZoneStart,
|
null,
|
||||||
dvdrDlJumpIntervalSize,
|
dvdrLayerCapacity,
|
||||||
dvdrDlManualLayerJumpStartLba,
|
dvdrDlMiddleZoneStart,
|
||||||
null,
|
dvdrDlJumpIntervalSize,
|
||||||
dvdPlusAdip,
|
dvdrDlManualLayerJumpStartLba,
|
||||||
dvdPlusDcb,
|
null,
|
||||||
view)
|
dvdPlusAdip,
|
||||||
};
|
dvdPlusDcb,
|
||||||
|
view)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
byte[] blurayBurstCuttingArea = null;
|
byte[] blurayBurstCuttingArea = null;
|
||||||
byte[] blurayCartridgeStatus = null;
|
byte[] blurayCartridgeStatus = null;
|
||||||
@@ -601,19 +631,28 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
|||||||
if(imageFormat.Info.ReadableMediaTags?.Contains(MediaTagType.MMC_TrackResourcesInformation) == true)
|
if(imageFormat.Info.ReadableMediaTags?.Contains(MediaTagType.MMC_TrackResourcesInformation) == true)
|
||||||
imageFormat.ReadMediaTag(MediaTagType.MMC_TrackResourcesInformation, out blurayTrackResources);
|
imageFormat.ReadMediaTag(MediaTagType.MMC_TrackResourcesInformation, out blurayTrackResources);
|
||||||
|
|
||||||
BlurayInfo = new BlurayInfo
|
if(blurayDiscInformation != null ||
|
||||||
|
blurayBurstCuttingArea != null ||
|
||||||
|
blurayDds != null ||
|
||||||
|
blurayCartridgeStatus != null ||
|
||||||
|
bluraySpareAreaInformation != null ||
|
||||||
|
blurayPowResources != null ||
|
||||||
|
blurayTrackResources != null)
|
||||||
{
|
{
|
||||||
DataContext = new BlurayInfoViewModel(blurayDiscInformation,
|
BlurayInfo = new BlurayInfo
|
||||||
blurayBurstCuttingArea,
|
{
|
||||||
blurayDds,
|
DataContext = new BlurayInfoViewModel(blurayDiscInformation,
|
||||||
blurayCartridgeStatus,
|
blurayBurstCuttingArea,
|
||||||
bluraySpareAreaInformation,
|
blurayDds,
|
||||||
blurayPowResources,
|
blurayCartridgeStatus,
|
||||||
blurayTrackResources,
|
bluraySpareAreaInformation,
|
||||||
null,
|
blurayPowResources,
|
||||||
null,
|
blurayTrackResources,
|
||||||
view)
|
null,
|
||||||
};
|
null,
|
||||||
|
view)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
byte[] xboxDmi = null;
|
byte[] xboxDmi = null;
|
||||||
byte[] xboxSecuritySector = null;
|
byte[] xboxSecuritySector = null;
|
||||||
@@ -629,10 +668,13 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
|||||||
if(errno == ErrorNumber.NoError) decodedXboxSecuritySector = SS.Decode(xboxSecuritySector);
|
if(errno == ErrorNumber.NoError) decodedXboxSecuritySector = SS.Decode(xboxSecuritySector);
|
||||||
}
|
}
|
||||||
|
|
||||||
XboxInfo = new XboxInfo
|
if(xboxDmi != null || xboxSecuritySector != null)
|
||||||
{
|
{
|
||||||
DataContext = new XboxInfoViewModel(null, xboxDmi, xboxSecuritySector, decodedXboxSecuritySector, view)
|
XboxInfo = new XboxInfo
|
||||||
};
|
{
|
||||||
|
DataContext = new XboxInfoViewModel(null, xboxDmi, xboxSecuritySector, decodedXboxSecuritySector, view)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
errno = ErrorNumber.NoData;
|
errno = ErrorNumber.NoData;
|
||||||
byte[] pcmciaCis = null;
|
byte[] pcmciaCis = null;
|
||||||
@@ -703,19 +745,21 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
|||||||
deviceType = DeviceType.MMC;
|
deviceType = DeviceType.MMC;
|
||||||
}
|
}
|
||||||
|
|
||||||
SdMmcInfo = new SdMmcInfo
|
if(cid != null || csd != null || ocr != null || extendedCsd != null || scr != null)
|
||||||
{
|
{
|
||||||
DataContext = new SdMmcInfoViewModel(deviceType, cid, csd, ocr, extendedCsd, scr)
|
SdMmcInfo = new SdMmcInfo
|
||||||
};
|
{
|
||||||
|
DataContext = new SdMmcInfoViewModel(deviceType, cid, csd, ocr, extendedCsd, scr)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if(imageFormat is IOpticalMediaImage opticalMediaImage)
|
if(imageFormat is IOpticalMediaImage opticalMediaImage)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if(opticalMediaImage.Sessions is { Count: > 0 })
|
if(opticalMediaImage.Sessions is { Count: > 0 })
|
||||||
{
|
foreach(Session session in opticalMediaImage.Sessions)
|
||||||
foreach(Session session in opticalMediaImage.Sessions) Sessions.Add(session);
|
Sessions.Add(session);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch(Exception ex)
|
||||||
{
|
{
|
||||||
@@ -725,9 +769,8 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
if(opticalMediaImage.Tracks is { Count: > 0 })
|
if(opticalMediaImage.Tracks is { Count: > 0 })
|
||||||
{
|
foreach(Track track in opticalMediaImage.Tracks)
|
||||||
foreach(Track track in opticalMediaImage.Tracks) Tracks.Add(track);
|
Tracks.Add(track);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch(Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user