The Alt-key with AltSetsColumnMode=1 should work like a
temporary modifier only, regardless of current
selection mode - and any mouse left-click anywhere in
the document should leave the selection mode unchanged.
As it is right now, AltSetsColumnMode=1 also means that
LeftMouse sets mode to Normal if it was in Column,
which is undersirable. If I manually select column
mode, that's usually for a reason.
Also, it does not work when Line mode is selected
(although one would expect it to).
I think the proper (expected and reasonable) way would
be to, on mouse-press, check for ( AltSetsColumnMode in
Options && Alt-pressed ) and if true, store the current
selection mode, change it to column and after the mouse
button is released, change it back to original.
So, in SynEdit.pas:2000:
begin
if (eoAltSetsColumnMode in Options) and
(fActiveSelectionMode <> smLine) then
begin
if ssAlt in Shift then
SelectionMode := smColumn
else
SelectionMode := smNormal;
end;
would be replaced with the if (... in Options) and
(ssAlt in Shift. Yes, this would require another ugly
global variable, which would be filled here with the
current mode before changing it to Column.
Every user of SynEdit-based products I have asked
expected this behaviour and was puzzled by the real one.
A happy PSPad user, coyot at pinknet.cz
Logged In: YES
user_id=1582866
Originator: NO
Seeing that you're back from the dead, do you think you could implement this? This inconsistence is driving me nuts :)