Added paste button to image editor edit menu

This commit is contained in:
Jaex 2017-12-01 10:58:53 +03:00
parent fd5bdaa9ea
commit de420e7319
2 changed files with 19 additions and 5 deletions

View file

@ -487,7 +487,7 @@ private void form_KeyDown(object sender, KeyEventArgs e)
CurrentTool = ShapeType.EffectPixelate;
break;
case Keys.Control | Keys.V:
PasteFromClipboard();
PasteFromClipboard(true);
break;
case Keys.Control | Keys.Z:
UndoShape();
@ -1299,8 +1299,19 @@ public void OrderStepShapes()
}
}
private void PasteFromClipboard()
private void PasteFromClipboard(bool insertMousePosition)
{
Point pos;
if (insertMousePosition)
{
pos = InputManager.ClientMousePosition;
}
else
{
pos = Form.ClientArea.Center();
}
if (Clipboard.ContainsImage())
{
Image img = ClipboardHelpers.GetImage();
@ -1309,7 +1320,6 @@ private void PasteFromClipboard()
{
CurrentTool = ShapeType.DrawingImage;
ImageDrawingShape shape = (ImageDrawingShape)CreateShape(ShapeType.DrawingImage);
Point pos = InputManager.ClientMousePosition;
shape.Rectangle = new Rectangle(pos.X, pos.Y, 1, 1);
shape.SetImage(img, true);
shape.OnCreated();
@ -1325,10 +1335,8 @@ private void PasteFromClipboard()
{
CurrentTool = ShapeType.DrawingTextBackground;
TextDrawingShape shape = (TextDrawingShape)CreateShape(ShapeType.DrawingTextBackground);
Point pos = InputManager.ClientMousePosition;
shape.Rectangle = new Rectangle(pos.X, pos.Y, 1, 1);
shape.Text = text.Trim();
shape.AutoSize(true);
shape.OnCreated();
AddShape(shape);
SelectCurrentShape();

View file

@ -557,6 +557,12 @@ internal void CreateToolbar()
tsmiUndo.MouseDown += (sender, e) => UndoShape();
tsddbEdit.DropDownItems.Add(tsmiUndo);
ToolStripMenuItem tsmiPaste = new ToolStripMenuItem("Paste image/text");
tsmiPaste.Image = Resources.clipboard;
tsmiPaste.ShortcutKeyDisplayString = "Ctrl+V";
tsmiPaste.MouseDown += (sender, e) => PasteFromClipboard(false);
tsddbEdit.DropDownItems.Add(tsmiPaste);
tsddbEdit.DropDownItems.Add(new ToolStripSeparator());
tsmiDelete = new ToolStripMenuItem(Resources.ShapeManager_CreateToolbar_Delete);