[Lazarus] Canvas.CopyRect query...

dominique at savagesoftware.com.au dominique at savagesoftware.com.au
Tue Oct 28 01:36:55 CET 2008


Christian Budde wrote:
>>> If I could help out to solve this issue I'd be glad to 'fix' some more 
>>> (like the annoying Shift+Click, that triggers slightly wrong and makes 
>>> me continuously enter the wrong unit).    
>>>       
>> Can you give an example  what exactly goes wrong with the shift click, 
>> please? (And which OS?)
>>     
> If you click on a unit for example, hold the mouse button down (pressed) 
> and then use the modifier [CTRL] it jumps to the units source 
> OnMouseButtonUp. In Delphi it only got triggered OnMouseButtonDown. So, 
> sorry it's not Shift+Click, but Ctrl+Click. However this is very 
> annoying for me, since I'm continuously entering the wrong units.
>
> All this is Win32. Haven't checked the other OS yet.
>   
This is probably cross all OS.  I am not sure what the intended 
behaviour is.

I guess that it is correct to take the action on Mouse-up, but it may be 
sensible to limit it on cases where ctrl was hold down during the 
mouse-down event. IMHO in that case, you could either say:
- if ctrl was down during mouse-down, then mouse-up should trigger the 
jump, independent of ctrl still being pressed or not
- if ctrl was down during mouse-down, then mouse-up will jump, if ctrl 
is still pressed, and was not released in between.
But maybe it can/should be done on MouseDown, but I don't know what 
opuld happen, if you end up in the new unit, with the mouse button still 
down?

Maybe others have ideas too, also you may wish to discuss this with the 
Lazarus team them self, if such a change would be accepted. Mattias 
would be probably be a good contact for this. Maybe he will pick up on 
this mail?

Implementing any change to this, should be straight forward, as all 
Mouse/Key-Up/Down handlers are in synedit.pp
Search for "CtrlMouse" and look at  SynEditMarkupCtrlMouseLink.pp 
(responsible for the underlining of the link), that should point you to 
all other places of interest.

Martin




More information about the Lazarus mailing list