From 80099ed5b1441e5612ceeb1927f4d6ca94c45e47 Mon Sep 17 00:00:00 2001 From: lazarus Date: Sat, 17 Aug 2002 23:41:08 +0000 Subject: [PATCH] MG: fixed gutter click git-svn-id: trunk@2222 - --- components/synedit/synedit.pp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/components/synedit/synedit.pp b/components/synedit/synedit.pp index 7cd6fb191f..14ced5f78e 100644 --- a/components/synedit/synedit.pp +++ b/components/synedit/synedit.pp @@ -1775,9 +1775,10 @@ begin exit; end; LastMouseCaret:=PixelsToRowColumn(Point(X,Y)); + fMouseDownX := X; + fMouseDownY := Y; {$ENDIF} -//writeln('TCustomSynEdit.MouseDown Mouse=',X,',',Y,' Caret=',CaretX,',',CaretY,', BlockBegin=',BlockBegin.X,',',BlockBegin.Y,' BlockEnd=',BlockEnd.X,',',BlockEnd.Y); -// if (Button = mbRight) and (Shift = [ssRight]) and Assigned(PopupMenu) and SelAvail + Exclude(fStateFlags, sfPossibleGutterClick); if (Button = mbRight) and SelAvail then //lt 2000-10-12 exit; bWasSel := false; @@ -1787,8 +1788,6 @@ begin if SelAvail then begin //remember selection state, as it will be cleared later bWasSel := true; - fMouseDownX := X; - fMouseDownY := Y; end; end; {$IFDEF SYN_LAZARUS} @@ -1850,12 +1849,14 @@ begin {$ENDIF} end; end; - if (fMouseDownX < fGutterWidth) then - Include(fStateFlags, sfPossibleGutterClick); {$IFDEF SYN_LAZARUS} + if (X < fGutterWidth) then + Include(fStateFlags, sfPossibleGutterClick); LCLLinux.SetFocus(Handle); UpdateCaret; {$ELSE} + if (fMouseDownX < fGutterWidth) then + Include(fStateFlags, sfPossibleGutterClick); Windows.SetFocus(Handle); {$ENDIF} //writeln('TCustomSynEdit.MouseDown END Mouse=',X,',',Y,' Caret=',CaretX,',',CaretY,', BlockBegin=',BlockBegin.X,',',BlockBegin.Y,' BlockEnd=',BlockEnd.X,',',BlockEnd.Y); @@ -2020,7 +2021,13 @@ begin LastMouseCaret:=PixelsToRowColumn(Point(X,Y)); {$ENDIF} if (Button = mbRight) and (Shift = [ssRight]) and Assigned(PopupMenu) then + begin + {$IFDEF SYN_LAZARUS} + fStateFlags:=fStateFlags-[sfDblClicked,sfTripleClicked,sfQuadClicked, + sfPossibleGutterClick]; + {$ENDIF} exit; + end; MouseCapture := False; if (sfPossibleGutterClick in fStateFlags) and (X < fGutterWidth) then DoOnGutterClick(X, Y)