瀏覽代碼

Fixed selecting member in move tool bug

flabbet 7 月之前
父節點
當前提交
104d974ee5

+ 1 - 0
src/PixiEditor/Models/Controllers/InputDevice/MouseOnCanvasEventArgs.cs

@@ -15,4 +15,5 @@ internal class MouseOnCanvasEventArgs : EventArgs
     public MouseButton Button { get; }
     public VecD PositionOnCanvas { get; }
     public KeyModifiers KeyModifiers { get; }
+    public bool Handled { get; set; }
 }

+ 1 - 0
src/PixiEditor/Models/DocumentModels/UpdateableChangeExecutors/TransformSelectedExecutor.cs

@@ -129,6 +129,7 @@ internal class TransformSelectedExecutor : UpdateableChangeExecutor, ITransforma
 
     public override void OnLeftMouseButtonDown(MouseOnCanvasEventArgs args)
     {
+        args.Handled = true;
         var allLayers = document.StructureHelper.GetAllLayers();
         var topMostWithinClick = allLayers.Where(x =>
                 x is { IsVisibleBindable: true, TightBounds: not null } &&

+ 1 - 0
src/PixiEditor/ViewModels/Document/TransformOverlays/DocumentTransformViewModel.cs

@@ -290,6 +290,7 @@ internal class DocumentTransformViewModel : ObservableObject, ITransformHandler
         {
             undoStack = new TransformOverlayUndoStack<(ShapeCorners, TransformState)>();
             undoStack.AddState((Corners, InternalState), TransformOverlayStateType.Initial);
+            AddToUndoCommand = null;
         }
     }
 

+ 2 - 0
src/PixiEditor/ViewModels/SubViewModels/IoViewModel.cs

@@ -196,6 +196,8 @@ internal class IoViewModel : SubViewModel<ViewModelMain>
 
         drawingWithRight = args.Button == MouseButton.Right;
         activeDocument.EventInlet.OnCanvasLeftMouseButtonDown(args);
+        if(args.Handled) return;
+        
         Owner.ToolsSubViewModel.UseToolEventInlet(args.PositionOnCanvas, args.Button);
 
         if (args.Button == MouseButton.Right)