src/eric7/WebBrowser/QtHelp/HelpSearchWidget.py

branch
eric7
changeset 9643
10839ab864e0
parent 9473
3f23dbf37dbe
child 9653
e67609152c5e
diff -r a0f7800fbfcb -r 10839ab864e0 src/eric7/WebBrowser/QtHelp/HelpSearchWidget.py
--- a/src/eric7/WebBrowser/QtHelp/HelpSearchWidget.py	Fri Dec 23 10:58:36 2022 +0100
+++ b/src/eric7/WebBrowser/QtHelp/HelpSearchWidget.py	Fri Dec 23 11:35:54 2022 +0100
@@ -7,7 +7,7 @@
 Module implementing a window for showing the QtHelp index.
 """
 
-from PyQt6.QtCore import Qt, QUrl, pyqtSignal, pyqtSlot
+from PyQt6.QtCore import QPoint, Qt, QUrl, pyqtSignal, pyqtSlot
 from PyQt6.QtGui import QClipboard, QGuiApplication
 from PyQt6.QtWidgets import QApplication, QMenu, QTextBrowser, QVBoxLayout, QWidget
 
@@ -70,6 +70,9 @@
 
         self.__browser = self.__result.findChildren(QTextBrowser)[0]
 
+        self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
+        self.customContextMenuRequested.connect(self.__showContextMenu)
+
     def __search(self):
         """
         Private slot to perform a search of the database.
@@ -137,13 +140,15 @@
         else:
             evt.ignore()
 
-    def contextMenuEvent(self, evt):
+    @pyqtSlot(QPoint)
+    def __showContextMenu(self, pos):
         """
-        Protected method handling context menu events.
+        Private slot to show a context menu.
 
-        @param evt reference to the context menu event (QContextMenuEvent)
+        @param pos position for the context menu
+        @type QPoint
         """
-        point = evt.globalPos()
+        point = self.mapToGlobal(pos)
 
         if self.__browser:
             point = self.__browser.mapFromGlobal(point)
@@ -168,9 +173,8 @@
             newWindow = menu.addAction(self.tr("Open Link in New Window"))
         menu.addSeparator()
         copyLink = menu.addAction(self.tr("Copy URL to Clipboard"))
-        menu.move(evt.globalPos())
 
-        act = menu.exec()
+        act = menu.exec(self.mapToGlobal(pos))
         if act == curTab:
             self.openUrl.emit(link)
         elif act == newTab:

eric ide

mercurial