From 9abb0368ee50efb2acc5234bf5f12172e3496ed9 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Mon, 25 Sep 2023 22:58:48 +0100 Subject: [PATCH] Update Avalonia to 11.0.4. --- Aaru.Gui/Aaru.Gui.csproj | 14 ++++++---- Aaru.Gui/App.xaml | 12 ++++----- Aaru.Gui/Controls/BlockMap.cs | 4 ++- Aaru.Gui/Main.cs | 2 +- Aaru.Gui/ViewLocator.cs | 5 ++-- .../ViewModels/Panels/ImageInfoViewModel.cs | 11 ++++---- .../ViewModels/Panels/MediaInfoViewModel.cs | 3 +-- .../Windows/ImageConvertViewModel.cs | 6 ++--- .../ViewModels/Windows/MainWindowViewModel.cs | 27 ++++++++----------- .../ViewModels/Windows/MediaScanViewModel.cs | 12 +++++---- Aaru.Gui/Views/Dialogs/About.xaml | 2 +- Aaru.Gui/Views/Dialogs/Console.xaml | 2 +- Aaru.Gui/Views/Dialogs/Console.xaml.cs | 2 +- Aaru.Gui/Views/Dialogs/Encodings.xaml | 2 +- Aaru.Gui/Views/Dialogs/PluginsDialog.xaml | 16 +++++------ Aaru.Gui/Views/Dialogs/StatisticsDialog.xaml | 12 ++++----- Aaru.Gui/Views/Panels/ImageInfo.xaml | 10 +++---- Aaru.Gui/Views/Panels/Subdirectory.xaml | 2 +- Aaru.Gui/Views/Tabs/CompactDiscInfo.xaml | 2 +- Aaru.Gui/Views/Tabs/PcmciaInfo.xaml | 2 +- Aaru.Gui/Views/Tabs/ScsiInfo.xaml | 6 ++--- Aaru.Gui/Views/Windows/DecodeMediaTags.xaml | 2 +- Aaru.Gui/Views/Windows/ImageChecksum.xaml | 4 +-- Aaru.Gui/Views/Windows/ImageChecksum.xaml.cs | 2 +- Aaru.Gui/Views/Windows/ImageConvert.xaml | 2 +- Aaru.Gui/Views/Windows/ImageConvert.xaml.cs | 2 +- Aaru.Gui/Views/Windows/ImageEntropy.xaml | 2 +- Aaru.Gui/Views/Windows/ImageEntropy.xaml.cs | 2 +- Aaru.Gui/Views/Windows/ImageVerify.xaml | 4 +-- Aaru.Gui/Views/Windows/ImageVerify.xaml.cs | 2 +- Aaru.Gui/Views/Windows/MainWindow.xaml | 2 +- Aaru.Gui/Views/Windows/MediaDump.xaml | 4 +-- Aaru.Gui/Views/Windows/MediaDump.xaml.cs | 2 +- Aaru.Gui/Views/Windows/MediaScan.xaml | 9 ++++--- Aaru.Gui/Views/Windows/MediaScan.xaml.cs | 2 +- Aaru.Gui/Views/Windows/SplashWindow.xaml | 2 +- 36 files changed, 100 insertions(+), 97 deletions(-) diff --git a/Aaru.Gui/Aaru.Gui.csproj b/Aaru.Gui/Aaru.Gui.csproj index 902cdd4d8..a2dab3482 100644 --- a/Aaru.Gui/Aaru.Gui.csproj +++ b/Aaru.Gui/Aaru.Gui.csproj @@ -30,19 +30,23 @@ true - - + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + diff --git a/Aaru.Gui/App.xaml b/Aaru.Gui/App.xaml index 0c1cdcc4e..02f5aa9c0 100644 --- a/Aaru.Gui/App.xaml +++ b/Aaru.Gui/App.xaml @@ -37,16 +37,16 @@ - - - + + - - - + + + \ No newline at end of file diff --git a/Aaru.Gui/Controls/BlockMap.cs b/Aaru.Gui/Controls/BlockMap.cs index 340c81b91..e3b34b2ca 100644 --- a/Aaru.Gui/Controls/BlockMap.cs +++ b/Aaru.Gui/Controls/BlockMap.cs @@ -30,6 +30,7 @@ // Copyright © 2011-2023 Natalia Portillo // ****************************************************************************/ +/* TODO: Doesn't compile with Avalonia 11.0, but it didn't work previously so pending rewriting using System; using System.Collections.Generic; using System.Collections.Specialized; @@ -485,4 +486,5 @@ public sealed class BlockMap : ItemsControl _bitmap = null; base.OnDetachedFromLogicalTree(e); } -} \ No newline at end of file +} +*/ \ No newline at end of file diff --git a/Aaru.Gui/Main.cs b/Aaru.Gui/Main.cs index b0a41caeb..6f9ede373 100644 --- a/Aaru.Gui/Main.cs +++ b/Aaru.Gui/Main.cs @@ -43,6 +43,6 @@ public static class Main } // Avalonia configuration, don't remove; also used by visual designer. - public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure().UsePlatformDetect().LogToDebug(). + public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure().UsePlatformDetect(). UseReactiveUI().UseManagedSystemDialogs(); } \ No newline at end of file diff --git a/Aaru.Gui/ViewLocator.cs b/Aaru.Gui/ViewLocator.cs index 3518a6cca..7ebfae46e 100644 --- a/Aaru.Gui/ViewLocator.cs +++ b/Aaru.Gui/ViewLocator.cs @@ -34,16 +34,17 @@ using System; using Aaru.Gui.ViewModels; using Avalonia.Controls; using Avalonia.Controls.Templates; +using Avalonia.Markup.Xaml.Templates; using JetBrains.Annotations; namespace Aaru.Gui; -public sealed class ViewLocator : IDataTemplate +public sealed class ViewLocator : DataTemplate { public bool SupportsRecycling => false; [CanBeNull] - public IControl Build([NotNull] object data) + public Control Build([NotNull] object data) { string name = data.GetType().FullName?.Replace("ViewModel", "View"); diff --git a/Aaru.Gui/ViewModels/Panels/ImageInfoViewModel.cs b/Aaru.Gui/ViewModels/Panels/ImageInfoViewModel.cs index 7600c1a72..8aa6576df 100644 --- a/Aaru.Gui/ViewModels/Panels/ImageInfoViewModel.cs +++ b/Aaru.Gui/ViewModels/Panels/ImageInfoViewModel.cs @@ -80,7 +80,6 @@ public sealed class ImageInfoViewModel : ViewModelBase _imagePath = imagePath; _filter = filter; _imageFormat = imageFormat; - IAssetLoader assets = AvaloniaLocator.Current.GetService(); MediaTagsList = new ObservableCollection(); SectorTagsList = new ObservableCollection(); Sessions = new ObservableCollection(); @@ -95,18 +94,18 @@ public sealed class ImageInfoViewModel : ViewModelBase DecodeMediaTagCommand = ReactiveCommand.Create(ExecuteDecodeMediaTagCommand); var genericHddIcon = - new Bitmap(assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-harddisk.png"))); + new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-harddisk.png"))); var genericOpticalIcon = - new Bitmap(assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-optical.png"))); + new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-optical.png"))); var genericFolderIcon = - new Bitmap(assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/inode-directory.png"))); + new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/inode-directory.png"))); var mediaResource = new Uri($"avares://Aaru.Gui/Assets/Logos/Media/{imageFormat.Info.MediaType}.png"); - MediaLogo = assets.Exists(mediaResource) - ? new Bitmap(assets.Open(mediaResource)) + MediaLogo = AssetLoader.Exists(mediaResource) + ? new Bitmap(AssetLoader.Open(mediaResource)) : imageFormat.Info.MetadataMediaType == MetadataMediaType.BlockMedia ? genericHddIcon : imageFormat.Info.MetadataMediaType == MetadataMediaType.OpticalDisc diff --git a/Aaru.Gui/ViewModels/Panels/MediaInfoViewModel.cs b/Aaru.Gui/ViewModels/Panels/MediaInfoViewModel.cs index 4d8537b13..e28d390a6 100644 --- a/Aaru.Gui/ViewModels/Panels/MediaInfoViewModel.cs +++ b/Aaru.Gui/ViewModels/Panels/MediaInfoViewModel.cs @@ -93,13 +93,12 @@ public sealed class MediaInfoViewModel : ViewModelBase SaveMediumSupportCommand = ReactiveCommand.Create(ExecuteSaveMediumSupportCommand); DumpCommand = ReactiveCommand.Create(ExecuteDumpCommand); ScanCommand = ReactiveCommand.Create(ExecuteScanCommand); - IAssetLoader assets = AvaloniaLocator.Current.GetService(); _devicePath = devicePath; _scsiInfo = scsiInfo; var mediaResource = new Uri($"avares://Aaru.Gui/Assets/Logos/Media/{scsiInfo.MediaType}.png"); - MediaLogo = assets?.Exists(mediaResource) == true ? new Bitmap(assets.Open(mediaResource)) : null; + MediaLogo = AssetLoader.Exists(mediaResource) ? new Bitmap(AssetLoader.Open(mediaResource)) : null; MediaType = scsiInfo.MediaType.ToString(); diff --git a/Aaru.Gui/ViewModels/Windows/ImageConvertViewModel.cs b/Aaru.Gui/ViewModels/Windows/ImageConvertViewModel.cs index 0ac14756a..4ad29007a 100644 --- a/Aaru.Gui/ViewModels/Windows/ImageConvertViewModel.cs +++ b/Aaru.Gui/ViewModels/Windows/ImageConvertViewModel.cs @@ -1754,7 +1754,7 @@ public sealed class ImageConvertViewModel : ViewModelBase if(_cancel) { - await Dispatcher.UIThread.InvokeAsync(action: async () => + await Dispatcher.UIThread.InvokeAsync(async () => { await MessageBoxManager. GetMessageBoxStandardWindow(UI.Title_Error, UI.Operation_canceled_the_output_file_is_not_correct, @@ -1770,7 +1770,7 @@ public sealed class ImageConvertViewModel : ViewModelBase if(!outputFormat.Close()) { - await Dispatcher.UIThread.InvokeAsync(action: async () => await MessageBoxManager. + await Dispatcher.UIThread.InvokeAsync(async () => await MessageBoxManager. GetMessageBoxStandardWindow(UI.Title_Error, string. Format(UI.Error_0_closing_output_image_Contents_are_not_correct, @@ -1782,7 +1782,7 @@ public sealed class ImageConvertViewModel : ViewModelBase return; } - await Dispatcher.UIThread.InvokeAsync(action: async () => + await Dispatcher.UIThread.InvokeAsync(async () => { await MessageBoxManager. GetMessageBoxStandardWindow(warning ? UI.Title_Warning : UI.Title_Conversion_success, diff --git a/Aaru.Gui/ViewModels/Windows/MainWindowViewModel.cs b/Aaru.Gui/ViewModels/Windows/MainWindowViewModel.cs index 43d044ebc..e90947e62 100644 --- a/Aaru.Gui/ViewModels/Windows/MainWindowViewModel.cs +++ b/Aaru.Gui/ViewModels/Windows/MainWindowViewModel.cs @@ -72,7 +72,6 @@ namespace Aaru.Gui.ViewModels.Windows; public sealed class MainWindowViewModel : ViewModelBase { - readonly IAssetLoader _assets; readonly DevicesRootModel _devicesRoot; readonly Bitmap _ejectIcon; readonly Bitmap _genericFolderIcon; @@ -109,7 +108,6 @@ public sealed class MainWindowViewModel : ViewModelBase RefreshDevicesCommand = ReactiveCommand.Create(ExecuteRefreshDevicesCommand); _view = view; TreeRoot = new ObservableCollection(); - _assets = AvaloniaLocator.Current.GetService(); ContentPanel = Greeting; _imagesRoot = new ImagesRootModel @@ -135,32 +133,29 @@ public sealed class MainWindowViewModel : ViewModelBase break; } - if(_assets == null) - return; - _genericHddIcon = - new Bitmap(_assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-harddisk.png"))); + new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-harddisk.png"))); _genericOpticalIcon = - new Bitmap(_assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-optical.png"))); + new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-optical.png"))); _genericTapeIcon = - new Bitmap(_assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/media-tape.png"))); + new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/media-tape.png"))); _genericFolderIcon = - new Bitmap(_assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/inode-directory.png"))); + new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/inode-directory.png"))); _usbIcon = new - Bitmap(_assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-removable-media-usb.png"))); + Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-removable-media-usb.png"))); _removableIcon = - new Bitmap(_assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-removable-media.png"))); + new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/drive-removable-media.png"))); _sdIcon = - new Bitmap(_assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/media-flash-sd-mmc.png"))); + new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/media-flash-sd-mmc.png"))); - _ejectIcon = new Bitmap(_assets.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/media-eject.png"))); + _ejectIcon = new Bitmap(AssetLoader.Open(new Uri("avares://Aaru.Gui/Assets/Icons/oxygen/32x32/media-eject.png"))); } public string FileLabel => UI.Menu_File; @@ -321,7 +316,7 @@ public sealed class MainWindowViewModel : ViewModelBase deviceModel.Media.Add(new MediaModel { DevicePath = deviceModel.Path, - Icon = _assets.Exists(mediaResource) ? new Bitmap(_assets.Open(mediaResource)) + Icon = AssetLoader.Exists(mediaResource) ? new Bitmap(AssetLoader.Open(mediaResource)) : null, Name = $"{scsiInfo.MediaType}", ViewModel = new MediaInfoViewModel(scsiInfo, deviceModel.Path, _view) @@ -575,8 +570,8 @@ public sealed class MainWindowViewModel : ViewModelBase var imageModel = new ImageModel { Path = result[0], - Icon = _assets.Exists(mediaResource) - ? new Bitmap(_assets.Open(mediaResource)) + Icon = AssetLoader.Exists(mediaResource) + ? new Bitmap(AssetLoader.Open(mediaResource)) : imageFormat.Info.MetadataMediaType == MetadataMediaType.BlockMedia ? _genericHddIcon : imageFormat.Info.MetadataMediaType == MetadataMediaType.OpticalDisc diff --git a/Aaru.Gui/ViewModels/Windows/MediaScanViewModel.cs b/Aaru.Gui/ViewModels/Windows/MediaScanViewModel.cs index a153117fb..cc4f59650 100644 --- a/Aaru.Gui/ViewModels/Windows/MediaScanViewModel.cs +++ b/Aaru.Gui/ViewModels/Windows/MediaScanViewModel.cs @@ -45,7 +45,7 @@ using Avalonia.Media; using Avalonia.Threading; using MessageBox.Avalonia; using MessageBox.Avalonia.Enums; -using OxyPlot; +//using OxyPlot; using ReactiveUI; namespace Aaru.Gui.ViewModels.Windows; @@ -105,7 +105,7 @@ public sealed class MediaScanViewModel : ViewModelBase StartVisible = true; CloseVisible = true; BlockMapList = new ObservableCollection<(ulong block, double duration)>(); - ChartPoints = new ObservableCollection(); +// ChartPoints = new ObservableCollection(); StepsX = double.NaN; StepsY = double.NaN; AxesColor = Colors.Black; @@ -132,7 +132,7 @@ public sealed class MediaScanViewModel : ViewModelBase } public ObservableCollection<(ulong block, double duration)> BlockMapList { get; } - public ObservableCollection ChartPoints { get; } +// public ObservableCollection ChartPoints { get; } public ulong Blocks { @@ -325,7 +325,7 @@ public sealed class MediaScanViewModel : ViewModelBase CloseVisible = false; ProgressVisible = true; ResultsVisible = true; - ChartPoints.Clear(); +// ChartPoints.Clear(); new Thread(DoWork).Start(); } @@ -437,10 +437,12 @@ public sealed class MediaScanViewModel : ViewModelBase [SuppressMessage("ReSharper", "AsyncVoidMethod")] async void ScanSpeed(ulong sector, double currentSpeed) => await Dispatcher.UIThread.InvokeAsync(() => { + /* TODO: Abandoned project need to find replacement if(ChartPoints.Count == 0) ChartPoints.Add(new DataPoint(0, currentSpeed)); ChartPoints.Add(new DataPoint(sector, currentSpeed)); + */ if(currentSpeed > MaxY) MaxY = currentSpeed + (currentSpeed / 10d); @@ -589,7 +591,7 @@ public sealed class MediaScanViewModel : ViewModelBase [SuppressMessage("ReSharper", "AsyncVoidMethod")] // ReSharper disable once AsyncVoidLambda - async void StoppingErrorMessage(string text) => await Dispatcher.UIThread.InvokeAsync(action: async () => + async void StoppingErrorMessage(string text) => await Dispatcher.UIThread.InvokeAsync(async () => { ProgressText = text; diff --git a/Aaru.Gui/Views/Dialogs/About.xaml b/Aaru.Gui/Views/Dialogs/About.xaml index 074ceb83a..824d41a87 100644 --- a/Aaru.Gui/Views/Dialogs/About.xaml +++ b/Aaru.Gui/Views/Dialogs/About.xaml @@ -92,7 +92,7 @@ - + diff --git a/Aaru.Gui/Views/Dialogs/Console.xaml b/Aaru.Gui/Views/Dialogs/Console.xaml index 446607ed2..f809db605 100644 --- a/Aaru.Gui/Views/Dialogs/Console.xaml +++ b/Aaru.Gui/Views/Dialogs/Console.xaml @@ -45,7 +45,7 @@ - + diff --git a/Aaru.Gui/Views/Dialogs/Console.xaml.cs b/Aaru.Gui/Views/Dialogs/Console.xaml.cs index 205140b8d..551b1803a 100644 --- a/Aaru.Gui/Views/Dialogs/Console.xaml.cs +++ b/Aaru.Gui/Views/Dialogs/Console.xaml.cs @@ -50,7 +50,7 @@ public sealed class Console : Window void InitializeComponent() => AvaloniaXamlLoader.Load(this); - protected override void OnClosing([NotNull] CancelEventArgs e) + protected override void OnClosing(WindowClosingEventArgs e) { e.Cancel = true; Hide(); diff --git a/Aaru.Gui/Views/Dialogs/Encodings.xaml b/Aaru.Gui/Views/Dialogs/Encodings.xaml index 81e71632e..a86ea2e11 100644 --- a/Aaru.Gui/Views/Dialogs/Encodings.xaml +++ b/Aaru.Gui/Views/Dialogs/Encodings.xaml @@ -45,7 +45,7 @@ - + diff --git a/Aaru.Gui/Views/Dialogs/PluginsDialog.xaml b/Aaru.Gui/Views/Dialogs/PluginsDialog.xaml index 1640740bb..f1de17f7e 100644 --- a/Aaru.Gui/Views/Dialogs/PluginsDialog.xaml +++ b/Aaru.Gui/Views/Dialogs/PluginsDialog.xaml @@ -49,7 +49,7 @@ - + @@ -66,7 +66,7 @@ - + @@ -89,7 +89,7 @@ - + @@ -102,7 +102,7 @@ - - + @@ -140,7 +140,7 @@ - + @@ -164,7 +164,7 @@ - + @@ -177,7 +177,7 @@ - - + - + - + - + - + - + - - - + @@ -122,7 +122,7 @@ - + @@ -141,7 +141,7 @@ - - +