Explorar el Código

#277 delete current layer

circular17 hace 3 años
padre
commit
2d6e97f7d1
Se han modificado 1 ficheros con 12 adiciones y 0 borrados
  1. 12 0
      lazpaint/uimageview.pas

+ 12 - 0
lazpaint/uimageview.pas

@@ -674,7 +674,19 @@ begin
 end;
 
 function TImageView.CatchToolKeyDown(var AKey: Word): boolean;
+var
+  prevTool: TPaintToolType;
 begin
+  if (AKey = VK_DELETE) and
+     (LazPaintInstance.ToolManager.GetCurrentToolType in[ptMoveLayer, ptRotateLayer, ptZoomLayer]) and
+     (Image.NbLayers > 1) then
+  begin
+    prevTool := LazPaintInstance.ToolManager.GetCurrentToolType;
+    LazPaintInstance.ChooseTool(ptHand, false);
+    Image.RemoveLayer;
+    LazPaintInstance.ChooseTool(prevTool, false);
+    exit;
+  end;
   FCatchPaintPicture:= true;
   FPaintPictureCatched := false;
   try