|
@@ -1554,8 +1554,20 @@ end;
|
|
procedure TImageActions.DeleteSelection;
|
|
procedure TImageActions.DeleteSelection;
|
|
var LayerAction: TLayerAction;
|
|
var LayerAction: TLayerAction;
|
|
doErase, wasSelecting: Boolean;
|
|
doErase, wasSelecting: Boolean;
|
|
|
|
+ prevTool: TPaintToolType;
|
|
begin
|
|
begin
|
|
- if image.SelectionMaskEmpty then exit;
|
|
|
|
|
|
+ if image.SelectionMaskEmpty then
|
|
|
|
+ begin
|
|
|
|
+ prevTool := ToolManager.GetCurrentToolType;
|
|
|
|
+ if (prevTool in [ptMoveLayer, ptZoomLayer, ptRotateLayer])
|
|
|
|
+ and (image.NbLayers > 1) then
|
|
|
|
+ begin
|
|
|
|
+ ChooseTool(ptHand, false);
|
|
|
|
+ Image.RemoveLayer;
|
|
|
|
+ ChooseTool(prevTool, false);
|
|
|
|
+ end;
|
|
|
|
+ exit;
|
|
|
|
+ end;
|
|
wasSelecting := ToolManager.GetCurrentToolType in [ptSelectPen..ptSelectSpline];
|
|
wasSelecting := ToolManager.GetCurrentToolType in [ptSelectPen..ptSelectSpline];
|
|
if wasSelecting then ToolManager.ToolCloseDontReopen
|
|
if wasSelecting then ToolManager.ToolCloseDontReopen
|
|
else if not image.CheckNoAction then exit;
|
|
else if not image.CheckNoAction then exit;
|