Colours came from static brushes scattered over the windows. They now come from a Theme, and everything that paints a station, a spot or a log row asks Themes.Current as it paints, so changing the theme changes every window without reopening it. light is N1MM's own palette, read out of ApplicationStyles: the pale blue behind a window, ivory on a button, white boxes, and the four colours a station is painted in. dark is the same states in colours for a dark screen, which is roughly what the program looked like before. Config > Manage Skins, Colors and Fonts picks one, under N1MM's name for the same dialog, and shows what each theme paints a callsign. The choice is kept in settings.json as Theme, and light is the default. The window chrome follows through resources the Fluent controls read, so a text box and a button take the theme's colours in every state. Fonts and skins are not part of it. Looked at under Xvfb in both themes: the entry window, the theme dialog, and the log window with its rows still coloured by what each contact was worth. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
28 lines
1.2 KiB
XML
28 lines
1.2 KiB
XML
<Window xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
x:Class="Nonemm.App.Dialogs.ThemeDialog"
|
|
Title="Colors" Width="360" SizeToContent="Height"
|
|
WindowStartupLocation="CenterOwner" CanResize="False">
|
|
<DockPanel Margin="14">
|
|
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Center"
|
|
Spacing="30" Margin="0,14,0,0">
|
|
<Button Content="Ok" Width="85" HorizontalContentAlignment="Center"
|
|
Click="OnOk" IsDefault="True" />
|
|
<Button Content="Cancel" Width="85" HorizontalContentAlignment="Center"
|
|
Click="OnCancel" IsCancel="True" />
|
|
</StackPanel>
|
|
<StackPanel Spacing="8">
|
|
<TextBlock Text="Colors" FontSize="11" />
|
|
<ComboBox Name="ThemeBox" HorizontalAlignment="Stretch" SelectionChanged="OnPicked" />
|
|
<TextBlock Name="AboutText" FontSize="11" TextWrapping="Wrap" />
|
|
<ItemsControl Name="Swatches" Margin="0,4,0,0">
|
|
<ItemsControl.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<WrapPanel />
|
|
</ItemsPanelTemplate>
|
|
</ItemsControl.ItemsPanel>
|
|
</ItemsControl>
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</Window>
|