diff --git a/PartPreviewWindow/View3D/View3DWidget.cs b/PartPreviewWindow/View3D/View3DWidget.cs index e5c6809a2..02cbf39a4 100644 --- a/PartPreviewWindow/View3D/View3DWidget.cs +++ b/PartPreviewWindow/View3D/View3DWidget.cs @@ -52,7 +52,7 @@ using MatterHackers.VectorMath; namespace MatterHackers.MatterControl.PartPreviewWindow { - public class View3DWidget : GuiWidget + public class View3DWidget : GuiWidget { private bool DoBooleanTest = false; private bool deferEditorTillMouseUp = false; @@ -847,10 +847,19 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public override void OnMouseDown(MouseEventArgs mouseEvent) { // Show transform override - if (activeButtonBeforeMouseOverride == null && mouseEvent.Button == MouseButtons.Right) + if (activeButtonBeforeMouseOverride == null + && (mouseEvent.Button == MouseButtons.Right || Keyboard.IsKeyDown(Keys.Control))) { - activeButtonBeforeMouseOverride = viewControls3D.ActiveButton; - viewControls3D.ActiveButton = ViewControls3DButtons.Rotate; + if (Keyboard.IsKeyDown(Keys.Shift)) + { + activeButtonBeforeMouseOverride = viewControls3D.ActiveButton; + viewControls3D.ActiveButton = ViewControls3DButtons.Translate; + } + else + { + activeButtonBeforeMouseOverride = viewControls3D.ActiveButton; + viewControls3D.ActiveButton = ViewControls3DButtons.Rotate; + } } else if (activeButtonBeforeMouseOverride == null && mouseEvent.Button == MouseButtons.Middle) { @@ -870,6 +879,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow if (this.TrackballTumbleWidget.UnderMouseState == UnderMouseState.FirstUnderMouse) { if (mouseEvent.Button == MouseButtons.Left + && viewControls3D.ActiveButton == ViewControls3DButtons.PartSelect && (ModifierKeys == Keys.Shift || ModifierKeys == Keys.Control) || ( diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 9de4051d4..23fa4c35f 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 9de4051d4a7b124a105e49da6cb8b0fd2304b258 +Subproject commit 23fa4c35f38e23f43f0a810d5c66381a8a960183