mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Update Avalonia to 11.0.4.
This commit is contained in:
@@ -30,19 +30,23 @@
|
||||
<NrtShowRevision>true</NrtShowRevision>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia.Controls.DataGrid" Version="0.10.18"/>
|
||||
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.18"/>
|
||||
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.0.4"/>
|
||||
<PackageReference Include="Avalonia.Diagnostics" Version="11.0.4"/>
|
||||
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.0.4" />
|
||||
<PackageReference Include="Claunia.Encoding" Version="1.9.2"/>
|
||||
<PackageReference Include="JetBrains.Annotations" Version="2023.2.0" />
|
||||
<PackageReference Include="MessageBox.Avalonia" Version="2.1.0"/>
|
||||
<!-- TODO: Abandoned project need to find replacement
|
||||
<PackageReference Include="OxyPlot.Avalonia-alpha-2020-04-15" Version="1.0.0"/>
|
||||
-->
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0-rc.1.23419.4" />
|
||||
<PackageReference Include="Unclassified.NetRevisionTask" Version="0.4.3">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Avalonia" Version="0.10.18"/>
|
||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.18"/>
|
||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.18"/>
|
||||
<PackageReference Include="Avalonia" Version="11.0.4"/>
|
||||
<PackageReference Include="Avalonia.Desktop" Version="11.0.4"/>
|
||||
<PackageReference Include="Avalonia.ReactiveUI" Version="11.0.4"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Aaru.Core\Aaru.Core.csproj"/>
|
||||
|
||||
@@ -37,16 +37,16 @@
|
||||
<gui:ViewLocator />
|
||||
</Application.DataTemplates>
|
||||
<Application.Styles>
|
||||
<StyleInclude Source="avares://Avalonia.Themes.Default/DefaultTheme.xaml" />
|
||||
<StyleInclude Source="avares://Avalonia.Themes.Default/Accents/BaseLight.xaml" />
|
||||
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Default.xaml" />
|
||||
<FluentTheme />
|
||||
<!-- TODO: Abandoned project need to find replacement
|
||||
<StyleInclude Source="resm:OxyPlot.Avalonia.Themes.Default.xaml?assembly=OxyPlot.Avalonia" />
|
||||
-->
|
||||
</Application.Styles>
|
||||
<NativeMenu.Menu>
|
||||
<NativeMenu>
|
||||
<NativeMenuItem Header="_About" Clicked="OnAboutClicked" />
|
||||
<NativeMenuItem Header="_Preferences" Clicked="OnPreferencesClicked" />
|
||||
<NativeMenuItem Header="_Quit" Clicked="OnQuitClicked" />
|
||||
<NativeMenuItem Header="_About" Click="OnAboutClicked" />
|
||||
<NativeMenuItem Header="_Preferences" Click="OnPreferencesClicked" />
|
||||
<NativeMenuItem Header="_Quit" Click="OnQuitClicked" />
|
||||
</NativeMenu>
|
||||
</NativeMenu.Menu>
|
||||
</Application>
|
||||
@@ -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;
|
||||
@@ -486,3 +487,4 @@ public sealed class BlockMap : ItemsControl
|
||||
base.OnDetachedFromLogicalTree(e);
|
||||
}
|
||||
}
|
||||
*/
|
||||
@@ -43,6 +43,6 @@ public static class Main
|
||||
}
|
||||
|
||||
// Avalonia configuration, don't remove; also used by visual designer.
|
||||
public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure<App>().UsePlatformDetect().LogToDebug().
|
||||
public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure<App>().UsePlatformDetect().
|
||||
UseReactiveUI().UseManagedSystemDialogs();
|
||||
}
|
||||
@@ -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");
|
||||
|
||||
|
||||
@@ -80,7 +80,6 @@ public sealed class ImageInfoViewModel : ViewModelBase
|
||||
_imagePath = imagePath;
|
||||
_filter = filter;
|
||||
_imageFormat = imageFormat;
|
||||
IAssetLoader assets = AvaloniaLocator.Current.GetService<IAssetLoader>();
|
||||
MediaTagsList = new ObservableCollection<string>();
|
||||
SectorTagsList = new ObservableCollection<string>();
|
||||
Sessions = new ObservableCollection<Session>();
|
||||
@@ -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
|
||||
|
||||
@@ -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<IAssetLoader>();
|
||||
_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();
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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<RootModel>();
|
||||
_assets = AvaloniaLocator.Current.GetService<IAssetLoader>();
|
||||
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
|
||||
|
||||
@@ -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<DataPoint>();
|
||||
// ChartPoints = new ObservableCollection<DataPoint>();
|
||||
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<DataPoint> ChartPoints { get; }
|
||||
// public ObservableCollection<DataPoint> 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;
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding LibrariesLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Assemblies}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding Assemblies}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Binding="{Binding Name}" Width="Auto" IsReadOnly="True">
|
||||
<DataGridTextColumn.Header>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<DataGrid Items="{Binding Entries}">
|
||||
<DataGrid ItemsSource="{Binding Entries}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding TimeLabel}" Binding="{Binding Timestamp}" Width="Auto"
|
||||
IsReadOnly="True" />
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="260" /> <RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<DataGrid Items="{Binding Encodings}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding Encodings}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding CodeLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
IsReadOnly="True" />
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding FiltersLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Filters}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding Filters}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
IsReadOnly="True" />
|
||||
@@ -66,7 +66,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding PartitionsLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding PartitionSchemes}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding PartitionSchemes}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
IsReadOnly="True" />
|
||||
@@ -89,7 +89,7 @@
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0" Text="{Binding IdentifyLabel}" FontWeight="Bold" />
|
||||
<DataGrid Grid.Row="1" Items="{Binding Filesystems}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid Grid.Row="1" ItemsSource="{Binding Filesystems}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
IsReadOnly="True" />
|
||||
@@ -102,7 +102,7 @@
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<TextBlock Grid.Row="2" Text="{Binding ReadableLabel}" FontWeight="Bold" />
|
||||
<DataGrid Grid.Row="3" Items="{Binding ReadOnlyFilesystems}"
|
||||
<DataGrid Grid.Row="3" ItemsSource="{Binding ReadOnlyFilesystems}"
|
||||
HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
@@ -127,7 +127,7 @@
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0" Text="{Binding ReadableLabel}" FontWeight="Bold" />
|
||||
<DataGrid Grid.Row="1" Items="{Binding Images}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid Grid.Row="1" ItemsSource="{Binding Images}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
IsReadOnly="True" />
|
||||
@@ -140,7 +140,7 @@
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<TextBlock Grid.Row="2" Text="{Binding WritableLabel}" FontWeight="Bold" />
|
||||
<DataGrid Grid.Row="3" Items="{Binding WritableImages}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid Grid.Row="3" ItemsSource="{Binding WritableImages}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
IsReadOnly="True" />
|
||||
@@ -164,7 +164,7 @@
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0" Text="{Binding ReadableLabel}" FontWeight="Bold" />
|
||||
<DataGrid Grid.Row="1" Items="{Binding FloppyImages}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid Grid.Row="1" ItemsSource="{Binding FloppyImages}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
IsReadOnly="True" />
|
||||
@@ -177,7 +177,7 @@
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<TextBlock Grid.Row="2" Text="{Binding WritableLabel}" FontWeight="Bold" />
|
||||
<DataGrid Grid.Row="3" Items="{Binding WritableFloppyImages}"
|
||||
<DataGrid Grid.Row="3" ItemsSource="{Binding WritableFloppyImages}"
|
||||
HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding NameLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding FiltersLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Filters}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding Filters}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<!-- TODO: Bind header -->
|
||||
<DataGridTextColumn Header="{Binding FilterLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
@@ -87,7 +87,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding FormatsLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Formats}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding Formats}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<!-- TODO: Bind header -->
|
||||
<DataGridTextColumn Header="{Binding FormatLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
@@ -101,7 +101,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding PartitionsLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Partitions}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding Partitions}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<!-- TODO: Bind header -->
|
||||
<DataGridTextColumn Header="{Binding PartitionLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
@@ -115,7 +115,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding FilesystemsLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Filesystems}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding Filesystems}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<!-- TODO: Bind header -->
|
||||
<DataGridTextColumn Header="{Binding FilesystemLabel}" Binding="{Binding Name}"
|
||||
@@ -129,7 +129,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding DevicesLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Devices}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding Devices}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<!-- TODO: Bind header -->
|
||||
<DataGridTextColumn Header="{Binding DeviceLabel}" Binding="{Binding Model}" Width="Auto"
|
||||
@@ -147,7 +147,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding MediasLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Medias}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid ItemsSource="{Binding Medias}" HorizontalScrollBarVisibility="Visible">
|
||||
<DataGrid.Columns>
|
||||
<!-- TODO: Bind header -->
|
||||
<DataGridTextColumn Header="{Binding MediaLabel}" Binding="{Binding Name}" Width="Auto"
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
<TextBlock Text="{Binding MediaGeometryText}" IsVisible="{Binding !!MediaGeometryText}" />
|
||||
<TextBlock Text="{Binding ReadableMediaTagsLabel}" FontWeight="Bold"
|
||||
IsVisible="{Binding !!MediaTagsList.Count}" />
|
||||
<DataGrid Items="{Binding MediaTagsList}" IsVisible="{Binding !!MediaTagsList.Count}"
|
||||
<DataGrid ItemsSource="{Binding MediaTagsList}" IsVisible="{Binding !!MediaTagsList.Count}"
|
||||
IsReadOnly="True">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding TagLabel}" Binding="{Binding .}" Width="Auto"
|
||||
@@ -93,7 +93,7 @@
|
||||
</DataGrid>
|
||||
<TextBlock Text="{Binding ReadableSectorTagsLabel}" FontWeight="Bold"
|
||||
IsVisible="{Binding !!SectorTagsList.Count}" />
|
||||
<DataGrid Items="{Binding SectorTagsList}" IsVisible="{Binding !!SectorTagsList.Count}"
|
||||
<DataGrid ItemsSource="{Binding SectorTagsList}" IsVisible="{Binding !!SectorTagsList.Count}"
|
||||
IsReadOnly="True">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding TagLabel}" Binding="{Binding .}" Width="Auto"
|
||||
@@ -106,7 +106,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding SessionsLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Sessions}" IsVisible="{Binding !!Sessions.Count}" IsReadOnly="True">
|
||||
<DataGrid ItemsSource="{Binding Sessions}" IsVisible="{Binding !!Sessions.Count}" IsReadOnly="True">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding SessionLabel}" Binding="{Binding SessionSequence}"
|
||||
Width="Auto" />
|
||||
@@ -122,7 +122,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding TracksLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding Tracks}" IsVisible="{Binding !!Tracks.Count}" IsReadOnly="True">
|
||||
<DataGrid ItemsSource="{Binding Tracks}" IsVisible="{Binding !!Tracks.Count}" IsReadOnly="True">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding TrackLabel}" Binding="{Binding Sequence}" Width="Auto" />
|
||||
<DataGridTextColumn Header="{Binding TypeLabel}" Binding="{Binding Type}" Width="Auto" />
|
||||
@@ -141,7 +141,7 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="{Binding DumpHardwareLabel}" />
|
||||
</TabItem.Header>
|
||||
<DataGrid Items="{Binding DumpHardwareList}" IsVisible="{Binding !!DumpHardwareList.Count}"
|
||||
<DataGrid ItemsSource="{Binding DumpHardwareList}" IsVisible="{Binding !!DumpHardwareList.Count}"
|
||||
IsReadOnly="True">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding ManufacturerLabel}" Binding="{Binding Manufacturer}"
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<Design.DataContext>
|
||||
<panels:SubdirectoryViewModel />
|
||||
</Design.DataContext>
|
||||
<DataGrid Items="{Binding Entries}" IsReadOnly="True" SelectionMode="Extended"> <!-- TODO: SelectedItems="{Binding SelectedEntries}" -->
|
||||
<DataGrid ItemsSource="{Binding Entries}" IsReadOnly="True" SelectionMode="Extended"> <!-- TODO: SelectedItemsSource="{Binding SelectedEntries}" -->
|
||||
<DataGrid.ContextMenu>
|
||||
<ContextMenu>
|
||||
<Button Command="{Binding ExtractFilesCommand}">
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
</StackPanel>
|
||||
<StackPanel IsVisible="{Binding !!IsrcList.Count}">
|
||||
<TextBlock Text="{Binding ISRCsLabel}" />
|
||||
<DataGrid Items="{Binding IsrcList}">
|
||||
<DataGrid ItemsSource="{Binding IsrcList}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Binding="{Binding Track}" Header="{Binding TrackLabel}" />
|
||||
<DataGridTextColumn Binding="{Binding ISRC}" Header="{Binding ISRCLabel}" />
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
</Design.DataContext>
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<DataGrid Items="{Binding CisList}" SelectedItem="{Binding SelectedCis}">
|
||||
<DataGrid ItemsSource="{Binding CisList}" SelectedItem="{Binding SelectedCis}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding CisLabel}" Binding="{Binding Code}" />
|
||||
</DataGrid.Columns>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
</TabItem.Header>
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Stretch" Items="{Binding ModeSensePages}"
|
||||
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Stretch" ItemsSource="{Binding ModeSensePages}"
|
||||
SelectedItem="{Binding SelectedModeSensePage}" IsReadOnly="True">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding PageLabel}" Binding="{Binding Page}" />
|
||||
@@ -88,7 +88,7 @@
|
||||
</TabItem.Header>
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Stretch" Items="{Binding EvpdPages}"
|
||||
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Stretch" ItemsSource="{Binding EvpdPages}"
|
||||
SelectedItem="{Binding SelectedEvpdPage}" IsReadOnly="True">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding PageLabel}" Binding="{Binding Page}" />
|
||||
@@ -110,7 +110,7 @@
|
||||
</TabItem.Header>
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Stretch" Items="{Binding MmcFeatures}"
|
||||
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Stretch" ItemsSource="{Binding MmcFeatures}"
|
||||
SelectedItem="{Binding SelectedMmcFeature}" IsReadOnly="True">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding FeatureLabel}" Binding="{Binding Page}" />
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<StackPanel Orientation="Vertical">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding TagLabel}" />
|
||||
<ComboBox Items="{Binding TagsList}" SelectedItem="{Binding SelectedTag}">
|
||||
<ComboBox ItemsSource="{Binding TagsList}" SelectedItem="{Binding SelectedTag}">
|
||||
<ComboBox.DataTemplates>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
<StackPanel Orientation="Vertical" IsVisible="{Binding ResultsVisible}">
|
||||
<StackPanel Orientation="Vertical" IsVisible="{Binding TrackChecksumsVisible}">
|
||||
<TextBlock Text="{Binding TrackChecksumsLabel}" />
|
||||
<DataGrid Items="{Binding TrackChecksums}">
|
||||
<DataGrid ItemsSource="{Binding TrackChecksums}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding TrackLabel}" Binding="{Binding Track}" />
|
||||
<DataGridTextColumn Header="{Binding AlgorithmsLabel}" Binding="{Binding Algorithm}" />
|
||||
@@ -100,7 +100,7 @@
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical" IsVisible="{Binding MediaChecksumsVisible}">
|
||||
<TextBlock Text="{Binding MediaChecksumsLabel}" />
|
||||
<DataGrid Items="{Binding MediaChecksums}">
|
||||
<DataGrid ItemsSource="{Binding MediaChecksums}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding AlgorithmsLabel}" Binding="{Binding Algorithm}" />
|
||||
<DataGridTextColumn Header="{Binding HashLabel}" Binding="{Binding Value}" />
|
||||
|
||||
@@ -50,7 +50,7 @@ public sealed class ImageChecksum : Window
|
||||
|
||||
void InitializeComponent() => AvaloniaXamlLoader.Load(this);
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
protected override void OnClosing(WindowClosingEventArgs e)
|
||||
{
|
||||
(DataContext as ImageChecksumViewModel)?.ExecuteStopCommand();
|
||||
base.OnClosing(e);
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="{Binding SourceImageLabel}" /> <TextBox Text="{Binding SourceText}" IsReadOnly="True" />
|
||||
<TextBlock Text="{Binding OutputFormatLabel}" />
|
||||
<ComboBox Items="{Binding PluginsList}" SelectedItem="{Binding SelectedPlugin}"
|
||||
<ComboBox ItemsSource="{Binding PluginsList}" SelectedItem="{Binding SelectedPlugin}"
|
||||
IsEnabled="{Binding FormatReadOnly}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
|
||||
@@ -50,7 +50,7 @@ public sealed class ImageConvert : Window
|
||||
|
||||
void InitializeComponent() => AvaloniaXamlLoader.Load(this);
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
protected override void OnClosing(WindowClosingEventArgs e)
|
||||
{
|
||||
(DataContext as ImageConvertViewModel)?.ExecuteStopCommand();
|
||||
base.OnClosing(e);
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<TextBlock Text="{Binding MediaEntropyText}" IsVisible="{Binding MediaEntropyVisible}" />
|
||||
<TextBlock Text="{Binding MediaUniqueSectorsText}" IsVisible="{Binding MediaUniqueSectorsVisible}" />
|
||||
<TextBlock Text="{Binding TrackEntropyLabel}" IsVisible="{Binding SeparatedTracksEnabled}" />
|
||||
<DataGrid IsVisible="{Binding SeparatedTracksEnabled}" Items="{Binding TrackEntropy}">
|
||||
<DataGrid IsVisible="{Binding SeparatedTracksEnabled}" ItemsSource="{Binding TrackEntropy}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding TrackLabel}" Binding="{Binding Track}" />
|
||||
<DataGridTextColumn Header="{Binding EntropyLabel}" Binding="{Binding Entropy}" />
|
||||
|
||||
@@ -50,7 +50,7 @@ public sealed class ImageEntropy : Window
|
||||
|
||||
void InitializeComponent() => AvaloniaXamlLoader.Load(this);
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
protected override void OnClosing(WindowClosingEventArgs e)
|
||||
{
|
||||
(DataContext as ImageEntropyViewModel)?.ExecuteStopCommand();
|
||||
base.OnClosing(e);
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<StackPanel Orientation="Vertical" IsVisible="{Binding SectorErrorsVisible}">
|
||||
<TextBlock Text="{Binding SectorErrorsText}" />
|
||||
<DataGrid Items="{Binding ErrorList}">
|
||||
<DataGrid ItemsSource="{Binding ErrorList}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding LBALabel}" Binding="{Binding Lba}" />
|
||||
</DataGrid.Columns>
|
||||
@@ -62,7 +62,7 @@
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical" IsVisible="{Binding SectorsUnknownsVisible}">
|
||||
<TextBlock Text="{Binding SectorsUnknownsText}" />
|
||||
<DataGrid Items="{Binding UnknownList}">
|
||||
<DataGrid ItemsSource="{Binding UnknownList}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="{Binding LBALabel}" Binding="{Binding Lba}" />
|
||||
</DataGrid.Columns>
|
||||
|
||||
@@ -50,7 +50,7 @@ public sealed class ImageVerify : Window
|
||||
|
||||
void InitializeComponent() => AvaloniaXamlLoader.Load(this);
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
protected override void OnClosing(WindowClosingEventArgs e)
|
||||
{
|
||||
(DataContext as ImageVerifyViewModel)?.ExecuteStopCommand();
|
||||
base.OnClosing(e);
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" /><ColumnDefinition Width="5" /><ColumnDefinition Width="6*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TreeView Items="{Binding TreeRoot}" SelectedItem="{Binding TreeViewSelectedItem}">
|
||||
<TreeView ItemsSource="{Binding TreeRoot}" SelectedItem="{Binding TreeViewSelectedItem}">
|
||||
<TreeView.DataTemplates>
|
||||
<TreeDataTemplate DataType="models:DevicesRootModel" ItemsSource="{Binding Devices}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<StackPanel Orientation="Vertical">
|
||||
<StackPanel Orientation="Vertical" IsVisible="{Binding OptionsVisible}">
|
||||
<TextBlock Text="{Binding OutputFormatLabel}" />
|
||||
<ComboBox Items="{Binding PluginsList}" SelectedItem="{Binding SelectedPlugin}"
|
||||
<ComboBox ItemsSource="{Binding PluginsList}" SelectedItem="{Binding SelectedPlugin}"
|
||||
IsEnabled="{Binding FormatReadOnly}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
@@ -85,7 +85,7 @@
|
||||
</CheckBox>
|
||||
<StackPanel IsVisible="{Binding EncodingVisible}">
|
||||
<TextBox Text="{Binding EncodingLabel}" />
|
||||
<ComboBox Items="{Binding Encodings}" SelectedItem="{Binding SelectedEncoding}"
|
||||
<ComboBox ItemsSource="{Binding Encodings}" SelectedItem="{Binding SelectedEncoding}"
|
||||
IsEnabled="{Binding EncodingEnabled}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
|
||||
@@ -50,7 +50,7 @@ public sealed class MediaDump : Window
|
||||
|
||||
void InitializeComponent() => AvaloniaXamlLoader.Load(this);
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
protected override void OnClosing(WindowClosingEventArgs e)
|
||||
{
|
||||
(DataContext as MediaDumpViewModel)?.ExecuteStopCommand();
|
||||
base.OnClosing(e);
|
||||
|
||||
@@ -34,8 +34,7 @@
|
||||
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" xmlns:controls="clr-namespace:Aaru.Gui.Controls"
|
||||
xmlns:avalonia="http://oxyplot.org/avalonia" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Aaru.Gui.Views.Windows.MediaScan" Icon="/Assets/aaru-logo.png" Title="{Binding Title}">
|
||||
<Design.DataContext>
|
||||
<windows:MediaScanViewModel />
|
||||
@@ -60,16 +59,17 @@
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="Graph" />
|
||||
</TabItem.Header>
|
||||
<controls:BlockMap Width="750" Height="400" Blocks="{Binding Blocks}" Items="{Binding BlockMapList}" />
|
||||
<!-- <controls:BlockMap Width="750" Height="400" Blocks="{Binding Blocks}" ItemsSource="{Binding BlockMapList}" /> -->
|
||||
</TabItem>
|
||||
<TabItem>
|
||||
<TabItem.Header>
|
||||
<TextBlock Text="Chart" />
|
||||
</TabItem.Header>
|
||||
<!-- TODO: Abandoned project need to find replacement
|
||||
<avalonia:Plot Height="300" PlotMargins="50 0 0 0" PlotAreaBorderColor="#999999"
|
||||
PlotAreaBackground="#2974c1">
|
||||
<avalonia:Plot.Series>
|
||||
<avalonia:LineSeries DataFieldX="Index" DataFieldY="Value" Items="{Binding Path=ChartPoints}"
|
||||
<avalonia:LineSeries DataFieldX="Index" DataFieldY="Value" ItemsSource="{Binding Path=ChartPoints}"
|
||||
Color="{Binding LineColor}" />
|
||||
</avalonia:Plot.Series>
|
||||
<avalonia:Plot.Axes>
|
||||
@@ -81,6 +81,7 @@
|
||||
AxislineColor="{Binding AxesColor}" />
|
||||
</avalonia:Plot.Axes>
|
||||
</avalonia:Plot>
|
||||
-->
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
|
||||
|
||||
@@ -50,7 +50,7 @@ public sealed class MediaScan : Window
|
||||
|
||||
void InitializeComponent() => AvaloniaXamlLoader.Load(this);
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
protected override void OnClosing(WindowClosingEventArgs e)
|
||||
{
|
||||
(DataContext as MediaScanViewModel)?.ExecuteStopCommand();
|
||||
base.OnClosing(e);
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
|
||||
d:DesignHeight="450" x:Class="Aaru.Gui.Views.Windows.SplashWindow" Icon="/Assets/aaru-logo.png" Title="Aaru"
|
||||
HasSystemDecorations="False">
|
||||
SystemDecorations="BorderOnly">
|
||||
<Design.DataContext>
|
||||
<windows:SplashWindowViewModel />
|
||||
</Design.DataContext>
|
||||
|
||||
Reference in New Issue
Block a user