2026-04-21 20:59:52 +08:00
|
|
|
<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:views="clr-namespace:LanMountainDesktop.Launcher.Views"
|
2026-05-18 12:26:23 +08:00
|
|
|
xmlns:res="clr-namespace:LanMountainDesktop.Launcher.Resources"
|
2026-04-21 20:59:52 +08:00
|
|
|
mc:Ignorable="d"
|
|
|
|
|
d:DesignWidth="480"
|
|
|
|
|
d:DesignHeight="320"
|
|
|
|
|
x:Class="LanMountainDesktop.Launcher.Views.UpdateWindow"
|
|
|
|
|
x:DataType="views:UpdateWindow"
|
2026-05-18 12:26:23 +08:00
|
|
|
x:CompileBindings="False"
|
|
|
|
|
Title="{x:Static res:Strings.Update_Title}"
|
2026-04-21 20:59:52 +08:00
|
|
|
Width="480"
|
|
|
|
|
Height="320"
|
|
|
|
|
CanResize="False"
|
|
|
|
|
WindowStartupLocation="CenterScreen"
|
Avalonia12 (#7)
* ava12升级
* Enable centralized package versioning
Add <Project> and <PropertyGroup> with <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> to Directory.Packages.props to enable centralized package version management across the repository. This allows package versions to be controlled from this single file instead of individual project files.
* Migrate codebase to Avalonia 12 APIs
Apply Avalonia 12 migration changes: replace SystemDecorations with WindowDecorations and remove ExtendClientAreaChromeHints/ExtendClientAreaTitleBarHeightHint usages; update BindingPlugins removal logic (no-op); switch clipboard usage to ClipboardExtensions.SetTextAsync; update Bitmap.CopyPixels calls to the new signature. Replace TextBox.Watermark with PlaceholderText, convert NumberBox styles to FANumberBox and adjust templates, change Checked/Unchecked handlers to IsCheckedChanged, and adapt FluentIcons usages (SymbolIconSource -> FASymbol/FAFont/FluentIcon equivalents). Fix MainWindow partial classes to inherit Window and correct missing variables/fields/usings. Add migration docs/specs/tasks under .trae and include a small TestFluentIcons project for icon testing.
* Migrate to Avalonia 12 and Plugin SDK v5
Upgrade project to the Avalonia 12 baseline and Plugin SDK v5: centralize Avalonia packages, remove legacy WebView.Avalonia usage (use NativeWebView/WebView2 EnvironmentRequested), and update Fluent/Material icon/package usages. Bump multiple package/project versions to 5.0.0 and Avalonia 12.0.1, update plugin template and README/docs to SDK v5, and add PLUGIN_SDK_V5_MIGRATION.md.
Also fix runtime/behavior bugs: make DataLocationResolver use a fixed bootstrap launcher data path and avoid recursive ResolveDataRoot; add legacy-state handling and extraction in OobeStateService; and update component settings tests to reflect migrated storage (DB/backup) and reset cache for test reloads. Various csproj, tests, and docs updated to reflect the migration and ensure build/test compatibility.
* Update icon glyphs and symbol mappings
Replace and refine icon sources across settings pages and controls: many FAFontIconSource glyphs were updated to specific Seagull Fluent Icons codepoints, some FASymbolIconSource usages were replaced with FAFontIconSource, and a number of symbol-to-Symbol enum mappings were adjusted (e.g. "Bell" -> AlertOn, "Shield" -> ShieldLock). Also clarified a comment in SettingsWindow and fixed a trailing newline in StudySettingsPage. Changes standardize icon visuals and bridge FluentIcons glyphs into FluentAvalonia icon sources.
* fix.修复合并产生的问题。
2026-04-29 12:14:29 +08:00
|
|
|
WindowDecorations="None"
|
2026-04-21 20:59:52 +08:00
|
|
|
Background="{DynamicResource SolidBackgroundFillColorBaseBrush}"
|
|
|
|
|
TransparencyLevelHint="None"
|
|
|
|
|
Icon="/Assets/logo.ico">
|
|
|
|
|
<Design.DataContext>
|
|
|
|
|
<views:UpdateWindow />
|
|
|
|
|
</Design.DataContext>
|
|
|
|
|
|
|
|
|
|
<Grid>
|
|
|
|
|
<!-- 顶部:应用名称和最小化按钮 -->
|
|
|
|
|
<Grid VerticalAlignment="Top" Margin="24,24,24,0">
|
|
|
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Spacing="8">
|
|
|
|
|
<TextBlock x:Name="TitleText"
|
2026-05-18 12:26:23 +08:00
|
|
|
Text="{x:Static res:Strings.Update_AppName}"
|
2026-04-21 20:59:52 +08:00
|
|
|
FontSize="24"
|
|
|
|
|
FontWeight="SemiBold"
|
|
|
|
|
Foreground="{DynamicResource TextFillColorPrimaryBrush}" />
|
|
|
|
|
<Border Background="{DynamicResource AccentFillColorDefaultBrush}"
|
|
|
|
|
CornerRadius="4"
|
|
|
|
|
Padding="6,2"
|
|
|
|
|
VerticalAlignment="Center">
|
2026-05-18 12:26:23 +08:00
|
|
|
<TextBlock Text="{x:Static res:Strings.Update_StatusUpdate}"
|
2026-04-21 20:59:52 +08:00
|
|
|
FontSize="11"
|
|
|
|
|
FontWeight="SemiBold"
|
|
|
|
|
Foreground="{DynamicResource TextOnAccentFillColorPrimaryBrush}" />
|
|
|
|
|
</Border>
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
|
|
|
<!-- 最小化按钮 -->
|
|
|
|
|
<Button x:Name="MinimizeButton"
|
|
|
|
|
HorizontalAlignment="Right"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
Width="32"
|
|
|
|
|
Height="32"
|
|
|
|
|
Background="Transparent"
|
|
|
|
|
BorderThickness="0">
|
|
|
|
|
<TextBlock Text=""
|
|
|
|
|
FontSize="12"
|
|
|
|
|
FontFamily="{DynamicResource SymbolThemeFontFamily}"
|
|
|
|
|
Foreground="{DynamicResource TextFillColorSecondaryBrush}"
|
|
|
|
|
HorizontalAlignment="Center"
|
|
|
|
|
VerticalAlignment="Center"/>
|
|
|
|
|
</Button>
|
|
|
|
|
</Grid>
|
|
|
|
|
|
|
|
|
|
<!-- 底部区域:进度条和状态 -->
|
|
|
|
|
<Grid VerticalAlignment="Bottom" Margin="24,0,24,24">
|
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
|
<RowDefinition Height="Auto"/>
|
|
|
|
|
<RowDefinition Height="Auto"/>
|
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
|
|
|
|
<!-- 第一行:左下角状态,右下角百分比 -->
|
|
|
|
|
<Grid Grid.Row="0" Margin="0,0,0,8">
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
|
|
<!-- 左下角:状态文字 -->
|
|
|
|
|
<TextBlock x:Name="StatusText"
|
|
|
|
|
Grid.Column="0"
|
|
|
|
|
FontSize="11"
|
|
|
|
|
Foreground="{DynamicResource TextFillColorSecondaryBrush}"
|
|
|
|
|
Opacity="0.8"
|
|
|
|
|
HorizontalAlignment="Left"
|
|
|
|
|
VerticalAlignment="Bottom"
|
2026-05-18 12:26:23 +08:00
|
|
|
Text="{x:Static res:Strings.Update_StatusUpdating}" />
|
2026-04-21 20:59:52 +08:00
|
|
|
|
|
|
|
|
<!-- 右下角:百分比 -->
|
|
|
|
|
<TextBlock x:Name="PercentText"
|
|
|
|
|
Grid.Column="1"
|
|
|
|
|
FontSize="11"
|
|
|
|
|
Foreground="{DynamicResource TextFillColorSecondaryBrush}"
|
|
|
|
|
Opacity="0.8"
|
|
|
|
|
HorizontalAlignment="Right"
|
|
|
|
|
VerticalAlignment="Bottom"
|
|
|
|
|
Text="0%" />
|
|
|
|
|
</Grid>
|
|
|
|
|
|
|
|
|
|
<!-- 底部:进度条 -->
|
|
|
|
|
<ProgressBar x:Name="ProgressIndicator"
|
|
|
|
|
Grid.Row="1"
|
|
|
|
|
Minimum="0"
|
|
|
|
|
Maximum="100"
|
|
|
|
|
Value="0"
|
|
|
|
|
Height="4"
|
|
|
|
|
IsIndeterminate="True"
|
|
|
|
|
Foreground="{DynamicResource AccentFillColorDefaultBrush}"
|
|
|
|
|
Background="{DynamicResource ControlStrokeColorDefaultBrush}" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</Grid>
|
|
|
|
|
</Window>
|