feat(ui): coloured dots for icon-less lists, guide line under chevron

Lists without an icon show a dot in a stable identity colour (same
palette/hash as Mission Control tiles); "Dot" is the new picker default.
This commit is contained in:
mika kuns
2026-09-30 08:29:46 +02:00
parent 75b78cb2c0
commit 9991f1fc1f
5 changed files with 23 additions and 8 deletions
@@ -73,9 +73,12 @@
</Border>
<!-- Icon (list-settings → Icon tab; "Folder" when unset) -->
<PathIcon Grid.Column="1" Classes="list-icon"
Width="14" Height="14"
Width="14" Height="14" IsVisible="{Binding !IsDot}"
Data="{Binding IconKey, Converter={StaticResource IconKey}}"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Ellipse Grid.Column="1" Width="8" Height="8" IsVisible="{Binding IsDot}"
Fill="{Binding DotColorKey, Converter={StaticResource DotBrush}}"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<!-- Name -->
<TextBlock Grid.Column="2" Classes="list-label"
Text="{Binding Name}" ToolTip.Tip="{Binding Name}"
@@ -141,10 +144,9 @@
</Grid>
</Border>
<!-- Guide line drops from under the folder icon's centre (padding 10 + chevron 12 + half
of the 20px icon slot); children indent one icon slot past it. -->
<!-- Guide line drops from under the chevron's centre (padding 10 + half the 9px glyph). -->
<Panel IsVisible="{Binding !IsCollapsed}">
<Border Width="1" HorizontalAlignment="Left" Margin="31,0,0,4"
<Border Width="1" HorizontalAlignment="Left" Margin="14,0,0,4"
Background="{DynamicResource LineBrush}" IsHitTestVisible="False"/>
<ItemsControl ItemsSource="{Binding Children}" Margin="20,0,0,0"/>
</Panel>