mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-16 01:49:27 +02:00
Qt: fixed getting itemAt(), problem was in misplaced MouseMove - should be used by viewport.issue #24976
git-svn-id: trunk@42678 -
This commit is contained in:
parent
1ceaecab57
commit
fe70c30788
@ -12321,6 +12321,7 @@ var
|
||||
MousePos: TQtPoint;
|
||||
Item: QTreeWidgetItemH;
|
||||
ALCLEvent: QLCLMessageEventH;
|
||||
W: QHeaderViewH;
|
||||
begin
|
||||
Result := False;
|
||||
if (ViewStyle = Ord(vsReport)) and Checkable then
|
||||
@ -12365,7 +12366,20 @@ begin
|
||||
Result := inherited itemViewViewportEventFilter(Sender, Event);
|
||||
end;
|
||||
end else
|
||||
Result := inherited itemViewViewportEventFilter(Sender, Event);
|
||||
begin
|
||||
if (QEvent_type(Event) = QEventMouseMove) and (LCLObject <> nil) then
|
||||
begin
|
||||
W := QTreeView_header(QTreeViewH(Widget));
|
||||
if QWidget_isVisible(W) and QWidget_isVisibleTo(W, Widget) then
|
||||
begin
|
||||
BeginEventProcessing;
|
||||
Result := SlotMouseMove(Sender, Event);
|
||||
EndEventProcessing;
|
||||
end else
|
||||
Result := inherited itemViewViewportEventFilter(Sender, Event);
|
||||
end else
|
||||
Result := inherited itemViewViewportEventFilter(Sender, Event);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TQtTreeWidget.OwnerDataNeeded(ARect: TRect);
|
||||
|
@ -1667,11 +1667,7 @@ begin
|
||||
end else
|
||||
begin
|
||||
QtTreeWidget := TQtTreeWidget(ALV.Handle);
|
||||
HeaderOffset := QtTreeWidget.getHeaderHeight(AOrientation);
|
||||
HeaderOffset := y - HeaderOffset;
|
||||
if HeaderOffset < 0 then
|
||||
exit(-1); // do not return anything if Y is inside header.
|
||||
TWI := QtTreeWidget.itemAt(x, HeaderOffset);
|
||||
TWI := QtTreeWidget.itemAt(x, y);
|
||||
Result := QtTreeWidget.getRow(TWI);
|
||||
end;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user