[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 System.Windows.Input;
using Aaru.Gui.Models; using Aaru.Gui.Models;
using Aaru.Gui.Views.Dialogs; using Aaru.Gui.Views.Dialogs;
using Aaru.Localization;
using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
using JetBrains.Annotations; using JetBrains.Annotations;
@@ -100,21 +99,6 @@ public sealed partial class AboutViewModel : ViewModelBase
[NotNull] [NotNull]
public string Website => "https://aaru.app"; 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 WebsiteCommand { get; }
public ICommand LicenseCommand { get; } public ICommand LicenseCommand { get; }
public ICommand CloseCommand { get; } public ICommand CloseCommand { get; }

View File

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