mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-07 20:17:13 +01:00
Qt: pass mousemove event to the viewport of TQtWindowArea, stop mouse propagation to parent. issue #29159
git-svn-id: trunk@50742 -
This commit is contained in:
parent
271ae54a9f
commit
26b75dd4d0
@ -606,6 +606,7 @@ type
|
||||
{abstractscrollarea events}
|
||||
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
|
||||
{viewport events}
|
||||
procedure SetNoMousePropagation(Sender: QWidgetH; const ANoMousePropagation: Boolean); override;
|
||||
function ScrollViewEventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl;
|
||||
function getWindowState: QtWindowStates; override;
|
||||
end;
|
||||
@ -6420,6 +6421,13 @@ begin
|
||||
Result := inherited EventFilter(Sender, Event);
|
||||
end;
|
||||
|
||||
procedure TQtWindowArea.SetNoMousePropagation(Sender: QWidgetH;
|
||||
const ANoMousePropagation: Boolean);
|
||||
begin
|
||||
{must be overrided, see issue #29159}
|
||||
QWidget_setAttribute(Sender, QtWA_NoMousePropagation, ANoMousePropagation);
|
||||
end;
|
||||
|
||||
function TQtWindowArea.ScrollViewEventFilter(Sender: QObjectH; Event: QEventH
|
||||
): Boolean; cdecl;
|
||||
var
|
||||
@ -6433,7 +6441,9 @@ begin
|
||||
BeginEventProcessing;
|
||||
try
|
||||
if (QEvent_Type(Event) in [QEventContextMenu, QEventHoverEnter, QEventPaint,
|
||||
QEventHoverMove, QEventHoverLeave, QEventHide]) then
|
||||
QEventHoverMove, QEventHoverLeave, QEventHide,
|
||||
{must be added, see issue #29159}
|
||||
QEventMouseMove]) then
|
||||
begin
|
||||
Result := inherited EventFilter(Sender, Event);
|
||||
end else
|
||||
|
||||
Loading…
Reference in New Issue
Block a user