feat(ui): replace OLE task-row drag with custom ghost drag
Task rows now drive a hand-built pointer-capture drag instead of DragDrop.DoDragDropAsync: armed on press, begins past a 4px threshold so a plain click still selects. The ghost follows the screen cursor across windows; on release the action is decided by what is under the cursor -- over the Mission Control window queues the task (geometric DragHitTest, no OLE drop), over another row in the same user list reorders, anywhere else cancels and restores the row. Drag starts from any list kind (drag-to-queue everywhere) but reorder-on-drop stays gated on CanReorder. Removes the obsolete OLE TaskRowFormat path from both the source and MissionControlView (pane PaneFormat reorder is untouched).
This commit is contained in:
@@ -95,13 +95,7 @@
|
||||
<Button Classes="flat" HorizontalAlignment="Stretch"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Command="{Binding $parent[ItemsControl].((vm:TasksIslandViewModel)DataContext).SelectCommand}"
|
||||
CommandParameter="{Binding}"
|
||||
PointerPressed="OnRowPointerPressed"
|
||||
PointerMoved="OnRowPointerMoved"
|
||||
PointerReleased="OnRowPointerReleased"
|
||||
DragDrop.AllowDrop="True"
|
||||
DragDrop.DragOver="OnRowDragOver"
|
||||
DragDrop.Drop="OnRowDrop">
|
||||
CommandParameter="{Binding}">
|
||||
<islands:TaskRowView/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
@@ -120,13 +114,7 @@
|
||||
<Button Classes="flat" HorizontalAlignment="Stretch"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Command="{Binding $parent[ItemsControl].((vm:TasksIslandViewModel)DataContext).SelectCommand}"
|
||||
CommandParameter="{Binding}"
|
||||
PointerPressed="OnRowPointerPressed"
|
||||
PointerMoved="OnRowPointerMoved"
|
||||
PointerReleased="OnRowPointerReleased"
|
||||
DragDrop.AllowDrop="True"
|
||||
DragDrop.DragOver="OnRowDragOver"
|
||||
DragDrop.Drop="OnRowDrop">
|
||||
CommandParameter="{Binding}">
|
||||
<islands:TaskRowView/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
@@ -159,13 +147,7 @@
|
||||
<Button Classes="flat" HorizontalAlignment="Stretch"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Command="{Binding $parent[ItemsControl].((vm:TasksIslandViewModel)DataContext).SelectCommand}"
|
||||
CommandParameter="{Binding}"
|
||||
PointerPressed="OnRowPointerPressed"
|
||||
PointerMoved="OnRowPointerMoved"
|
||||
PointerReleased="OnRowPointerReleased"
|
||||
DragDrop.AllowDrop="True"
|
||||
DragDrop.DragOver="OnRowDragOver"
|
||||
DragDrop.Drop="OnRowDrop">
|
||||
CommandParameter="{Binding}">
|
||||
<islands:TaskRowView/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
|
||||
Reference in New Issue
Block a user