src/eric7/QScintilla/Shell.py

branch
eric7
changeset 9643
10839ab864e0
parent 9576
be9f8e7e42e0
child 9653
e67609152c5e
diff -r a0f7800fbfcb -r 10839ab864e0 src/eric7/QScintilla/Shell.py
--- a/src/eric7/QScintilla/Shell.py	Fri Dec 23 10:58:36 2022 +0100
+++ b/src/eric7/QScintilla/Shell.py	Fri Dec 23 11:35:54 2022 +0100
@@ -14,7 +14,7 @@
 import sys
 
 from PyQt6.Qsci import QsciScintilla
-from PyQt6.QtCore import QEvent, Qt, pyqtSignal, pyqtSlot
+from PyQt6.QtCore import QEvent, QPoint, Qt, pyqtSignal, pyqtSlot
 from PyQt6.QtGui import QClipboard, QFont, QPalette, QShortcut
 from PyQt6.QtWidgets import (
     QApplication,
@@ -333,6 +333,9 @@
             self.menu.addSeparator()
             self.menu.addAction(self.tr("Configure..."), self.__configure)
 
+            self.customContextMenuRequested.connect(self.__showContextMenu)
+        self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
+
         self.__bindLexer()
         self.__setTextDisplay()
         self.__setMargin0()
@@ -2014,15 +2017,16 @@
 
         return QsciScintillaCompat.focusNextPrevChild(self, nextChild)
 
-    def contextMenuEvent(self, ev):
+    @pyqtSlot(QPoint)
+    def __showContextMenu(self, pos):
         """
-        Protected method to show our own context menu.
+        Private slot to show a context menu.
 
-        @param ev context menu event (QContextMenuEvent)
+        @param pos position for the context menu
+        @type QPoint
         """
         if not self.__windowed:
-            self.menu.popup(ev.globalPos())
-            ev.accept()
+            self.menu.popup(self.mapToGlobal(pos))
 
     def clear(self):
         """

eric ide

mercurial