Mouse wheel will change tool type instead of changing magnifier size

This commit is contained in:
Jaex 2016-05-06 18:01:23 +03:00
parent 3f78ffb972
commit afa3f75213
3 changed files with 41 additions and 45 deletions

View file

@ -79,7 +79,6 @@ public RectangleRegionForm()
{ {
KeyDown += RectangleRegion_KeyDown; KeyDown += RectangleRegion_KeyDown;
MouseDown += RectangleRegion_MouseDown; MouseDown += RectangleRegion_MouseDown;
MouseWheel += RectangleRegion_MouseWheel;
} }
private void RectangleRegion_MouseDown(object sender, MouseEventArgs e) private void RectangleRegion_MouseDown(object sender, MouseEventArgs e)
@ -127,32 +126,6 @@ private void CopyAreaInfo()
ClipboardHelpers.CopyText(clipboardText); 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() public override void Prepare()
{ {
base.Prepare(); base.Prepare();
@ -442,6 +415,9 @@ protected virtual void WriteTips(StringBuilder sb)
sb.AppendLine(); sb.AppendLine();
// TODO: Translate
sb.AppendLine("[Mouse wheel] Change current tool");
if (AreaManager.CurrentShapeType == ShapeType.RegionRectangle) sb.Append("-> "); if (AreaManager.CurrentShapeType == ShapeType.RegionRectangle) sb.Append("-> ");
sb.AppendLine(Resources.RectangleRegion_WriteTips__Numpad_1__Rectangle_shape); sb.AppendLine(Resources.RectangleRegion_WriteTips__Numpad_1__Rectangle_shape);
if (AreaManager.CurrentShapeType == ShapeType.RegionRoundedRectangle) sb.Append("-> "); if (AreaManager.CurrentShapeType == ShapeType.RegionRoundedRectangle) sb.Append("-> ");

View file

@ -38,7 +38,21 @@ public class AreaManager
public BaseShape CurrentShape { get; private set; } 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 public Rectangle CurrentRectangle
{ {
@ -145,10 +159,23 @@ public AreaManager(RectangleRegionForm surface)
surface.MouseUp += surface_MouseUp; surface.MouseUp += surface_MouseUp;
surface.KeyDown += surface_KeyDown; surface.KeyDown += surface_KeyDown;
surface.KeyUp += surface_KeyUp; surface.KeyUp += surface_KeyUp;
surface.MouseWheel += surface_MouseWheel;
CreateContextMenu(); CreateContextMenu();
} }
private void surface_MouseWheel(object sender, MouseEventArgs e)
{
if (e.Delta > 0)
{
CurrentShapeType = CurrentShapeType.Previous<ShapeType>();
}
else if (e.Delta < 0)
{
CurrentShapeType = CurrentShapeType.Next<ShapeType>();
}
}
private void CreateContextMenu() private void CreateContextMenu()
{ {
cmsContextMenu = new ContextMenuStrip(); cmsContextMenu = new ContextMenuStrip();
@ -170,7 +197,7 @@ private void CreateContextMenu()
tsmiShapeType.Click += (sender, e) => tsmiShapeType.Click += (sender, e) =>
{ {
tsmiShapeType.RadioCheck(); tsmiShapeType.RadioCheck();
ChangeCurrentShapeType(shapeType); CurrentShapeType = shapeType;
}; };
cmsContextMenu.Items.Add(tsmiShapeType); cmsContextMenu.Items.Add(tsmiShapeType);
} }
@ -370,28 +397,28 @@ private void surface_KeyDown(object sender, KeyEventArgs e)
IsSnapResizing = true; IsSnapResizing = true;
break; break;
case Keys.NumPad1: case Keys.NumPad1:
ChangeCurrentShapeType(ShapeType.RegionRectangle); CurrentShapeType = ShapeType.RegionRectangle;
break; break;
case Keys.NumPad2: case Keys.NumPad2:
ChangeCurrentShapeType(ShapeType.RegionRoundedRectangle); CurrentShapeType = ShapeType.RegionRoundedRectangle;
break; break;
case Keys.NumPad3: case Keys.NumPad3:
ChangeCurrentShapeType(ShapeType.RegionEllipse); CurrentShapeType = ShapeType.RegionEllipse;
break; break;
case Keys.NumPad4: case Keys.NumPad4:
ChangeCurrentShapeType(ShapeType.DrawingRectangle); CurrentShapeType = ShapeType.DrawingRectangle;
break; break;
case Keys.NumPad5: case Keys.NumPad5:
ChangeCurrentShapeType(ShapeType.DrawingRoundedRectangle); CurrentShapeType = ShapeType.DrawingRoundedRectangle;
break; break;
case Keys.NumPad6: case Keys.NumPad6:
ChangeCurrentShapeType(ShapeType.DrawingEllipse); CurrentShapeType = ShapeType.DrawingEllipse;
break; break;
case Keys.NumPad7: case Keys.NumPad7:
ChangeCurrentShapeType(ShapeType.DrawingLine); CurrentShapeType = ShapeType.DrawingLine;
break; break;
case Keys.NumPad8: case Keys.NumPad8:
ChangeCurrentShapeType(ShapeType.DrawingArrow); CurrentShapeType = ShapeType.DrawingArrow;
break; break;
case Keys.Add: case Keys.Add:
switch (CurrentShapeType) 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) private void surface_KeyUp(object sender, KeyEventArgs e)
{ {
switch (e.KeyCode) switch (e.KeyCode)

View file

@ -46,7 +46,7 @@ public partial class MainForm : HotkeyForm
private bool forceClose, trayMenuSaveSettings = true, firstUpdateCheck = true; private bool forceClose, trayMenuSaveSettings = true, firstUpdateCheck = true;
private UploadInfoManager uim; private UploadInfoManager uim;
private ToolStripDropDownItem tsmiImageFileUploaders, tsmiTrayImageFileUploaders, tsmiTextFileUploaders, tsmiTrayTextFileUploaders; private ToolStripDropDownItem tsmiImageFileUploaders, tsmiTrayImageFileUploaders, tsmiTextFileUploaders, tsmiTrayTextFileUploaders;
private System.Threading.Timer updateTimer; private System.Threading.Timer updateTimer = null;
private static readonly object updateTimerLock = new object(); private static readonly object updateTimerLock = new object();
public MainForm() public MainForm()