From 0822eb52d5a2c5da888ce0bef7a8f7f36804142f Mon Sep 17 00:00:00 2001 From: zeljko Date: Thu, 26 Aug 2010 09:45:01 +0000 Subject: [PATCH] Qt: fixed context menu msg with right mouse click on QAbstractItemView classes.fixes #17133 git-svn-id: trunk@27194 - --- lcl/interfaces/qt/qtwidgets.pas | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lcl/interfaces/qt/qtwidgets.pas b/lcl/interfaces/qt/qtwidgets.pas index 36804ad8b6..22bc7dc42a 100644 --- a/lcl/interfaces/qt/qtwidgets.pas +++ b/lcl/interfaces/qt/qtwidgets.pas @@ -9288,10 +9288,10 @@ function TQtTreeWidget.EventFilter(Sender: QObjectH; Event: QEventH): Boolean; var item: QTreeWidgetItemH; begin - if LCLObject = nil then - exit; Result := False; QEvent_accept(Event); + if LCLObject = nil then + exit; if Checkable then begin if ( (QEvent_type(Event) = QEventKeyPress) or @@ -9315,8 +9315,9 @@ begin end else Result:=inherited EventFilter(Sender, Event); end else - if (QEvent_type(Event) = QEventMouseButtonPress) or - (QEvent_type(Event) = QEventMouseButtonRelease) then + if ((QEvent_type(Event) = QEventMouseButtonPress) or + (QEvent_type(Event) = QEventMouseButtonRelease)) + and (QMouseEvent_button(QMouseEventH(Event)) = QtLeftButton) then {eat mouse button events -> signalItemClicked is fired} else Result:=inherited EventFilter(Sender, Event); @@ -9325,7 +9326,8 @@ end; function TQtTreeWidget.itemViewViewportEventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; begin - if QEvent_type(Event) = QEventMouseButtonRelease then + if (QEvent_type(Event) = QEventMouseButtonRelease) + and (QMouseEvent_button(QMouseEventH(Event)) = QtLeftButton) then PostponedMouseRelease(Event) else Result := inherited itemViewViewportEventFilter(Sender, Event); @@ -12182,6 +12184,7 @@ begin QEventMouseButtonPress, QEventMouseButtonRelease, QEventMouseButtonDblClick: SlotMouse(Sender, Event); + QEventContextMenu: Result := SlotContextMenu(Sender, Event); else begin if not (ViewStyle in [Ord(vsIcon), Ord(vsSmallIcon)]) then