diff --git a/ShareX.ScreenCaptureLib/Forms/RectangleRegionForm.cs b/ShareX.ScreenCaptureLib/Forms/RectangleRegionForm.cs index 073320d87..e6de1f265 100644 --- a/ShareX.ScreenCaptureLib/Forms/RectangleRegionForm.cs +++ b/ShareX.ScreenCaptureLib/Forms/RectangleRegionForm.cs @@ -79,7 +79,6 @@ public RectangleRegionForm() { KeyDown += RectangleRegion_KeyDown; MouseDown += RectangleRegion_MouseDown; - MouseWheel += RectangleRegion_MouseWheel; } private void RectangleRegion_MouseDown(object sender, MouseEventArgs e) @@ -127,32 +126,6 @@ private void CopyAreaInfo() ClipboardHelpers.CopyText(clipboardText); } - private void RectangleRegion_MouseWheel(object sender, MouseEventArgs e) - { - if (e.Delta > 0) - { - if (ModifierKeys.HasFlag(Keys.Control)) - { - if (Config.MagnifierPixelSize < 30) Config.MagnifierPixelSize++; - } - else - { - if (Config.MagnifierPixelCount < 41) Config.MagnifierPixelCount += 2; - } - } - else if (e.Delta < 0) - { - if (ModifierKeys.HasFlag(Keys.Control)) - { - if (Config.MagnifierPixelSize > 2) Config.MagnifierPixelSize--; - } - else - { - if (Config.MagnifierPixelCount > 2) Config.MagnifierPixelCount -= 2; - } - } - } - public override void Prepare() { base.Prepare(); @@ -442,6 +415,9 @@ protected virtual void WriteTips(StringBuilder sb) sb.AppendLine(); + // TODO: Translate + sb.AppendLine("[Mouse wheel] Change current tool"); + if (AreaManager.CurrentShapeType == ShapeType.RegionRectangle) sb.Append("-> "); sb.AppendLine(Resources.RectangleRegion_WriteTips__Numpad_1__Rectangle_shape); if (AreaManager.CurrentShapeType == ShapeType.RegionRoundedRectangle) sb.Append("-> "); diff --git a/ShareX.ScreenCaptureLib/RegionHelpers/AreaManager.cs b/ShareX.ScreenCaptureLib/RegionHelpers/AreaManager.cs index 4a411dd0a..3f2451a61 100644 --- a/ShareX.ScreenCaptureLib/RegionHelpers/AreaManager.cs +++ b/ShareX.ScreenCaptureLib/RegionHelpers/AreaManager.cs @@ -38,7 +38,21 @@ public class AreaManager public BaseShape CurrentShape { get; private set; } - public ShapeType CurrentShapeType { get; private set; } = ShapeType.RegionRectangle; + private ShapeType currentShapeType = ShapeType.RegionRectangle; + + public ShapeType CurrentShapeType + { + get + { + return currentShapeType; + } + private set + { + currentShapeType = value; + config.CurrentShapeType = CurrentShapeType; + DeselectArea(); + } + } public Rectangle CurrentRectangle { @@ -145,10 +159,23 @@ public AreaManager(RectangleRegionForm surface) surface.MouseUp += surface_MouseUp; surface.KeyDown += surface_KeyDown; surface.KeyUp += surface_KeyUp; + surface.MouseWheel += surface_MouseWheel; CreateContextMenu(); } + private void surface_MouseWheel(object sender, MouseEventArgs e) + { + if (e.Delta > 0) + { + CurrentShapeType = CurrentShapeType.Previous(); + } + else if (e.Delta < 0) + { + CurrentShapeType = CurrentShapeType.Next(); + } + } + private void CreateContextMenu() { cmsContextMenu = new ContextMenuStrip(); @@ -170,7 +197,7 @@ private void CreateContextMenu() tsmiShapeType.Click += (sender, e) => { tsmiShapeType.RadioCheck(); - ChangeCurrentShapeType(shapeType); + CurrentShapeType = shapeType; }; cmsContextMenu.Items.Add(tsmiShapeType); } @@ -370,28 +397,28 @@ private void surface_KeyDown(object sender, KeyEventArgs e) IsSnapResizing = true; break; case Keys.NumPad1: - ChangeCurrentShapeType(ShapeType.RegionRectangle); + CurrentShapeType = ShapeType.RegionRectangle; break; case Keys.NumPad2: - ChangeCurrentShapeType(ShapeType.RegionRoundedRectangle); + CurrentShapeType = ShapeType.RegionRoundedRectangle; break; case Keys.NumPad3: - ChangeCurrentShapeType(ShapeType.RegionEllipse); + CurrentShapeType = ShapeType.RegionEllipse; break; case Keys.NumPad4: - ChangeCurrentShapeType(ShapeType.DrawingRectangle); + CurrentShapeType = ShapeType.DrawingRectangle; break; case Keys.NumPad5: - ChangeCurrentShapeType(ShapeType.DrawingRoundedRectangle); + CurrentShapeType = ShapeType.DrawingRoundedRectangle; break; case Keys.NumPad6: - ChangeCurrentShapeType(ShapeType.DrawingEllipse); + CurrentShapeType = ShapeType.DrawingEllipse; break; case Keys.NumPad7: - ChangeCurrentShapeType(ShapeType.DrawingLine); + CurrentShapeType = ShapeType.DrawingLine; break; case Keys.NumPad8: - ChangeCurrentShapeType(ShapeType.DrawingArrow); + CurrentShapeType = ShapeType.DrawingArrow; break; case Keys.Add: switch (CurrentShapeType) @@ -416,13 +443,6 @@ private void surface_KeyDown(object sender, KeyEventArgs e) } } - private void ChangeCurrentShapeType(ShapeType shapeType) - { - CurrentShapeType = shapeType; - config.CurrentShapeType = CurrentShapeType; - DeselectArea(); - } - private void surface_KeyUp(object sender, KeyEventArgs e) { switch (e.KeyCode) diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs index 909f956eb..e63e81162 100644 --- a/ShareX/Forms/MainForm.cs +++ b/ShareX/Forms/MainForm.cs @@ -46,7 +46,7 @@ public partial class MainForm : HotkeyForm private bool forceClose, trayMenuSaveSettings = true, firstUpdateCheck = true; private UploadInfoManager uim; private ToolStripDropDownItem tsmiImageFileUploaders, tsmiTrayImageFileUploaders, tsmiTextFileUploaders, tsmiTrayTextFileUploaders; - private System.Threading.Timer updateTimer; + private System.Threading.Timer updateTimer = null; private static readonly object updateTimerLock = new object(); public MainForm()