diff --git a/ShareX.ScreenCaptureLib/Forms/RectangleRegionForm.cs b/ShareX.ScreenCaptureLib/Forms/RectangleRegionForm.cs index 464d3c04e..26937436f 100644 --- a/ShareX.ScreenCaptureLib/Forms/RectangleRegionForm.cs +++ b/ShareX.ScreenCaptureLib/Forms/RectangleRegionForm.cs @@ -426,7 +426,7 @@ protected virtual void WriteTips(StringBuilder sb) if (Mode == RectangleRegionMode.Annotation) { - sb.AppendLine("[Right click] Open options menu"); + sb.AppendLine("[Right click][Menu] Open options menu"); } } diff --git a/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs b/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs index b57b12988..7753d50aa 100644 --- a/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs +++ b/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs @@ -829,7 +829,7 @@ private void form_MouseUp(object sender, MouseEventArgs e) } else if (form.Mode == RectangleRegionMode.Annotation) { - RunRegionCaptureAction(Config.MouseRightClickAction); + RunAction(Config.MouseRightClickAction); } else if (IsShapeIntersect()) { @@ -842,15 +842,15 @@ private void form_MouseUp(object sender, MouseEventArgs e) } else if (e.Button == MouseButtons.Middle) { - RunRegionCaptureAction(Config.MouseMiddleClickAction); + RunAction(Config.MouseMiddleClickAction); } else if (e.Button == MouseButtons.XButton1) { - RunRegionCaptureAction(Config.Mouse4ClickAction); + RunAction(Config.Mouse4ClickAction); } else if (e.Button == MouseButtons.XButton2) { - RunRegionCaptureAction(Config.Mouse5ClickAction); + RunAction(Config.Mouse5ClickAction); } } @@ -990,10 +990,13 @@ private void form_KeyUp(object sender, KeyEventArgs e) EndRegionSelection(); } break; + case Keys.Apps: + OpenOptionsMenu(); + break; } } - private void RunRegionCaptureAction(RegionCaptureAction action) + private void RunAction(RegionCaptureAction action) { switch (action) { @@ -1011,23 +1014,13 @@ private void RunRegionCaptureAction(RegionCaptureAction action) } break; case RegionCaptureAction.RemoveShape: - if (IsShapeIntersect()) - { - DeleteIntersectShape(); - } + DeleteIntersectShape(); break; case RegionCaptureAction.OpenOptionsMenu: - if (form.Mode == RectangleRegionMode.Annotation && cmsContextMenu != null) - { - cmsContextMenu.Show(form, InputManager.MousePosition0Based.Add(-10, -10)); - Config.ShowMenuTip = false; - } + OpenOptionsMenu(); break; case RegionCaptureAction.SwapToolType: - if (form.Mode == RectangleRegionMode.Annotation) - { - SwapShapeType(); - } + SwapShapeType(); break; case RegionCaptureAction.CaptureFullscreen: form.Close(RegionResult.Fullscreen); @@ -1257,13 +1250,25 @@ private void UpdateCurrentShape() private void SwapShapeType() { - if (IsCurrentShapeTypeRegion) + if (form.Mode == RectangleRegionMode.Annotation) { - CurrentShapeType = Config.LastAnnotationTool; + if (IsCurrentShapeTypeRegion) + { + CurrentShapeType = Config.LastAnnotationTool; + } + else + { + CurrentShapeType = Config.LastRegionTool; + } } - else + } + + private void OpenOptionsMenu() + { + if (form.Mode == RectangleRegionMode.Annotation && cmsContextMenu != null) { - CurrentShapeType = Config.LastRegionTool; + cmsContextMenu.Show(form, InputManager.MousePosition0Based.Add(-10, -10)); + Config.ShowMenuTip = false; } }