From f0876a151cbb67339d39d43e8a605136947d51f7 Mon Sep 17 00:00:00 2001 From: Jaex Date: Sun, 12 Jun 2016 14:37:03 +0300 Subject: [PATCH] Mouse 4 click will swap shape type too --- .../Shapes/ShapeManager.cs | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs b/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs index 284c4a9b2..aa0bfcf07 100644 --- a/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs +++ b/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs @@ -70,13 +70,16 @@ private set { currentShapeType = value; - if (IsCurrentShapeTypeRegion) + if (form.Mode == RectangleRegionMode.Annotation) { - Config.LastRegionTool = CurrentShapeType; - } - else - { - Config.LastAnnotationTool = CurrentShapeType; + if (IsCurrentShapeTypeRegion) + { + Config.LastRegionTool = CurrentShapeType; + } + else + { + Config.LastAnnotationTool = CurrentShapeType; + } } DeselectShape(); @@ -195,7 +198,6 @@ public AnnotationOptions AnnotationOptions public event Action CurrentShapeTypeChanged; private RectangleRegionForm form; - private ContextMenuStrip cmsContextMenu; private ToolStripSeparator tssObjectOptions, tssShapeOptions; private ToolStripMenuItem tsmiDeleteSelected, tsmiDeleteAll, tsmiBorderColor, tsmiFillColor, tsmiHighlightColor; @@ -843,6 +845,13 @@ private void form_MouseUp(object sender, MouseEventArgs e) { form.Close(RegionResult.Close); } + else if (e.Button == MouseButtons.XButton1) + { + if (form.Mode == RectangleRegionMode.Annotation) + { + SwapShapeType(); + } + } } private void form_MouseDoubleClick(object sender, MouseEventArgs e) @@ -924,14 +933,7 @@ private void form_KeyDown(object sender, KeyEventArgs e) switch (e.KeyCode) { case Keys.Tab: - if (IsCurrentShapeTypeRegion) - { - CurrentShapeType = Config.LastAnnotationTool; - } - else - { - CurrentShapeType = Config.LastRegionTool; - } + SwapShapeType(); break; case Keys.NumPad0: CurrentShapeType = ShapeType.RegionRectangle; @@ -1208,6 +1210,18 @@ private void UpdateCurrentShape() } } + private void SwapShapeType() + { + if (IsCurrentShapeTypeRegion) + { + CurrentShapeType = Config.LastAnnotationTool; + } + else + { + CurrentShapeType = Config.LastRegionTool; + } + } + private Point SnapPosition(Point posOnClick, Point posCurrent) { Rectangle currentRect = CaptureHelpers.CreateRectangle(posOnClick, posCurrent);