|
@@ -24,7 +24,7 @@ namespace PixiEditor.ViewModels.SubViewModels.Main
|
|
private bool restoreToolOnKeyUp = false;
|
|
private bool restoreToolOnKeyUp = false;
|
|
|
|
|
|
private MouseInputFilter filter = new();
|
|
private MouseInputFilter filter = new();
|
|
-
|
|
|
|
|
|
+
|
|
public IoViewModel(ViewModelMain owner)
|
|
public IoViewModel(ViewModelMain owner)
|
|
: base(owner)
|
|
: base(owner)
|
|
{
|
|
{
|
|
@@ -54,6 +54,9 @@ namespace PixiEditor.ViewModels.SubViewModels.Main
|
|
{
|
|
{
|
|
Owner.BitmapManager.InputTarget.OnKeyDown(key);
|
|
Owner.BitmapManager.InputTarget.OnKeyDown(key);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (args.Key == ShortcutController.MoveViewportToolTransientChangeKey)
|
|
|
|
+ ChangeMoveViewportToolState(true);
|
|
}
|
|
}
|
|
|
|
|
|
private void ProcessShortcutDown(bool isRepeat, Key key)
|
|
private void ProcessShortcutDown(bool isRepeat, Key key)
|
|
@@ -79,6 +82,11 @@ namespace PixiEditor.ViewModels.SubViewModels.Main
|
|
|
|
|
|
if (Owner.BitmapManager.ActiveDocument != null)
|
|
if (Owner.BitmapManager.ActiveDocument != null)
|
|
Owner.BitmapManager.InputTarget.OnKeyUp(key);
|
|
Owner.BitmapManager.InputTarget.OnKeyUp(key);
|
|
|
|
+
|
|
|
|
+ if (args.Key == ShortcutController.MoveViewportToolTransientChangeKey)
|
|
|
|
+ {
|
|
|
|
+ ChangeMoveViewportToolState(false);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
private void ProcessShortcutUp(Key key)
|
|
private void ProcessShortcutUp(Key key)
|
|
@@ -107,7 +115,20 @@ namespace PixiEditor.ViewModels.SubViewModels.Main
|
|
|
|
|
|
private void OnPreviewMiddleMouseButton(object sender)
|
|
private void OnPreviewMiddleMouseButton(object sender)
|
|
{
|
|
{
|
|
- Owner.ToolsSubViewModel.SetActiveTool<MoveViewportTool>();
|
|
|
|
|
|
+ ChangeMoveViewportToolState(true);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ void ChangeMoveViewportToolState(bool setOn)
|
|
|
|
+ {
|
|
|
|
+ if (setOn)
|
|
|
|
+ {
|
|
|
|
+ if(!(Owner.ToolsSubViewModel.ActiveTool is MoveViewportTool))
|
|
|
|
+ Owner.ToolsSubViewModel.SetActiveTool<MoveViewportTool>();
|
|
|
|
+ }
|
|
|
|
+ else if (Owner.ToolsSubViewModel.LastActionTool != null)
|
|
|
|
+ {
|
|
|
|
+ Owner.ToolsSubViewModel.SetActiveTool(Owner.ToolsSubViewModel.LastActionTool);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
private void OnMouseMove(object sender, EventArgs args)
|
|
private void OnMouseMove(object sender, EventArgs args)
|
|
@@ -128,8 +149,7 @@ namespace PixiEditor.ViewModels.SubViewModels.Main
|
|
}
|
|
}
|
|
else if (button == MouseButton.Middle)
|
|
else if (button == MouseButton.Middle)
|
|
{
|
|
{
|
|
- if (Owner.ToolsSubViewModel.LastActionTool != null)
|
|
|
|
- Owner.ToolsSubViewModel.SetActiveTool(Owner.ToolsSubViewModel.LastActionTool);
|
|
|
|
|
|
+ ChangeMoveViewportToolState(false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|