I just stumbled on the below
if SrcEdit.EditorComponent.SelectionMode<>smNormal then exit;
will not prevent the indent if an smColum mode block is inserted.
The mode of the data inserted has nothing to do with the mode of the
current block.
And after the insert, there is no block, therefore it can not be checked.
the new event will explicitly report the mode.
The advantage of OnPaste is that it will also be called for quick-paste
(middle mouse) which indenter currently is not.
Only thing that will not call anything, is drop-drag-edit (can be
addressed later)
Martin
ecPaste:
begin
if not CodeToolsOpts.IndentOnPaste then exit;
if SrcEdit.EditorComponent.SelectionMode<>smNormal then exit;
if LogCaret.X>1 then
inc(FirstLinePos);
if LogCaret.Y=LastLinePos then
dec(LastLinePos);
if LastLinePos<FirstLinePos then exit; // not a whole line
end
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus