[GUI] Redesign and reorganize About dialog.

This commit is contained in:
2025-10-27 16:28:35 +00:00
parent 861034d7d8
commit 37d6eb0e38
2 changed files with 112 additions and 129 deletions

View File

@@ -40,7 +40,6 @@ using System.Threading.Tasks;
using System.Windows.Input;
using Aaru.Gui.Models;
using Aaru.Gui.Views.Dialogs;
using Aaru.Localization;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using JetBrains.Annotations;
@@ -100,21 +99,6 @@ public sealed partial class AboutViewModel : ViewModelBase
[NotNull]
public string Website => "https://aaru.app";
[NotNull]
public string License => UI.Label_License;
[NotNull]
public string CloseLabel => UI.ButtonLabel_Close;
[NotNull]
public string AssembliesLibraryText => UI.Title_Library;
[NotNull]
public string AssembliesVersionText => UI.Title_Version;
[NotNull]
public string Authors => UI.Text_Authors;
public ICommand WebsiteCommand { get; }
public ICommand LicenseCommand { get; }
public ICommand CloseCommand { get; }

View File

@@ -36,6 +36,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:dialogs="clr-namespace:Aaru.Gui.ViewModels.Dialogs"
xmlns:controls="clr-namespace:Aaru.Gui.Controls"
xmlns:localization="clr-namespace:Aaru.Localization;assembly=Aaru.Localization"
mc:Ignorable="d"
d:DesignWidth="800"
@@ -49,15 +50,12 @@
<Design.DataContext>
<dialogs:AboutViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" /> <RowDefinition Height="*" /> <RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Margin="12"
RowSpacing="8"
RowDefinitions="Auto,*,Auto">
<Grid Grid.Row="0"
ColumnDefinitions="Auto,*"
ColumnSpacing="8">
<Border Grid.Column="0"
BorderThickness="5">
<Image Source="/Assets/aaru-logo.png"
@@ -66,18 +64,16 @@
</Border>
<Grid Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
</Grid.RowDefinitions>
VerticalAlignment="Center"
RowDefinitions="Auto,Auto">
<TextBlock Grid.Row="0"
Text="{Binding SoftwareName}"
Text="{Binding SoftwareName, Mode=OneWay}"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontSize="16"
FontWeight="Bold" />
<TextBlock Grid.Row="1"
Text="{Binding VersionText}"
Text="{Binding VersionText, Mode=OneWay}"
HorizontalAlignment="Left"
VerticalAlignment="Center" />
</Grid>
@@ -89,26 +85,22 @@
<TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Label_About}" />
</TabItem.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" /> <RowDefinition Height="12" />
<RowDefinition Height="Auto" /> <RowDefinition Height="12" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid RowDefinitions="Auto,12,Auto,12,Auto,Auto,*"
RowSpacing="8"
Margin="8">
<TextBlock Grid.Row="0"
Text="{Binding SuiteName}" />
Text="{Binding SuiteName, Mode=OneWay}" />
<TextBlock Grid.Row="2"
Text="{Binding Copyright}" />
Text="{Binding Copyright, Mode=OneWay}" />
<Button Grid.Row="4"
BorderThickness="0"
Background="Transparent"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Padding="0"
Command="{Binding WebsiteCommand}">
<!-- TODO: TextDecorations="Underline" in next Avalonia UI version -->
<TextBlock Text="{Binding Website}"
Command="{Binding WebsiteCommand, Mode=OneWay}">
<TextBlock Text="{Binding Website, Mode=OneWay}"
TextDecorations="Underline"
Foreground="Blue" />
</Button>
<Button Grid.Row="5"
@@ -117,9 +109,9 @@
HorizontalAlignment="Left"
VerticalAlignment="Center"
Padding="0"
Command="{Binding LicenseCommand}">
<!-- TODO: TextDecorations="Underline" in next Avalonia UI version -->
<TextBlock Text="{Binding License}"
Command="{Binding LicenseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.Label_License}"
TextDecorations="Underline"
Foreground="Blue" />
</Button>
</Grid>
@@ -128,21 +120,22 @@
<TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Label_Libraries}" />
</TabItem.Header>
<DataGrid ItemsSource="{Binding Assemblies}"
<DataGrid ItemsSource="{Binding Assemblies, Mode=OneWay}"
Margin="8"
HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}"
<DataGridTextColumn Binding="{Binding Name, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding AssembliesLibraryText}" />
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Library}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Version}"
<DataGridTextColumn Binding="{Binding Version, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding AssembliesVersionText}" />
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Version}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
@@ -152,16 +145,22 @@
<TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Label_Authors}" />
</TabItem.Header>
<TextBox IsReadOnly="True"
Text="{Binding Authors}" />
<Border Margin="8"
BorderThickness="1"
BorderBrush="LightGray"
CornerRadius="8">
<ScrollViewer Padding="8">
<controls:SpectreTextBlock TextWrapping="Wrap"
Text="{x:Static localization:UI.Text_Authors}" />
</ScrollViewer>
</Border>
</TabItem>
</TabControl>
<Button Grid.Row="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CloseCommand}">
<TextBlock Text="{Binding CloseLabel}" />
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Close}" />
</Button>
</Grid>
</Border>
</Window>