This commit is contained in:
Wiesław Šoltés 2024-07-24 23:30:17 +02:00
Родитель 88f9cabfac
Коммит e84a294d6c
34 изменённых файлов: 48 добавлений и 38 удалений

Просмотреть файл

@ -65,6 +65,7 @@ ProjectSection(SolutionItems) = preProject
build\XUnit.props = build\XUnit.props
build\Avalonia.Themes.Fluent.props = build\Avalonia.Themes.Fluent.props
build\Avalonia.Web.props = build\Avalonia.Web.props
build\Avalonia.Controls.ItemsRepeater.props = build\Avalonia.Controls.ItemsRepeater.props
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "_build", "build\build\_build.csproj", "{A66A3423-81AE-43B9-AAA6-0FBC44BE5152}"

Просмотреть файл

@ -11,7 +11,7 @@ resources:
variables:
BuildConfiguration: 'Release'
BuildPlatform: 'Any CPU'
PublishFramework: 'net7.0'
PublishFramework: 'net8.0'
PublishProject: 'TypefaceUtilAvalonia.Desktop'
PublishRuntime: ''
Workloads: 'wasm-tools wasm-experimental'

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia.Controls.ItemsRepeater" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia.Controls.Skia" Version="11.0.0-preview4" />
<PackageReference Include="Avalonia.Controls.Skia" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia.Desktop" Version="11.0.0-preview4" />
<PackageReference Include="Avalonia.Desktop" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia.Diagnostics" Version="11.0.0-preview4" />
<PackageReference Include="Avalonia.Diagnostics" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia.ReactiveUI" Version="11.0.0-preview4" />
<PackageReference Include="Avalonia.ReactiveUI" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia.Skia" Version="11.0.0-preview4" />
<PackageReference Include="Avalonia.Skia" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.0.0-preview4" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia.Web.Blazor" Version="11.0.0-preview4" />
<PackageReference Include="Avalonia.Browser.Blazor" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="11.0.0-preview4" />
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Avalonia" Version="11.0.0-preview4" />
<PackageReference Include="Avalonia" Version="11.1.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VersionPrefix>11.0.0</VersionPrefix>
<VersionSuffix>preview4</VersionSuffix>
<VersionPrefix>11.1.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
<Authors>Wiesław Šoltés</Authors>
<Company>Wiesław Šoltés</Company>
<Copyright>Copyright © Wiesław Šoltés 2022</Copyright>
<Copyright>Copyright © Wiesław Šoltés 2024</Copyright>
<PackageProjectUrl>https://github.com/wieslawsoltes/TypefaceUtil</PackageProjectUrl>
</PropertyGroup>
<PropertyGroup>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="2.88.3" />
<PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="2.88.8" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="SkiaSharp" Version="2.88.3" />
<PackageReference Include="SkiaSharp" Version="2.88.8" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Svg.Skia" Version="0.6.0-preview4" />
<PackageReference Include="Svg.Skia" Version="2.0.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<IsPackable>False</IsPackable>
<NoWarn>CS0649;CS0169</NoWarn>

Просмотреть файл

@ -1,6 +1,6 @@
{
"sdk": {
"version": "7.0.100",
"version": "8.0.100",
"rollForward": "latestMinor",
"allowPrerelease": true
}

Просмотреть файл

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<OutputType>Exe</OutputType>
<LangVersion>preview</LangVersion>
<IsPackable>False</IsPackable>

Просмотреть файл

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net7.0</TargetFrameworks>
<TargetFrameworks>netstandard2.0;net8.0</TargetFrameworks>
<OutputType>Library</OutputType>
<IsPackable>True</IsPackable>
<Nullable>enable</Nullable>

Просмотреть файл

@ -2,12 +2,13 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TypefaceUtil.Avalonia"
Name="TypefaceUtil"
RequestedThemeVariant="Dark"
x:Class="TypefaceUtil.Avalonia.App">
<Application.DataTemplates>
<local:ViewLocator/>
</Application.DataTemplates>
<Application.Styles>
<FluentTheme Mode="Light"/>
<FluentTheme />
</Application.Styles>
</Application>

Просмотреть файл

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<IsPackable>False</IsPackable>
<Nullable>enable</Nullable>
<RootNamespace>TypefaceUtil.Avalonia</RootNamespace>
@ -26,6 +26,7 @@
<Import Project="..\..\build\Avalonia.ReactiveUI.props" />
<Import Project="..\..\build\Avalonia.Xaml.Behaviors.props" />
<Import Project="..\..\build\Avalonia.Controls.Skia.props" />
<Import Project="..\..\build\Avalonia.Controls.ItemsRepeater.props" />
<Import Project="..\..\build\SkiaSharp.props" />
<Import Project="..\..\build\SkiaSharp.Linux.props" />
<Import Project="..\..\build\Svg.Skia.props" />

Просмотреть файл

@ -7,7 +7,7 @@ namespace TypefaceUtil.Avalonia;
public class ViewLocator : IDataTemplate
{
public IControl Build(object? data)
public Control Build(object? data)
{
var name = data?.GetType().FullName?.Replace("ViewModel", "View");
var type = name is null ? null : Type.GetType(name);

Просмотреть файл

@ -3,6 +3,7 @@ using System.Globalization;
using System.Threading.Tasks;
using System.Windows.Input;
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using ReactiveUI;
using SkiaSharp;
@ -105,7 +106,7 @@ public class GlyphViewModel : ViewModelBase
{
try
{
if (Application.Current?.Clipboard is { } clipboard && text is { })
if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime { MainWindow.Clipboard: { } clipboard } && text is { })
{
await clipboard.SetTextAsync(text);
}

Просмотреть файл

@ -8,6 +8,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Platform.Storage;
using ReactiveUI;
using SkiaSharp;
@ -133,7 +134,7 @@ public class MainWindowViewModel : ViewModelBase
var file = result.FirstOrDefault();
if (file is not null && file.CanOpenRead)
if (file is not null)
{
try
{
@ -210,7 +211,7 @@ public class MainWindowViewModel : ViewModelBase
if (!string.IsNullOrWhiteSpace(allText))
{
if (Application.Current?.Clipboard is { } clipboard)
if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime { MainWindow.Clipboard: { } clipboard })
{
await clipboard.SetTextAsync(allText);
}

Просмотреть файл

@ -147,7 +147,7 @@
VerticalAlignment="Center"
Margin="12,0,6,0"
DockPanel.Dock="Right"/>
<ComboBox Items="{Binding FontFamilies}"
<ComboBox ItemsSource="{Binding FontFamilies}"
SelectedItem="{Binding FamilyName, Mode=TwoWay}"
MinWidth="200"
HorizontalContentAlignment="Center"
@ -201,7 +201,7 @@
<Panel Margin="36,0,36,36">
<ScrollViewer HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto">
<ItemsRepeater Items="{Binding Typeface.Glyphs, FallbackValue={x:Null}}">
<ItemsRepeater ItemsSource="{Binding Typeface.Glyphs, FallbackValue={x:Null}}">
<ItemsRepeater.Layout>
<UniformGridLayout Orientation="Horizontal"
ItemsJustification="Center"

Просмотреть файл

@ -6,7 +6,7 @@ using Avalonia.Media;
namespace TypefaceUtil.Avalonia.Views;
public class MainView : UserControl
public partial class MainView : UserControl
{
private bool _isDragging;
private Control? _dragControl;

Просмотреть файл

@ -5,7 +5,7 @@
xmlns:views="clr-namespace:TypefaceUtil.Avalonia.Views"
mc:Ignorable="d" d:DesignWidth="735" d:DesignHeight="438"
x:Class="TypefaceUtil.Avalonia.Views.MainWindow"
x:Name="MainWindow"
x:Name="Root"
MinWidth="735" MinHeight="438"
WindowStartupLocation="CenterScreen"
Background="{x:Null}"
@ -15,5 +15,5 @@
UseLayoutRounding="True"
Icon="/Assets/Icon.ico"
Title="TypefaceUtil">
<views:MainView Margin="{Binding #MainWindow.OffScreenMargin}"/>
<views:MainView Margin="{Binding #Root.OffScreenMargin}"/>
</Window>

Просмотреть файл

@ -4,7 +4,7 @@ using Avalonia.Markup.Xaml;
namespace TypefaceUtil.Avalonia.Views;
public class SandBoxView : UserControl
public partial class SandBoxView : UserControl
{
public SandBoxView()
{
@ -15,4 +15,4 @@ public class SandBoxView : UserControl
{
AvaloniaXamlLoader.Load(this);
}
}
}

Просмотреть файл

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<IsPackable>False</IsPackable>
<Nullable>enable</Nullable>
<ApplicationIcon>..\TypefaceUtilAvalonia.Base\Assets\Icon.ico</ApplicationIcon>

Просмотреть файл

@ -1,6 +1,5 @@
using System.Runtime.Versioning;
using Avalonia;
using Avalonia.Web;
using TypefaceUtil.Avalonia;
[assembly:SupportedOSPlatform("browser")]

Просмотреть файл

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0-browser</TargetFramework>
<RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
<WasmMainJSPath>AppBundle\main.js</WasmMainJSPath>
<OutputType>Exe</OutputType>

Просмотреть файл

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<IsPackable>False</IsPackable>
</PropertyGroup>

Просмотреть файл

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<OutputType>Library</OutputType>
<IsPackable>False</IsPackable>
<Nullable>enable</Nullable>