Visual test of the B.4b handler revealed the dispatcher never fired SelectDblLeft. OnMouseDown was only looking up Press and Hold activations — DoubleClick bindings in KeyBindings.cs were effectively dead code. Adds 500ms-threshold double-click detection: tracks last-mouse-down button + Environment.TickCount64 timestamp; a same-button press within the threshold additionally fires ActivationType.DoubleClick for the matching binding (Press still fires normally for the second click). Clears the pair-state after firing so a triple-click doesn't produce a second DoubleClick. Tests cover same-button within threshold, beyond threshold (no fire), different-button (no fire), and triple-click (fresh pair required). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Input | ||
| Panels | ||
| Settings | ||
| AcDream.UI.Abstractions.csproj | ||
| ChannelResolver.cs | ||
| ChatChannelKind.cs | ||
| ICommandBus.cs | ||
| IPanel.cs | ||
| IPanelHost.cs | ||
| IPanelRenderer.cs | ||
| LiveCommandBus.cs | ||
| NullCommandBus.cs | ||
| PanelContext.cs | ||
| SendChatCmd.cs | ||