refactor(ui): clean up task-row drag visuals

Collapse the grabbed row out of layout instead of overlapping neighbors
with scale/opacity/shadow (the ghost window already shows the moving
snapshot). Replace the thin moss drop-hint lines with a dashed
placeholder gap sized like a collapsed row. Suppress the ordinary hover
highlight and transitions on whatever row is currently the drop target
so it doesn't read as "clickable" while dragging.
This commit is contained in:
mika kuns
2026-08-10 13:58:40 +02:00
parent e98cf46097
commit 359bb3a439
4 changed files with 52 additions and 13 deletions
+14 -5
View File
@@ -484,12 +484,21 @@
<Setter Property="BorderBrush" Value="{StaticResource AccentBrush}" />
<Setter Property="BorderThickness" Value="1" />
</Style>
<!-- "Grabbed" row: lift + slight scale + lower opacity + shadow while the custom drag runs. -->
<!-- "Grabbed" row: collapses out of layout entirely while the custom drag runs — the
floating ghost snapshot (TaskDragController) is what the user sees moving. -->
<Style Selector="Border.task-row.dragging">
<Setter Property="Opacity" Value="0.55" />
<Setter Property="RenderTransform" Value="scale(1.03)" />
<Setter Property="BoxShadow" Value="0 10 26 0 #66000000" />
<Setter Property="BorderBrush" Value="{StaticResource AccentBrush}" />
<Setter Property="IsVisible" Value="False" />
<Setter Property="Transitions" Value="{x:Null}" />
</Style>
<!-- Row currently hovered while dragging (shows the dashed drop-hint gap): suppress the
ordinary hover highlight and transitions so they don't fight the hint. Placed after
Border.task-row:pointerover so its extra class also wins on declaration order. -->
<Style Selector="Border.task-row.drop-target">
<Setter Property="Transitions" Value="{x:Null}" />
</Style>
<Style Selector="Border.task-row.drop-target:pointerover">
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
</Style>
<!-- Checkbox indicator (the 18px circle that replaces the native CheckBox template) -->