LANCommander/LANCommander.Launcher/App.axaml
Pat Hartl b183e4b18c Remove old launcher, rename Avalonia launcher
Also adds ARM builds for Linux + Windows launcher
2026-06-06 05:49:24 -05:00

86 lines
4.2 KiB
XML

<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="using:LANCommander.Launcher.Converters"
x:Class="LANCommander.Launcher.App"
RequestedThemeVariant="Dark">
<Application.Styles>
<FluentTheme />
<StyleInclude Source="avares://LANCommander.Launcher/Theme/LANCommander.axaml" />
<StyleInclude Source="avares://LANCommander.Launcher/Theme/Carousel.axaml" />
<StyleInclude Source="avares://LANCommander.Launcher/Theme/Badge.axaml" />
<!-- Global control defaults -->
<Style Selector="Button,IconButton">
<Setter Property="Cursor" Value="Hand" />
</Style>
<Style Selector="ToggleButton">
<Setter Property="Cursor" Value="Hand" />
</Style>
<Style Selector="Button.Large, SplitButton.Large">
<Setter Property="Padding" Value="24, 14" />
<Setter Property="FontSize" Value="16" />
</Style>
<!-- Offset the vertical scrollbar so it doesn't overlap the floating titlebar -->
<Style Selector="ScrollViewer.TitlebarOffset /template/ ScrollBar#PART_VerticalScrollBar">
<Setter Property="Margin" Value="0,40,0,0" />
</Style>
<Style Selector="ListBox.TitlebarOffset /template/ ScrollViewer /template/ ScrollBar#PART_VerticalScrollBar">
<Setter Property="Margin" Value="0,40,0,0" />
</Style>
<!-- Icon control template (PathIcon ControlTheme is not inherited by subclasses in Avalonia 11) -->
<!-- Default: stroke-based rendering for Regular, Light, Thin, DuoTone, Bold variants -->
<Style Selector="Icon">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="ClipToBounds" Value="False" />
<Setter Property="Template">
<ControlTemplate>
<Path Fill="Transparent"
Stroke="{TemplateBinding Foreground}"
StrokeThickness="1"
Data="{TemplateBinding Data}"
Stretch="Uniform"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</ControlTemplate>
</Setter>
</Style>
<!-- Fill variant: fill-based rendering (closed shapes, no stroke needed) -->
<Style Selector="Icon[Type=Fill]">
<Setter Property="Template">
<ControlTemplate>
<Path Fill="{TemplateBinding Foreground}"
Stroke="Transparent"
Data="{TemplateBinding Data}"
Stretch="Uniform"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</ControlTemplate>
</Setter>
</Style>
</Application.Styles>
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceInclude Source="avares://LANCommander.Launcher/Assets/Icons/Bold.axaml" />
<ResourceInclude Source="avares://LANCommander.Launcher/Assets/Icons/DuoTone.axaml" />
<ResourceInclude Source="avares://LANCommander.Launcher/Assets/Icons/Fill.axaml" />
<ResourceInclude Source="avares://LANCommander.Launcher/Assets/Icons/Light.axaml" />
<ResourceInclude Source="avares://LANCommander.Launcher/Assets/Icons/Regular.axaml" />
<ResourceInclude Source="avares://LANCommander.Launcher/Assets/Icons/Thin.axaml" />
<ResourceInclude Source="avares://LANCommander.Launcher/Assets/Localization/en-US.axaml" />
<ResourceInclude Source="avares://LANCommander.Launcher/Theme/ColorPalette.axaml" />
</ResourceDictionary.MergedDictionaries>
<converters:MultiplyConverter x:Key="MultiplyConverter" />
<converters:StringFormatConverter x:Key="StringFormatConverter" />
</ResourceDictionary>
</Application.Resources>
</Application>