[GUI] Enable opening media dump window from device view.

This commit is contained in:
2025-11-20 14:15:46 +00:00
parent 6bee3261d0
commit c033ac108d

View File

@@ -84,6 +84,7 @@ public partial class DeviceViewModel : ViewModelBase
string _devicePath; string _devicePath;
[ObservableProperty] [ObservableProperty]
string _deviceType; string _deviceType;
DeviceInfo _devInfo;
[ObservableProperty] [ObservableProperty]
DvdInfo _dvdInfo; DvdInfo _dvdInfo;
[ObservableProperty] [ObservableProperty]
@@ -429,6 +430,8 @@ public partial class DeviceViewModel : ViewModelBase
var devInfo = new DeviceInfo(dev); var devInfo = new DeviceInfo(dev);
Statistics.AddCommand("device-info"); Statistics.AddCommand("device-info");
_devInfo = devInfo;
Dispatcher.UIThread.Invoke(() => StatusMessage = UI.Device_information_queryied_successfully); Dispatcher.UIThread.Invoke(() => StatusMessage = UI.Device_information_queryied_successfully);
if(devInfo.IsUsb) if(devInfo.IsUsb)
@@ -985,38 +988,35 @@ public partial class DeviceViewModel : ViewModelBase
async Task DumpAsync() async Task DumpAsync()
{ {
/* switch(_mediaInfo?.MediaType)
switch(_scsiInfo.MediaType)
{ {
case CommonTypes.MediaType.GDR or CommonTypes.MediaType.GDROM: case CommonTypes.MediaType.GDR or CommonTypes.MediaType.GDROM:
await MessageBoxManager await MessageBoxManager
.GetMessageBoxStandard(Localization.UI.Title_Error, .GetMessageBoxStandard(UI.Title_Error,
Localization.Core.GD_ROM_dump_support_is_not_yet_implemented, Localization.Core.GD_ROM_dump_support_is_not_yet_implemented,
ButtonEnum.Ok, ButtonEnum.Ok,
Icon.Error) Icon.Error)
.ShowWindowDialogAsync(_view); .ShowWindowDialogAsync(_window);
return; return;
case CommonTypes.MediaType.XGD or CommonTypes.MediaType.XGD2 or CommonTypes.MediaType.XGD3 case CommonTypes.MediaType.XGD or CommonTypes.MediaType.XGD2 or CommonTypes.MediaType.XGD3
when _scsiInfo.DeviceInfo.ScsiInquiry?.KreonPresent != true: when _mediaInfo.DeviceInfo.ScsiInquiry?.KreonPresent != true:
await MessageBoxManager await MessageBoxManager
.GetMessageBoxStandard(Localization.UI.Title_Error, .GetMessageBoxStandard(UI.Title_Error,
Localization.Core Localization.Core
.Dumping_Xbox_Game_Discs_requires_a_drive_with_Kreon_firmware, .Dumping_Xbox_Game_Discs_requires_a_drive_with_Kreon_firmware,
ButtonEnum.Ok, ButtonEnum.Ok,
Icon.Error) Icon.Error)
.ShowWindowDialogAsync(_view); .ShowWindowDialogAsync(_window);
return; return;
} }
var mediaDumpWindow = new MediaDump(); var mediaDumpWindow = new MediaDump();
mediaDumpWindow.DataContext = mediaDumpWindow.DataContext = new MediaDumpViewModel(_dev, DevicePath, _devInfo, mediaDumpWindow, _mediaInfo);
new MediaDumpViewModel(_devicePath, _scsiInfo.DeviceInfo, mediaDumpWindow, _scsiInfo);
mediaDumpWindow.Show(); await mediaDumpWindow.ShowDialog(_window);
*/
} }
async Task ScanAsync() async Task ScanAsync()