Skip to content

Commit

Permalink
fix KeyboardAction_PasteCopiesObjects() but disable PasteToMouse
Browse files Browse the repository at this point in the history
  • Loading branch information
MikiraSora committed Oct 25, 2024
1 parent 5cb5c17 commit 44dad27
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,8 @@ public Rect SelectionRect

public void ClearSelection()
{
foreach (var obj in SelectObjects) {
foreach (var obj in SelectObjects)
{
obj.IsSelected = false;
}
}
Expand Down Expand Up @@ -217,10 +218,10 @@ public enum PasteOption
None
}

public void KeyboardAction_PasteCopiesObjects(ActionExecutionContext ctx)
=> PasteCopiesObjects(PasteOption.None, ctx);
public void MenuItemAction_PasteCopiesObjects(ActionExecutionContext ctx)
=> KeyboardAction_PasteCopiesObjects(ctx);

public void MenuItemAction_PasteCopiesObjects(ActionExecutionContext e)
public void KeyboardAction_PasteCopiesObjects(ActionExecutionContext e)
{
var placePos = Mouse.GetPosition(GetView() as FrameworkElement);
placePos.Y = ViewHeight - placePos.Y + Rect.MinY;
Expand Down Expand Up @@ -1034,7 +1035,8 @@ public void OnMouseLeave(ActionExecutionContext e)
public void OnMouseUp(ActionExecutionContext e)
{
var arg = e.EventArgs as MouseButtonEventArgs;
if (arg is null || arg.Handled) {
if (arg is null || arg.Handled)
{
return;
}

Expand Down Expand Up @@ -1075,16 +1077,19 @@ public void OnMouseUp(ActionExecutionContext e)
var compositeAction = UndoRedoManager.EndCombineAction(Resources.DragObjects);
UndoRedoManager.ExecuteAction(compositeAction);
}
else {
else
{
//Log.LogDebug($"mouseDownHitObject = {mouseDownHitObject?.ReferenceOngekiObject}");
if (mouseDownHitObject is not null) {
if (mouseDownHitObject is not null)
{
if (mouseDownHitObjectPosition is Point p)
mouseDownHitObject = NotifyObjectClicked(mouseDownHitObject, mouseDownNextHitObject);
}
}
}

if (isMiddleMouseDown) {
if (isMiddleMouseDown)
{
if (isCanvasDragging)
{
var diffX = pos.X - mouseCanvasStartPosition.X;
Expand Down Expand Up @@ -1127,7 +1132,8 @@ public void OnMouseUp(ActionExecutionContext e)

public void OnMouseDown(ActionExecutionContext e)
{
if (e.EventArgs is not MouseButtonEventArgs arg || arg.Handled) {
if (e.EventArgs is not MouseButtonEventArgs arg || arg.Handled)
{
return;
}
Log.LogInfo("Visual mousedown");
Expand Down Expand Up @@ -1242,7 +1248,8 @@ public void OnMouseDown(ActionExecutionContext e)

public void OnMouseMove(ActionExecutionContext e)
{
if (e.EventArgs is not MouseEventArgs args || args.Handled) {
if (e.EventArgs is not MouseEventArgs args || args.Handled)
{
return;
}

Expand Down Expand Up @@ -1280,7 +1287,8 @@ public async void OnMouseMove(Point pos)
//Log.LogInfo($"diffY: {diffY:F2} ScrollViewerVerticalOffset: {ScrollViewerVerticalOffset:F2}");
}

if (IsRangeSelecting) {
if (IsRangeSelecting)
{
var rp = 1 - pos.Y / ViewHeight;
var srp = 1 - mouseSelectRangeStartPosition.Y / ViewHeight;
var offsetY = 0d;
Expand Down Expand Up @@ -1395,7 +1403,7 @@ public void KeyboardAction_AddNewLaneColorful(bool clearSelection = true)
=> TryCreateObjectAtMouse(new ColorfulLaneStart(), clearSelection);

public void KeyboardAction_AddNewFlick(bool switchDirection = false, bool clearSelection = false)
=> TryCreateObjectAtMouse(new Flick() { Direction = switchDirection ? Flick.FlickDirection.Right : Flick.FlickDirection.Left}, clearSelection);
=> TryCreateObjectAtMouse(new Flick() { Direction = switchDirection ? Flick.FlickDirection.Right : Flick.FlickDirection.Left }, clearSelection);

public void KeyboardAction_AddNewBlock(bool switchDirection = false, bool clearSelection = false)
=> TryCreateObjectAtMouse(
Expand All @@ -1413,19 +1421,22 @@ public void KeyboardAction_AddNewTap(bool clearSelection = false)

private void TryCreateObjectAtMouse(OngekiObjectBase obj, bool clearSelection, bool autoSelectObj = true)
{
if (!CurrentCursorPosition.HasValue) {
if (!CurrentCursorPosition.HasValue)
{
return;
}

MoveObjectTo(obj, CurrentCursorPosition.Value);
Fumen.AddObject(obj);
InteractiveManager.GetInteractive(obj).OnMoveCanvas(obj, CurrentCursorPosition.Value, this);

if (clearSelection) {
if (clearSelection)
{
SelectObjects.ForEach(o => o.IsSelected = false);
}

if (autoSelectObj) {
if (autoSelectObj)
{
((ISelectableObject)obj).IsSelected = true;
NotifyObjectClicked(obj);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,20 +106,12 @@
</MenuItem>
<MenuItem Header="{markup:Translate [ToCopiedObjects]}">
<MenuItem Header="{markup:Translate [ToPaste]}">
<MenuItem cal:Message.Attach="MenuItemAction_PasteCopiesObjectsDirectly($executionContext)"
Header="{markup:Translate [PasteDirectly]}" />
<MenuItem cal:Message.Attach="MenuItemAction_PasteCopiesObjects($executionContext)"
Header="{markup:Translate [PasteToMouse]}" />
<MenuItem cal:Message.Attach="MenuItemAction_PasteCopiesObjectsDirectly($executionContext)" Header="{markup:Translate [PasteDirectly]}" />
<!--<MenuItem cal:Message.Attach="MenuItemAction_PasteCopiesObjects($executionContext)" Header="{markup:Translate [PasteToMouse]}" />-->
<Separator />
<MenuItem
cal:Message.Attach="MenuItemAction_PasteCopiesObjectsAsSelectedRangeCenterXGridMirror($executionContext)"
Header="{markup:Translate [PasteForHorizonMirror]}" />
<MenuItem
cal:Message.Attach="MenuItemAction_PasteCopiesObjectsAsSelectedRangeCenterTGridMirror($executionContext)"
Header="{markup:Translate [PasteForVerticalMirror]}" />
<MenuItem
cal:Message.Attach="MenuItemAction_PasteCopiesObjectsAsXGridZeroMirror($executionContext)"
Header="{markup:Translate [PasteForZeroXGridMirror]}" />
<MenuItem cal:Message.Attach="MenuItemAction_PasteCopiesObjectsAsSelectedRangeCenterXGridMirror($executionContext)" Header="{markup:Translate [PasteForHorizonMirror]}" />
<MenuItem cal:Message.Attach="MenuItemAction_PasteCopiesObjectsAsSelectedRangeCenterTGridMirror($executionContext)" Header="{markup:Translate [PasteForVerticalMirror]}" />
<MenuItem cal:Message.Attach="MenuItemAction_PasteCopiesObjectsAsXGridZeroMirror($executionContext)" Header="{markup:Translate [PasteForZeroXGridMirror]}" />
</MenuItem>
</MenuItem>
<Separator />
Expand All @@ -136,9 +128,7 @@
Ready="glView_Ready"
SizeChanged="glView_SizeChanged" />

<views:BatchModeOverlayView
DataContext="{Binding BatchModeBehavior}"
Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type views:FumenVisualEditorView}}, Path=DataContext.IsBatchMode, Converter={StaticResource BoolToVisibilityConverter}}" />
<views:BatchModeOverlayView DataContext="{Binding BatchModeBehavior}" Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type views:FumenVisualEditorView}}, Path=DataContext.IsBatchMode, Converter={StaticResource BoolToVisibilityConverter}}" />

<TextBlock
HorizontalAlignment="Left"
Expand Down

0 comments on commit 44dad27

Please sign in to comment.