Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,4 @@ FakesAssemblies/

# Generated extensions directory
**/extensions/
*.slnx
!src/GeneralUpdate-Samples.slnx
.DS_Store
56 changes: 0 additions & 56 deletions UI/SemiUrsa/Client.Avalonia/Assets/Semi.svg

This file was deleted.

Binary file not shown.
28 changes: 0 additions & 28 deletions UI/SemiUrsa/Common.Avalonia/Models/DownloadStatistics.cs

This file was deleted.

33 changes: 0 additions & 33 deletions UI/SemiUrsa/Upgrade.Avalonia.sln

This file was deleted.

Binary file not shown.
68 changes: 0 additions & 68 deletions UI/SemiUrsa/Upgrade.Avalonia/Assets/Ursa.svg

This file was deleted.

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
using System;
using System.Linq;
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Data.Core.Plugins;
using Avalonia.Markup.Xaml;
using Client.Avalonia.ViewModels;
using Client.Avalonia.Views;
Expand All @@ -29,25 +26,9 @@ public override void OnFrameworkInitializationCompleted()

if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
// Avoid duplicate validations from both Avalonia and the CommunityToolkit.
// More info: https://docs.avaloniaui.net/docs/guides/development-guides/data-validation#manage-validationplugins
DisableAvaloniaDataAnnotationValidation();
desktop.MainWindow = new MainWindow();
}

base.OnFrameworkInitializationCompleted();
}

private void DisableAvaloniaDataAnnotationValidation()
{
// Get an array of plugins to remove
var dataValidationPluginsToRemove =
BindingPlugins.DataValidators.OfType<DataAnnotationsValidationPlugin>().ToArray();

// remove each entry found
foreach (var plugin in dataValidationPluginsToRemove)
{
BindingPlugins.DataValidators.Remove(plugin);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
<AvaloniaResource Include="Assets\**"/>
</ItemGroup>

<ItemGroup>
<PackageReference Include="Semi.Avalonia"/>
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Common.Avalonia\Common.Avalonia.csproj"/>
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ public partial class MainViewViewModel : ViewModelBase
private readonly IDownloadService _downloadService;
private readonly WindowNotificationManager _notificationManager;

[ObservableProperty] private DownloadStatistics _statistics;
[ObservableProperty] public partial DownloadStatistics Statistics { get; set; }

[ObservableProperty] [NotifyCanExecuteChangedFor(nameof(StartCommand), nameof(StopCommand))]
private DownloadStatus _status;
[ObservableProperty]
[NotifyCanExecuteChangedFor(nameof(StartCommand), nameof(StopCommand))]
public partial DownloadStatus Status { get; set; }

public MainViewViewModel(IDownloadService downloadService)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
xmlns:vm="clr-namespace:Client.Avalonia.ViewModels"
xmlns:services="clr-namespace:Common.Avalonia.Services;assembly=Common.Avalonia"
xmlns:cvt="clr-namespace:Common.Avalonia.Converters;assembly=Common.Avalonia"
xmlns:iri="https://irihi.tech/shared"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Client.Avalonia.Views.MainView"
x:DataType="vm:MainViewViewModel">
Expand All @@ -14,17 +15,16 @@
</UserControl.Resources>

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Spacing="10" MinWidth="550">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="20">
<Image
Margin="30"
Width="150"
Height="150"
Source="/Assets/GeneralUpdate.png" />
<Image
Margin="30"
Width="150"
Height="150"
Source="{SvgImage /Assets/Semi.svg}" />
Source="avares://Common.Avalonia/Assets/GeneralUpdate.png" />
<PathIcon Data="{DynamicResource SemiIconClose}"/>
<iri:IrihiBand
Label="Semi"
Width="250"
Fill="{DynamicResource SemiAIGeneral7}" />
</StackPanel>

<SelectableTextBlock
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Client.Avalonia.Views.MainWindow"
x:DataType="vm:MainWindowViewModel"
Icon="/Assets/avalonia-logo.ico"
Icon="avares://Common.Avalonia/Assets/irihi.ico"
RequestedThemeVariant="Dark"
Width="800" Height="450"
WindowStartupLocation="CenterScreen"
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,16 @@
<ItemGroup>
<PackageReference Include="Avalonia"/>
<PackageReference Include="Avalonia.Desktop"/>
<PackageReference Include="Avalonia.Svg"/>
<PackageReference Include="Semi.Avalonia"/>
<PackageReference Include="CommunityToolkit.Mvvm"/>
<PackageReference Include="Microsoft.Extensions.DependencyInjection"/>
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Include="Avalonia.Diagnostics">
<PackageReference Include="AvaloniaUI.DiagnosticsSupport">
<IncludeAssets Condition="'$(Configuration)' != 'Debug'">None</IncludeAssets>
<PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
</PackageReference>
</ItemGroup>

<ItemGroup>
<AvaloniaResource Include="Assets\**" />
</ItemGroup>

</Project>
36 changes: 36 additions & 0 deletions UI/SemiUrsaMafia/Common.Avalonia/Models/DownloadStatistics.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using System.ComponentModel;
using CommunityToolkit.Mvvm.ComponentModel;

namespace Common.Avalonia.Models;

public partial class DownloadStatistics : ObservableObject
{
[ObservableProperty]
[Description("当前下载版本")]
public partial object? Version { get; set; }

[ObservableProperty]
[Description("下载速度")]
public partial double Speed { get; set; }

[ObservableProperty]
[Description("剩余下载时间")]
public partial TimeSpan Remaining { get; set; }

[ObservableProperty]
[Description("总大小")]
[NotifyPropertyChangedFor(nameof(TotalBytesToReceiveInMB))]
public partial long TotalBytesToReceive { get; set; }

[ObservableProperty]
[Description("已下载大小")]
[NotifyPropertyChangedFor(nameof(BytesReceivedInMB))]
public partial long BytesReceived { get; set; }

[ObservableProperty]
[Description("进度百分比")]
public partial double ProgressPercentage { get; set; }

public double BytesReceivedInMB => (double)BytesReceived / 1024 / 1024;
public double TotalBytesToReceiveInMB => (double)TotalBytesToReceive / 1024 / 1024;
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public MockDownloadService()
{
CurrentStatistics = new DownloadStatistics
{
Version = "11.2.6",
Version = "12.1.1",
Speed = 0,
Remaining = TimeSpan.Zero,
TotalBytesToReceive = 1024 * 1024 * 10,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<AvaloniaVersion>11.2.6</AvaloniaVersion>
<AvaloniaVersion>12.1.1</AvaloniaVersion>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Avalonia" Version="$(AvaloniaVersion)"/>
<PackageVersion Include="Avalonia.Desktop" Version="$(AvaloniaVersion)"/>
<PackageVersion Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)"/>
<PackageVersion Include="AvaloniaUI.DiagnosticsSupport" Version="2.2.3"/>

<PackageVersion Include="Avalonia.Svg" Version="11.2.0.2"/>
<PackageVersion Include="Semi.Avalonia" Version="11.2.1.6"/>
<PackageVersion Include="Irihi.Ursa" Version="1.10.0"/>
<PackageVersion Include="Irihi.Ursa.Themes.Semi" Version="1.10.0"/>
<PackageVersion Include="Semi.Avalonia" Version="12.1.0.1"/>
<PackageVersion Include="Irihi.Ursa" Version="2.2.0"/>
<PackageVersion Include="Irihi.Ursa.Themes.Semi" Version="2.2.0"/>
<PackageVersion Include="Irihi.Mafia" Version="0.0.2"/>
<PackageVersion Include="Irihi.Mafia.Themes.TDesign" Version="0.0.2"/>

<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0"/>
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0"/>
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.2"/>
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.11"/>
</ItemGroup>
</Project>
Loading
Loading