refactor(ui): Icon-Faerbung zentral im ICON-PAINTING-Block

Inline Foreground/Stroke an Icons entfernt — ein lokaler Wert schlaegt jeden
Style, dadurch erreichten Hover/Checked/Disabled das Icon nicht. Farbe wird
jetzt per Klasse gewaehlt (.danger, .star-btn.on, .active), alle Zustaende
liegen in einem geordneten Block in IslandStyles.axaml.

- Path.plan-icon -> Path.icon-stroke (gilt jetzt fuer Button und ToggleButton)
- Icon.Activity als gefuellte Kontur (PathIcon fuellt, Stroke-Polyline gab Blobs)
- BloodBrightBrush als Hover-Ton fuer destruktive Icons
- icon-btn:disabled bleibt transparent statt Fluent-Grau
This commit is contained in:
mika kuns
2026-08-27 11:29:44 +02:00
parent d474fd13ea
commit 1ef677609f
9 changed files with 109 additions and 59 deletions
@@ -33,10 +33,8 @@
IsVisible="{Binding Task.HasBranch, FallbackValue=False}">
<!-- Icon.GitBranch is line-art: stroke-rendered, PathIcon would fill the lines away -->
<Viewbox Width="10" Height="10">
<Path Data="{StaticResource Icon.GitBranch}"
Stroke="{DynamicResource TextDimBrush}"
StrokeThickness="2.4"
StrokeLineCap="Round" StrokeJoin="Round"/>
<Path Classes="icon-stroke" Data="{StaticResource Icon.GitBranch}"
StrokeThickness="2.4"/>
</Viewbox>
<TextBlock Classes="meta" Text="{Binding Task.Branch}"/>
</StackPanel>
@@ -46,11 +44,11 @@
<Button Grid.Column="1" Classes="icon-btn"
Command="{Binding DeleteTaskCommand}"
ToolTip.Tip="{loc:Tr details.deleteTaskTip}"
ToolTip.ShowOnDisabled="True"
IsVisible="{Binding !IsRunning}"
VerticalAlignment="Top"
Margin="6,0,0,0">
<PathIcon Data="{StaticResource Icon.Trash}" Width="14" Height="14"
Foreground="{DynamicResource BloodBrush}"/>
<PathIcon Classes="danger" Data="{StaticResource Icon.Trash}" Width="14" Height="14"/>
</Button>
<!-- Column 1: skull button (running) -->
@@ -60,8 +58,7 @@
IsVisible="{Binding IsRunning}"
VerticalAlignment="Top"
Margin="6,0,0,0">
<PathIcon Data="{StaticResource Icon.Skull}" Width="14" Height="14"
Foreground="{DynamicResource BloodBrush}"/>
<PathIcon Classes="danger" Data="{StaticResource Icon.Skull}" Width="14" Height="14"/>
</Button>
<!-- Column 2: gear button with agent settings flyout -->
@@ -71,9 +71,7 @@
<Button Grid.Column="2" Classes="icon-btn" VerticalAlignment="Center"
Command="{Binding OpenSettingsCommand}"
ToolTip.Tip="{loc:Tr lists.settingsTip}">
<PathIcon Data="{StaticResource Icon.Settings}"
Width="15" Height="15"
Foreground="{DynamicResource TextMuteBrush}"/>
<PathIcon Data="{StaticResource Icon.Settings}" Width="15" Height="15"/>
</Button>
</Grid>
</Border>
@@ -207,20 +205,16 @@
<StackPanel Orientation="Horizontal" Spacing="6">
<PathIcon Data="{StaticResource Icon.Plus}"
Width="13" Height="13"
Foreground="{DynamicResource TextMuteBrush}"
VerticalAlignment="Center"/>
<TextBlock Classes="body"
Text="{loc:Tr lists.newList}"
Foreground="{DynamicResource TextMuteBrush}"
VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button Grid.Column="1" Classes="icon-btn" Margin="6,0,0,0"
Command="{Binding OpenRepoImportCommand}"
ToolTip.Tip="{loc:Tr lists.addReposTip}">
<PathIcon Data="{StaticResource Icon.Folder}"
Width="14" Height="14"
Foreground="{DynamicResource TextMuteBrush}"/>
<PathIcon Data="{StaticResource Icon.Folder}" Width="14" Height="14"/>
</Button>
</Grid>
@@ -58,9 +58,9 @@
ToolTip.Tip="{loc:Tr tasks.toggleSubtasksTip}">
<Panel>
<PathIcon Width="12" Height="12" Data="{StaticResource Icon.ChevronDown}"
Foreground="{DynamicResource TextDimBrush}" IsVisible="{Binding IsExpanded}"/>
IsVisible="{Binding IsExpanded}"/>
<PathIcon Width="12" Height="12" Data="{StaticResource Icon.ChevronRight}"
Foreground="{DynamicResource TextDimBrush}" IsVisible="{Binding !IsExpanded}"/>
IsVisible="{Binding !IsExpanded}"/>
</Panel>
</Button>
@@ -213,7 +213,7 @@
</MultiBinding>
</Button.IsVisible>
<Viewbox Width="16" Height="16">
<Path Classes="plan-icon" Data="{StaticResource Icon.Refine}"/>
<Path Classes="icon-stroke" Data="{StaticResource Icon.Refine}"/>
</Viewbox>
</Button>
<Ellipse Classes="spinner"
@@ -43,7 +43,7 @@
Command="{Binding MergeReviewsCommand}" ToolTip.Tip="{loc:Tr tasks.mergeReviewsTip}">
<!-- Icon.GitBranch is line-art: stroke-rendered, PathIcon would fill the lines away -->
<Viewbox Width="16" Height="16">
<Path Classes="plan-icon" Data="{StaticResource Icon.GitBranch}"/>
<Path Classes="icon-stroke" Data="{StaticResource Icon.GitBranch}"/>
</Viewbox>
</Button>
<Button Classes="icon-btn" IsVisible="{Binding IsQuickClaudeVisible}"
@@ -57,7 +57,7 @@
<Button Classes="icon-btn" IsVisible="{Binding IsMyDayList}"
Command="{Binding ShowPrepLogCommand}" ToolTip.Tip="{loc:Tr tasks.planMyDayTip}">
<Viewbox Width="18" Height="18">
<Path Classes="plan-icon" Data="{StaticResource Icon.PlanDay}"/>
<Path Classes="icon-stroke" Data="{StaticResource Icon.PlanDay}"/>
</Viewbox>
</Button>
<Button Classes="icon-btn" Command="{Binding OpenListSettingsCommand}" ToolTip.Tip="{loc:Tr tasks.listSettingsTip}">
@@ -144,8 +144,7 @@
Command="{Binding ActionCommand}"
ToolTip.Tip="{loc:Tr tasks.clearCompletedTip}"
VerticalAlignment="Center">
<PathIcon Data="{StaticResource Icon.Trash}" Width="13" Height="13"
Foreground="{DynamicResource BloodBrush}"/>
<PathIcon Classes="danger" Data="{StaticResource Icon.Trash}" Width="13" Height="13"/>
</Button>
</Grid>
</DataTemplate>
@@ -35,20 +35,17 @@
<Button Classes="icon-btn"
Click="OnNewSessionClicked"
ToolTip.Tip="{loc:Tr missionControl.newSession}">
<PathIcon Data="{StaticResource Icon.Plus}" Width="15" Height="15"
Foreground="{DynamicResource TextMuteBrush}"/>
<PathIcon Data="{StaticResource Icon.Plus}" Width="15" Height="15"/>
</Button>
<Button Classes="icon-btn"
Command="{Binding ToggleLayoutCommand}"
ToolTip.Tip="{Binding LayoutToggleLabel}">
<PathIcon Data="{StaticResource Icon.Grid}" Width="15" Height="15"
Foreground="{DynamicResource TextMuteBrush}"/>
<PathIcon Data="{StaticResource Icon.Grid}" Width="15" Height="15"/>
</Button>
<Button Classes="icon-btn"
Command="{Binding OpenSettingsCommand}"
ToolTip.Tip="{loc:Tr missionControl.settings}">
<PathIcon Data="{StaticResource Icon.Settings}" Width="15" Height="15"
Foreground="{DynamicResource TextMuteBrush}"/>
<PathIcon Data="{StaticResource Icon.Settings}" Width="15" Height="15"/>
</Button>
</StackPanel>
</Grid>