feat(ui): Task-Zeile entdichten und Kontextmenü gruppieren (UX-Struktur A)

Gruppe 1 (Send to queue, Remove from queue, Cancel execution, Open quick
session, Refine task) ist jetzt fix sichtbar und gated per IsEnabled + Grund
statt komplett auszublenden. Planning/Schedule wandern in Untermenüs (Mark as
existierte bereits); der Planning-Kopf zeigt einen Grund, wenn er sonst leer
wäre. Refine-Button, ungesetzter Star und Dequeue-X erscheinen nur bei
Hover-oder-Selektion (TaskRowViewModel.ShowRowActions); ein gesetzter Star und
der Refining-Spinner bleiben immer sichtbar. Der Branch-Chip wandert aus der
Zeile in eine Meta-Zeile in TaskHeaderBar.

A3 headless verifiziert: Avalonia 12 zeigt ToolTips auf IsEnabled=false
Controls nur mit ToolTip.ShowOnDisabled="True" (Default ist false) — dieses
Attached Property existiert bereits und wird für die neuen Disabled-Reason-
Tooltips genutzt.
This commit is contained in:
mika kuns
2026-08-21 14:34:14 +02:00
parent c3ef460a40
commit 51dc7bd61b
7 changed files with 376 additions and 33 deletions
+16
View File
@@ -167,7 +167,23 @@
"manualTip": "Manual reminder — Claude never picks this up",
"ctxMarkManual": "Mark as manual",
"ctxMarkClaudeTask": "Mark as Claude task",
"ctxRefineTask": "Refine task",
"ctxPlanning": "Planning",
"ctxSchedule": "Schedule",
"ctxDeleteTask": "Delete task",
"reasonAlreadyRunning": "Task is already running",
"reasonAlreadyQueued": "Already in the queue",
"reasonWaitingForReview": "Waiting for review",
"reasonSubtasksQueued": "Subtasks are already queued",
"reasonPlanNotFinalized": "Plan isn't finalized yet",
"reasonPlanningActive": "Planning session is active — finalize the plan first",
"reasonInteractiveSession": "An interactive session is open for this task",
"reasonNotRunning": "Task isn't running",
"reasonRefining": "Refine is already running",
"reasonNotIdle": "Only available for idle tasks",
"reasonIsPlanningParent": "Part of a plan",
"reasonIsChildTask": "Subtasks don't have their own planning session",
"reasonPlanAlreadyFinalized": "Plan is already finalized",
"approve": "Approve",
"approveTip": "Approve — mark Done",
"reject": "Reject",