diff --git a/src/calibre/gui2/pyqt6_compat.py b/src/calibre/gui2/pyqt6_compat.py index 3807d897c2..d8f7fd371a 100644 --- a/src/calibre/gui2/pyqt6_compat.py +++ b/src/calibre/gui2/pyqt6_compat.py @@ -6,15 +6,24 @@ # for no good reason. Since we have a huge body of poorly maintained third # party plugin code, we NEED backward compat. -from qt.core import QSinglePointEvent +from qt.core import QSinglePointEvent, QDialog, QMenu, QDrag, QEventLoop, QThread, QMessageBox # Restore removed functions from QMouseEvent QSinglePointEvent.x = lambda self: int(self.position().x()) QSinglePointEvent.y = lambda self: int(self.position().y()) -QSinglePointEvent.globalPos = lambda self: self.globalPosition.toPoint() -QSinglePointEvent.globalX = lambda self: self.globalPosition.toPoint().x() -QSinglePointEvent.globalY = lambda self: self.globalPosition.toPoint().y() +QSinglePointEvent.globalPos = lambda self: self.globalPosition().toPoint() +QSinglePointEvent.globalX = lambda self: self.globalPosition().toPoint().x() +QSinglePointEvent.globalY = lambda self: self.globalPosition().toPoint().y() QSinglePointEvent.localPos = lambda self: self.position() QSinglePointEvent.screenPos = lambda self: self.globalPosition() QSinglePointEvent.windowPos = lambda self: self.scenePosition() + + +# Restore the removed exec_ method +QDialog.exec_ = QDialog.exec +QMenu.exec_ = QMenu.exec +QDrag.exec_ = QDrag.exec +QEventLoop.exec_ = QEventLoop.exec +QThread.exec_ = QThread.exec +QMessageBox.exec_ = QMessageBox.exec