diff --git a/bypy/init_env.py b/bypy/init_env.py index 3da499f1d1..5f42b4fdb8 100644 --- a/bypy/init_env.py +++ b/bypy/init_env.py @@ -24,20 +24,22 @@ dlls = [ # 'WebView', 'Positioning', 'Sensors', + 'SpatialAudio', 'Sql', 'Svg', + 'TextToSpeech', 'WebChannel', 'WebEngineCore', 'WebEngineWidgets', 'Widgets', - # 'Multimedia', + 'Multimedia', + 'MultimediaWidgets', 'OpenGL', 'OpenGLWidgets', 'Quick', 'QuickWidgets', 'Qml', 'QmlModels', - # 'MultimediaWidgets', 'Xml', # 'XmlPatterns', ] @@ -56,6 +58,8 @@ QT_PLUGINS = [ 'imageformats', 'iconengines', 'tls', + 'multimedia', + 'texttospeech', # 'mediaservice', 'platforms', # 'playlistformats', @@ -82,7 +86,8 @@ PYQT_MODULES = ( 'QtCore', 'QtGui', 'QtNetwork', - # 'QtMultimedia', 'QtMultimediaWidgets', + 'QtMultimedia', 'QtMultimediaWidgets', + 'QtTextToSpeech', 'QtPrintSupport', 'QtSensors', 'QtSvg', diff --git a/bypy/linux.conf b/bypy/linux.conf index d3c7ce0c15..a0fac22a1c 100644 --- a/bypy/linux.conf +++ b/bypy/linux.conf @@ -2,4 +2,4 @@ image 'https://cloud-images.ubuntu.com/releases/jammy/release/ubuntu-22.04-serve # Build time deps for Qt. See https://doc.qt.io/qt-6/linux-requirements.html and # https://doc.qt.io/qt-6/qtwebengine-platform-notes.html -deps 'flex bison gperf ruby python2 libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-util-dev xkb-data libglu1-mesa-dev libxkbcommon-dev libinput-dev libxkbcommon-x11-dev libxkbfile-dev libgtk2.0-dev libvulkan-dev libwayland-dev libwayland-egl1-mesa libxcb-xkb-dev libegl1-mesa-dev libxtst-dev libnss3-dev libfreetype6-dev libfontconfig-dev libdrm-dev libxshmfence-dev libcups2-dev libxcb-cursor-dev libgbm-dev' +deps 'flex bison gperf ruby python2 libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-util-dev xkb-data libglu1-mesa-dev libxkbcommon-dev libinput-dev libxkbcommon-x11-dev libxkbfile-dev libgtk2.0-dev libvulkan-dev libwayland-dev libwayland-egl1-mesa libxcb-xkb-dev libegl1-mesa-dev libxtst-dev libnss3-dev libfreetype6-dev libfontconfig-dev libdrm-dev libxshmfence-dev libcups2-dev libxcb-cursor-dev libgbm-dev libpulse-dev libasound2-dev flite1-dev libspeechd-dev' diff --git a/bypy/sources.json b/bypy/sources.json index a0cf30b02c..f8143602be 100644 --- a/bypy/sources.json +++ b/bypy/sources.json @@ -571,6 +571,20 @@ } }, + { + "name": "qt-multimedia", + "hashes": { + "unix": "sha256:8ef835115acb9a1d3d2c9f23cfacb43f2c537e3786a8ab822299a2a7765651d3" + } + }, + + { + "name": "qt-speech", + "hashes": { + "unix": "sha256:cc8c769404e3e49713be304a73f936890a1ef2f88d590732785f34692a4814ce" + } + }, + { "name": "qt-webengine", "hashes": { diff --git a/setup/unix-ci.py b/setup/unix-ci.py index 6040677fde..5ef2680cd1 100644 --- a/setup/unix-ci.py +++ b/setup/unix-ci.py @@ -114,7 +114,7 @@ def run_python(*args): def install_linux_deps(): run('sudo', 'apt-get', 'update', '-y') # run('sudo', 'apt-get', 'upgrade', '-y') - run('sudo', 'apt-get', 'install', '-y', 'gettext', 'libgl1-mesa-dev', 'libxkbcommon-dev', 'libxkbcommon-x11-dev') + run('sudo', 'apt-get', 'install', '-y', 'gettext', 'libgl1-mesa-dev', 'libxkbcommon-dev', 'libxkbcommon-x11-dev', 'libflite1', 'libspeechd2') def get_tx(): diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py index 898caad665..91916677dd 100644 --- a/src/calibre/test_build.py +++ b/src/calibre/test_build.py @@ -314,7 +314,7 @@ class BuildTest(unittest.TestCase): def test_qt(self): if is_sanitized: raise unittest.SkipTest('Skipping Qt build test as sanitizer is enabled') - from qt.core import QApplication, QFontDatabase, QImageReader, QLoggingCategory, QNetworkAccessManager, QSslSocket, QTimer + from qt.core import QApplication, QFontDatabase, QImageReader, QLoggingCategory, QNetworkAccessManager, QSslSocket, QTimer, QTextToSpeech QLoggingCategory.setFilterRules('''qt.webenginecontext.debug=true''') if hasattr(os, 'geteuid') and os.geteuid() == 0: # likely a container build, webengine cannot run as root with sandbox @@ -348,6 +348,10 @@ class BuildTest(unittest.TestCase): try: ensure_app() self.assertGreaterEqual(len(QFontDatabase.families()), 5, 'The QPA headless plugin is not able to locate enough system fonts via fontconfig') + available_tts_engines = tuple(x for x in QTextToSpeech.availableEngines() if x != 'mock') + self.assertTrue(available_tts_engines) + + self.assertGreaterEqual from calibre.ebooks.oeb.transforms.rasterize import rasterize_svg img = rasterize_svg(as_qimage=True) self.assertFalse(img.isNull()) diff --git a/src/qt/__init__.py b/src/qt/__init__.py index e552b5be47..be63317158 100644 --- a/src/qt/__init__.py +++ b/src/qt/__init__.py @@ -1,5 +1,5 @@ # autogenerated by __main__.py do not edit -top_level_module_names=('QtCore', 'QtGui', 'QtWidgets', 'QtNetwork', 'QtSvg', 'QtPrintSupport', 'QtOpenGL', 'QtOpenGLWidgets', 'QtQuick', 'QtWebEngineCore', 'QtWebEngineWidgets', 'QtDBus') +top_level_module_names=('QtCore', 'QtGui', 'QtWidgets', 'QtNetwork', 'QtSvg', 'QtPrintSupport', 'QtOpenGL', 'QtOpenGLWidgets', 'QtQuick', 'QtMultimedia', 'QtMultimediaWidgets', 'QtTextToSpeech', 'QtWebEngineCore', 'QtWebEngineWidgets', 'QtDBus') def __getattr__(name): diff --git a/src/qt/__main__.py b/src/qt/__main__.py index b857cf2907..3ed8e56337 100644 --- a/src/qt/__main__.py +++ b/src/qt/__main__.py @@ -20,6 +20,7 @@ module_lists = { 'QtOpenGL', 'QtOpenGLWidgets', 'QtQuick', + 'QtMultimedia', 'QtMultimediaWidgets', 'QtTextToSpeech', ), 'webengine': ( 'QtWebEngineCore', diff --git a/src/qt/core.pyi b/src/qt/core.pyi index fbac6b66d9..8b039701a5 100644 --- a/src/qt/core.pyi +++ b/src/qt/core.pyi @@ -1,6 +1,5 @@ # autogenerated by __main__.py do not edit import PyQt6.QtCore - PYQT_VERSION = PyQt6.QtCore.PYQT_VERSION PYQT_VERSION_STR = PyQt6.QtCore.PYQT_VERSION_STR QAbstractAnimation = PyQt6.QtCore.QAbstractAnimation @@ -13,10 +12,13 @@ QAbstractTableModel = PyQt6.QtCore.QAbstractTableModel QAnimationGroup = PyQt6.QtCore.QAnimationGroup QBasicTimer = PyQt6.QtCore.QBasicTimer QBitArray = PyQt6.QtCore.QBitArray +QBluetoothPermission = PyQt6.QtCore.QBluetoothPermission QBuffer = PyQt6.QtCore.QBuffer QByteArray = PyQt6.QtCore.QByteArray QByteArrayMatcher = PyQt6.QtCore.QByteArrayMatcher QCalendar = PyQt6.QtCore.QCalendar +QCalendarPermission = PyQt6.QtCore.QCalendarPermission +QCameraPermission = PyQt6.QtCore.QCameraPermission QCborError = PyQt6.QtCore.QCborError QCborKnownTags = PyQt6.QtCore.QCborKnownTags QCborSimpleType = PyQt6.QtCore.QCborSimpleType @@ -28,6 +30,7 @@ QCollatorSortKey = PyQt6.QtCore.QCollatorSortKey QCommandLineOption = PyQt6.QtCore.QCommandLineOption QCommandLineParser = PyQt6.QtCore.QCommandLineParser QConcatenateTablesProxyModel = PyQt6.QtCore.QConcatenateTablesProxyModel +QContactsPermission = PyQt6.QtCore.QContactsPermission QCoreApplication = PyQt6.QtCore.QCoreApplication QCryptographicHash = PyQt6.QtCore.QCryptographicHash QDataStream = PyQt6.QtCore.QDataStream @@ -64,6 +67,7 @@ QLibraryInfo = PyQt6.QtCore.QLibraryInfo QLine = PyQt6.QtCore.QLine QLineF = PyQt6.QtCore.QLineF QLocale = PyQt6.QtCore.QLocale +QLocationPermission = PyQt6.QtCore.QLocationPermission QLockFile = PyQt6.QtCore.QLockFile QLoggingCategory = PyQt6.QtCore.QLoggingCategory QMargins = PyQt6.QtCore.QMargins @@ -77,19 +81,23 @@ QMetaMethod = PyQt6.QtCore.QMetaMethod QMetaObject = PyQt6.QtCore.QMetaObject QMetaProperty = PyQt6.QtCore.QMetaProperty QMetaType = PyQt6.QtCore.QMetaType +QMicrophonePermission = PyQt6.QtCore.QMicrophonePermission QMimeData = PyQt6.QtCore.QMimeData QMimeDatabase = PyQt6.QtCore.QMimeDatabase QMimeType = PyQt6.QtCore.QMimeType QModelIndex = PyQt6.QtCore.QModelIndex QModelRoleData = PyQt6.QtCore.QModelRoleData +QModelRoleDataSpan = PyQt6.QtCore.QModelRoleDataSpan QMutex = PyQt6.QtCore.QMutex QMutexLocker = PyQt6.QtCore.QMutexLocker +QNativeIpcKey = PyQt6.QtCore.QNativeIpcKey QObject = PyQt6.QtCore.QObject QObjectCleanupHandler = PyQt6.QtCore.QObjectCleanupHandler QOperatingSystemVersion = PyQt6.QtCore.QOperatingSystemVersion QOperatingSystemVersionBase = PyQt6.QtCore.QOperatingSystemVersionBase QParallelAnimationGroup = PyQt6.QtCore.QParallelAnimationGroup QPauseAnimation = PyQt6.QtCore.QPauseAnimation +QPermission = PyQt6.QtCore.QPermission QPersistentModelIndex = PyQt6.QtCore.QPersistentModelIndex QPluginLoader = PyQt6.QtCore.QPluginLoader QPoint = PyQt6.QtCore.QPoint @@ -193,6 +201,7 @@ qFatal = PyQt6.QtCore.qFatal qFloatDistance = PyQt6.QtCore.qFloatDistance qFormatLogMessage = PyQt6.QtCore.qFormatLogMessage qFuzzyCompare = PyQt6.QtCore.qFuzzyCompare +qFuzzyIsNull = PyQt6.QtCore.qFuzzyIsNull qInf = PyQt6.QtCore.qInf qInfo = PyQt6.QtCore.qInfo qInstallMessageHandler = PyQt6.QtCore.qInstallMessageHandler @@ -213,8 +222,8 @@ qUncompress = PyQt6.QtCore.qUncompress qUnregisterResourceData = PyQt6.QtCore.qUnregisterResourceData qVersion = PyQt6.QtCore.qVersion qWarning = PyQt6.QtCore.qWarning +qYieldCpu = PyQt6.QtCore.qYieldCpu import PyQt6.QtGui - QAbstractFileIconProvider = PyQt6.QtGui.QAbstractFileIconProvider QAbstractTextDocumentLayout = PyQt6.QtGui.QAbstractTextDocumentLayout QAction = PyQt6.QtGui.QAction @@ -223,6 +232,7 @@ QActionGroup = PyQt6.QtGui.QActionGroup QBackingStore = PyQt6.QtGui.QBackingStore QBitmap = PyQt6.QtGui.QBitmap QBrush = PyQt6.QtGui.QBrush +QChildWindowEvent = PyQt6.QtGui.QChildWindowEvent QClipboard = PyQt6.QtGui.QClipboard QCloseEvent = PyQt6.QtGui.QCloseEvent QColor = PyQt6.QtGui.QColor @@ -398,7 +408,6 @@ qRgba64 = PyQt6.QtGui.qRgba64 qUnpremultiply = PyQt6.QtGui.qUnpremultiply qt_set_sequence_auto_mnemonic = PyQt6.QtGui.qt_set_sequence_auto_mnemonic import PyQt6.QtWidgets - QAbstractButton = PyQt6.QtWidgets.QAbstractButton QAbstractGraphicsShapeItem = PyQt6.QtWidgets.QAbstractGraphicsShapeItem QAbstractItemDelegate = PyQt6.QtWidgets.QAbstractItemDelegate @@ -586,13 +595,13 @@ QWizard = PyQt6.QtWidgets.QWizard QWizardPage = PyQt6.QtWidgets.QWizardPage qDrawBorderPixmap = PyQt6.QtWidgets.qDrawBorderPixmap qDrawPlainRect = PyQt6.QtWidgets.qDrawPlainRect +qDrawPlainRoundedRect = PyQt6.QtWidgets.qDrawPlainRoundedRect qDrawShadeLine = PyQt6.QtWidgets.qDrawShadeLine qDrawShadePanel = PyQt6.QtWidgets.qDrawShadePanel qDrawShadeRect = PyQt6.QtWidgets.qDrawShadeRect qDrawWinButton = PyQt6.QtWidgets.qDrawWinButton qDrawWinPanel = PyQt6.QtWidgets.qDrawWinPanel import PyQt6.QtNetwork - QAbstractNetworkCache = PyQt6.QtNetwork.QAbstractNetworkCache QAbstractSocket = PyQt6.QtNetwork.QAbstractSocket QAuthenticator = PyQt6.QtNetwork.QAuthenticator @@ -605,7 +614,9 @@ QDnsTextRecord = PyQt6.QtNetwork.QDnsTextRecord QHostAddress = PyQt6.QtNetwork.QHostAddress QHostInfo = PyQt6.QtNetwork.QHostInfo QHstsPolicy = PyQt6.QtNetwork.QHstsPolicy +QHttp1Configuration = PyQt6.QtNetwork.QHttp1Configuration QHttp2Configuration = PyQt6.QtNetwork.QHttp2Configuration +QHttpHeaders = PyQt6.QtNetwork.QHttpHeaders QHttpMultiPart = PyQt6.QtNetwork.QHttpMultiPart QHttpPart = PyQt6.QtNetwork.QHttpPart QLocalServer = PyQt6.QtNetwork.QLocalServer @@ -638,16 +649,15 @@ QSslEllipticCurve = PyQt6.QtNetwork.QSslEllipticCurve QSslError = PyQt6.QtNetwork.QSslError QSslKey = PyQt6.QtNetwork.QSslKey QSslPreSharedKeyAuthenticator = PyQt6.QtNetwork.QSslPreSharedKeyAuthenticator +QSslServer = PyQt6.QtNetwork.QSslServer QSslSocket = PyQt6.QtNetwork.QSslSocket QTcpServer = PyQt6.QtNetwork.QTcpServer QTcpSocket = PyQt6.QtNetwork.QTcpSocket QUdpSocket = PyQt6.QtNetwork.QUdpSocket import PyQt6.QtSvg - QSvgGenerator = PyQt6.QtSvg.QSvgGenerator QSvgRenderer = PyQt6.QtSvg.QSvgRenderer import PyQt6.QtPrintSupport - QAbstractPrintDialog = PyQt6.QtPrintSupport.QAbstractPrintDialog QPageSetupDialog = PyQt6.QtPrintSupport.QPageSetupDialog QPrintDialog = PyQt6.QtPrintSupport.QPrintDialog @@ -657,7 +667,6 @@ QPrintPreviewWidget = PyQt6.QtPrintSupport.QPrintPreviewWidget QPrinter = PyQt6.QtPrintSupport.QPrinter QPrinterInfo = PyQt6.QtPrintSupport.QPrinterInfo import PyQt6.QtOpenGL - QAbstractOpenGLFunctions = PyQt6.QtOpenGL.QAbstractOpenGLFunctions QOpenGLBuffer = PyQt6.QtOpenGL.QOpenGLBuffer QOpenGLDebugLogger = PyQt6.QtOpenGL.QOpenGLDebugLogger @@ -680,10 +689,8 @@ QOpenGLVersionProfile = PyQt6.QtOpenGL.QOpenGLVersionProfile QOpenGLVertexArrayObject = PyQt6.QtOpenGL.QOpenGLVertexArrayObject QOpenGLWindow = PyQt6.QtOpenGL.QOpenGLWindow import PyQt6.QtOpenGLWidgets - QOpenGLWidget = PyQt6.QtOpenGLWidgets.QOpenGLWidget import PyQt6.QtQuick - QNativeInterface = PyQt6.QtQuick.QNativeInterface QQuickAsyncImageProvider = PyQt6.QtQuick.QQuickAsyncImageProvider QQuickCloseEvent = PyQt6.QtQuick.QQuickCloseEvent @@ -719,8 +726,44 @@ QSGRenderNode = PyQt6.QtQuick.QSGRenderNode QSGRendererInterface = PyQt6.QtQuick.QSGRendererInterface QSGSimpleRectNode = PyQt6.QtQuick.QSGSimpleRectNode QSGSimpleTextureNode = PyQt6.QtQuick.QSGSimpleTextureNode +QSGTextNode = PyQt6.QtQuick.QSGTextNode QSGTexture = PyQt6.QtQuick.QSGTexture QSGTextureMaterial = PyQt6.QtQuick.QSGTextureMaterial QSGTextureProvider = PyQt6.QtQuick.QSGTextureProvider QSGTransformNode = PyQt6.QtQuick.QSGTransformNode -QSGVertexColorMaterial = PyQt6.QtQuick.QSGVertexColorMaterial \ No newline at end of file +QSGVertexColorMaterial = PyQt6.QtQuick.QSGVertexColorMaterial +import PyQt6.QtMultimedia +QAudio = PyQt6.QtMultimedia.QAudio +QAudioBuffer = PyQt6.QtMultimedia.QAudioBuffer +QAudioDecoder = PyQt6.QtMultimedia.QAudioDecoder +QAudioDevice = PyQt6.QtMultimedia.QAudioDevice +QAudioFormat = PyQt6.QtMultimedia.QAudioFormat +QAudioInput = PyQt6.QtMultimedia.QAudioInput +QAudioOutput = PyQt6.QtMultimedia.QAudioOutput +QAudioSink = PyQt6.QtMultimedia.QAudioSink +QAudioSource = PyQt6.QtMultimedia.QAudioSource +QCamera = PyQt6.QtMultimedia.QCamera +QCameraDevice = PyQt6.QtMultimedia.QCameraDevice +QCameraFormat = PyQt6.QtMultimedia.QCameraFormat +QCapturableWindow = PyQt6.QtMultimedia.QCapturableWindow +QImageCapture = PyQt6.QtMultimedia.QImageCapture +QMediaCaptureSession = PyQt6.QtMultimedia.QMediaCaptureSession +QMediaDevices = PyQt6.QtMultimedia.QMediaDevices +QMediaFormat = PyQt6.QtMultimedia.QMediaFormat +QMediaMetaData = PyQt6.QtMultimedia.QMediaMetaData +QMediaPlayer = PyQt6.QtMultimedia.QMediaPlayer +QMediaRecorder = PyQt6.QtMultimedia.QMediaRecorder +QMediaTimeRange = PyQt6.QtMultimedia.QMediaTimeRange +QScreenCapture = PyQt6.QtMultimedia.QScreenCapture +QSoundEffect = PyQt6.QtMultimedia.QSoundEffect +QVideoFrame = PyQt6.QtMultimedia.QVideoFrame +QVideoFrameFormat = PyQt6.QtMultimedia.QVideoFrameFormat +QVideoSink = PyQt6.QtMultimedia.QVideoSink +QWindowCapture = PyQt6.QtMultimedia.QWindowCapture +QtVideo = PyQt6.QtMultimedia.QtVideo +import PyQt6.QtMultimediaWidgets +QGraphicsVideoItem = PyQt6.QtMultimediaWidgets.QGraphicsVideoItem +QVideoWidget = PyQt6.QtMultimediaWidgets.QVideoWidget +import PyQt6.QtTextToSpeech +QTextToSpeech = PyQt6.QtTextToSpeech.QTextToSpeech +QVoice = PyQt6.QtTextToSpeech.QVoice \ No newline at end of file diff --git a/src/qt/core_name_map.py b/src/qt/core_name_map.py index 1a90852010..79c2b21e1a 100644 --- a/src/qt/core_name_map.py +++ b/src/qt/core_name_map.py @@ -26,11 +26,21 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QActionGroup': 'PyQt6.QtGui', 'QAnimationGroup': 'PyQt6.QtCore', 'QApplication': 'PyQt6.QtWidgets', + 'QAudio': 'PyQt6.QtMultimedia', + 'QAudioBuffer': 'PyQt6.QtMultimedia', + 'QAudioDecoder': 'PyQt6.QtMultimedia', + 'QAudioDevice': 'PyQt6.QtMultimedia', + 'QAudioFormat': 'PyQt6.QtMultimedia', + 'QAudioInput': 'PyQt6.QtMultimedia', + 'QAudioOutput': 'PyQt6.QtMultimedia', + 'QAudioSink': 'PyQt6.QtMultimedia', + 'QAudioSource': 'PyQt6.QtMultimedia', 'QAuthenticator': 'PyQt6.QtNetwork', 'QBackingStore': 'PyQt6.QtGui', 'QBasicTimer': 'PyQt6.QtCore', 'QBitArray': 'PyQt6.QtCore', 'QBitmap': 'PyQt6.QtGui', + 'QBluetoothPermission': 'PyQt6.QtCore', 'QBoxLayout': 'PyQt6.QtWidgets', 'QBrush': 'PyQt6.QtGui', 'QBuffer': 'PyQt6.QtCore', @@ -38,7 +48,13 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QByteArray': 'PyQt6.QtCore', 'QByteArrayMatcher': 'PyQt6.QtCore', 'QCalendar': 'PyQt6.QtCore', + 'QCalendarPermission': 'PyQt6.QtCore', 'QCalendarWidget': 'PyQt6.QtWidgets', + 'QCamera': 'PyQt6.QtMultimedia', + 'QCameraDevice': 'PyQt6.QtMultimedia', + 'QCameraFormat': 'PyQt6.QtMultimedia', + 'QCameraPermission': 'PyQt6.QtCore', + 'QCapturableWindow': 'PyQt6.QtMultimedia', 'QCborError': 'PyQt6.QtCore', 'QCborKnownTags': 'PyQt6.QtCore', 'QCborSimpleType': 'PyQt6.QtCore', @@ -46,6 +62,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QCborStreamWriter': 'PyQt6.QtCore', 'QCheckBox': 'PyQt6.QtWidgets', 'QChildEvent': 'PyQt6.QtCore', + 'QChildWindowEvent': 'PyQt6.QtGui', 'QClipboard': 'PyQt6.QtGui', 'QCloseEvent': 'PyQt6.QtGui', 'QCollator': 'PyQt6.QtCore', @@ -64,6 +81,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QCompleter': 'PyQt6.QtWidgets', 'QConcatenateTablesProxyModel': 'PyQt6.QtCore', 'QConicalGradient': 'PyQt6.QtGui', + 'QContactsPermission': 'PyQt6.QtCore', 'QContextMenuEvent': 'PyQt6.QtGui', 'QCoreApplication': 'PyQt6.QtCore', 'QCryptographicHash': 'PyQt6.QtCore', @@ -168,6 +186,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QGraphicsSimpleTextItem': 'PyQt6.QtWidgets', 'QGraphicsTextItem': 'PyQt6.QtWidgets', 'QGraphicsTransform': 'PyQt6.QtWidgets', + 'QGraphicsVideoItem': 'PyQt6.QtMultimediaWidgets', 'QGraphicsView': 'PyQt6.QtWidgets', 'QGraphicsWidget': 'PyQt6.QtWidgets', 'QGridLayout': 'PyQt6.QtWidgets', @@ -181,7 +200,9 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QHostInfo': 'PyQt6.QtNetwork', 'QHoverEvent': 'PyQt6.QtGui', 'QHstsPolicy': 'PyQt6.QtNetwork', + 'QHttp1Configuration': 'PyQt6.QtNetwork', 'QHttp2Configuration': 'PyQt6.QtNetwork', + 'QHttpHeaders': 'PyQt6.QtNetwork', 'QHttpMultiPart': 'PyQt6.QtNetwork', 'QHttpPart': 'PyQt6.QtNetwork', 'QIODevice': 'PyQt6.QtCore', @@ -191,6 +212,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QIconEngine': 'PyQt6.QtGui', 'QIdentityProxyModel': 'PyQt6.QtCore', 'QImage': 'PyQt6.QtGui', + 'QImageCapture': 'PyQt6.QtMultimedia', 'QImageIOHandler': 'PyQt6.QtGui', 'QImageReader': 'PyQt6.QtGui', 'QImageWriter': 'PyQt6.QtGui', @@ -230,6 +252,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QLocalServer': 'PyQt6.QtNetwork', 'QLocalSocket': 'PyQt6.QtNetwork', 'QLocale': 'PyQt6.QtCore', + 'QLocationPermission': 'PyQt6.QtCore', 'QLockFile': 'PyQt6.QtCore', 'QLoggingCategory': 'PyQt6.QtCore', 'QMainWindow': 'PyQt6.QtWidgets', @@ -246,6 +269,13 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QMatrix4x4': 'PyQt6.QtGui', 'QMdiArea': 'PyQt6.QtWidgets', 'QMdiSubWindow': 'PyQt6.QtWidgets', + 'QMediaCaptureSession': 'PyQt6.QtMultimedia', + 'QMediaDevices': 'PyQt6.QtMultimedia', + 'QMediaFormat': 'PyQt6.QtMultimedia', + 'QMediaMetaData': 'PyQt6.QtMultimedia', + 'QMediaPlayer': 'PyQt6.QtMultimedia', + 'QMediaRecorder': 'PyQt6.QtMultimedia', + 'QMediaTimeRange': 'PyQt6.QtMultimedia', 'QMenu': 'PyQt6.QtWidgets', 'QMenuBar': 'PyQt6.QtWidgets', 'QMessageAuthenticationCode': 'PyQt6.QtCore', @@ -258,11 +288,13 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QMetaObject': 'PyQt6.QtCore', 'QMetaProperty': 'PyQt6.QtCore', 'QMetaType': 'PyQt6.QtCore', + 'QMicrophonePermission': 'PyQt6.QtCore', 'QMimeData': 'PyQt6.QtCore', 'QMimeDatabase': 'PyQt6.QtCore', 'QMimeType': 'PyQt6.QtCore', 'QModelIndex': 'PyQt6.QtCore', 'QModelRoleData': 'PyQt6.QtCore', + 'QModelRoleDataSpan': 'PyQt6.QtCore', 'QMouseEvent': 'PyQt6.QtGui', 'QMoveEvent': 'PyQt6.QtGui', 'QMovie': 'PyQt6.QtGui', @@ -270,6 +302,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QMutexLocker': 'PyQt6.QtCore', 'QNativeGestureEvent': 'PyQt6.QtGui', 'QNativeInterface': 'PyQt6.QtQuick', + 'QNativeIpcKey': 'PyQt6.QtCore', 'QNetworkAccessManager': 'PyQt6.QtNetwork', 'QNetworkAddressEntry': 'PyQt6.QtNetwork', 'QNetworkCacheMetaData': 'PyQt6.QtNetwork', @@ -335,6 +368,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QPauseAnimation': 'PyQt6.QtCore', 'QPdfWriter': 'PyQt6.QtGui', 'QPen': 'PyQt6.QtGui', + 'QPermission': 'PyQt6.QtCore', 'QPersistentModelIndex': 'PyQt6.QtCore', 'QPicture': 'PyQt6.QtGui', 'QPinchGesture': 'PyQt6.QtWidgets', @@ -420,6 +454,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QSGRendererInterface': 'PyQt6.QtQuick', 'QSGSimpleRectNode': 'PyQt6.QtQuick', 'QSGSimpleTextureNode': 'PyQt6.QtQuick', + 'QSGTextNode': 'PyQt6.QtQuick', 'QSGTexture': 'PyQt6.QtQuick', 'QSGTextureMaterial': 'PyQt6.QtQuick', 'QSGTextureProvider': 'PyQt6.QtQuick', @@ -427,6 +462,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QSGVertexColorMaterial': 'PyQt6.QtQuick', 'QSaveFile': 'PyQt6.QtCore', 'QScreen': 'PyQt6.QtGui', + 'QScreenCapture': 'PyQt6.QtMultimedia', 'QScrollArea': 'PyQt6.QtWidgets', 'QScrollBar': 'PyQt6.QtWidgets', 'QScrollEvent': 'PyQt6.QtGui', @@ -452,6 +488,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QSlider': 'PyQt6.QtWidgets', 'QSocketNotifier': 'PyQt6.QtCore', 'QSortFilterProxyModel': 'PyQt6.QtCore', + 'QSoundEffect': 'PyQt6.QtMultimedia', 'QSpacerItem': 'PyQt6.QtWidgets', 'QSpinBox': 'PyQt6.QtWidgets', 'QSplashScreen': 'PyQt6.QtWidgets', @@ -467,6 +504,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QSslError': 'PyQt6.QtNetwork', 'QSslKey': 'PyQt6.QtNetwork', 'QSslPreSharedKeyAuthenticator': 'PyQt6.QtNetwork', + 'QSslServer': 'PyQt6.QtNetwork', 'QSslSocket': 'PyQt6.QtNetwork', 'QStackedLayout': 'PyQt6.QtWidgets', 'QStackedWidget': 'PyQt6.QtWidgets', @@ -574,6 +612,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QTextTableCell': 'PyQt6.QtGui', 'QTextTableCellFormat': 'PyQt6.QtGui', 'QTextTableFormat': 'PyQt6.QtGui', + 'QTextToSpeech': 'PyQt6.QtTextToSpeech', 'QThread': 'PyQt6.QtCore', 'QThreadPool': 'PyQt6.QtCore', 'QTime': 'PyQt6.QtCore', @@ -611,6 +650,11 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QVector3D': 'PyQt6.QtGui', 'QVector4D': 'PyQt6.QtGui', 'QVersionNumber': 'PyQt6.QtCore', + 'QVideoFrame': 'PyQt6.QtMultimedia', + 'QVideoFrameFormat': 'PyQt6.QtMultimedia', + 'QVideoSink': 'PyQt6.QtMultimedia', + 'QVideoWidget': 'PyQt6.QtMultimediaWidgets', + 'QVoice': 'PyQt6.QtTextToSpeech', 'QWIDGETSIZE_MAX': 'PyQt6.QtWidgets', 'QWaitCondition': 'PyQt6.QtCore', 'QWhatsThis': 'PyQt6.QtWidgets', @@ -620,6 +664,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QWidgetAction': 'PyQt6.QtWidgets', 'QWidgetItem': 'PyQt6.QtWidgets', 'QWindow': 'PyQt6.QtGui', + 'QWindowCapture': 'PyQt6.QtMultimedia', 'QWindowStateChangeEvent': 'PyQt6.QtGui', 'QWizard': 'PyQt6.QtWidgets', 'QWizardPage': 'PyQt6.QtWidgets', @@ -638,12 +683,16 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'QtCore': 'PyQt6.QtCore', 'QtGui': 'PyQt6.QtGui', 'QtMsgType': 'PyQt6.QtCore', + 'QtMultimedia': 'PyQt6.QtMultimedia', + 'QtMultimediaWidgets': 'PyQt6.QtMultimediaWidgets', 'QtNetwork': 'PyQt6.QtNetwork', 'QtOpenGL': 'PyQt6.QtOpenGL', 'QtOpenGLWidgets': 'PyQt6.QtOpenGLWidgets', 'QtPrintSupport': 'PyQt6.QtPrintSupport', 'QtQuick': 'PyQt6.QtQuick', 'QtSvg': 'PyQt6.QtSvg', + 'QtTextToSpeech': 'PyQt6.QtTextToSpeech', + 'QtVideo': 'PyQt6.QtMultimedia', 'QtWidgets': 'PyQt6.QtWidgets', 'pyqtBoundSignal': 'PyQt6.QtCore', 'pyqtClassInfo': 'PyQt6.QtCore', @@ -666,6 +715,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'qDebug': 'PyQt6.QtCore', 'qDrawBorderPixmap': 'PyQt6.QtWidgets', 'qDrawPlainRect': 'PyQt6.QtWidgets', + 'qDrawPlainRoundedRect': 'PyQt6.QtWidgets', 'qDrawShadeLine': 'PyQt6.QtWidgets', 'qDrawShadePanel': 'PyQt6.QtWidgets', 'qDrawShadeRect': 'PyQt6.QtWidgets', @@ -679,6 +729,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'qFloatDistance': 'PyQt6.QtCore', 'qFormatLogMessage': 'PyQt6.QtCore', 'qFuzzyCompare': 'PyQt6.QtCore', + 'qFuzzyIsNull': 'PyQt6.QtCore', 'qGray': 'PyQt6.QtGui', 'qGreen': 'PyQt6.QtGui', 'qInf': 'PyQt6.QtCore', @@ -714,6 +765,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore', 'qUnregisterResourceData': 'PyQt6.QtCore', 'qVersion': 'PyQt6.QtCore', 'qWarning': 'PyQt6.QtCore', + 'qYieldCpu': 'PyQt6.QtCore', 'qt_set_sequence_auto_mnemonic': 'PyQt6.QtGui', 'sip': 'PyQt6.sip'} module_names = frozenset(('QtCore', @@ -725,5 +777,8 @@ module_names = frozenset(('QtCore', 'QtOpenGL', 'QtOpenGLWidgets', 'QtQuick', + 'QtMultimedia', + 'QtMultimediaWidgets', + 'QtTextToSpeech', 'sip') ) diff --git a/src/qt/dbus.pyi b/src/qt/dbus.pyi index 5b4abd0488..f289d8c3b4 100644 --- a/src/qt/dbus.pyi +++ b/src/qt/dbus.pyi @@ -1,6 +1,5 @@ # autogenerated by __main__.py do not edit import PyQt6.QtDBus - QDBus = PyQt6.QtDBus.QDBus QDBusAbstractAdaptor = PyQt6.QtDBus.QDBusAbstractAdaptor QDBusAbstractInterface = PyQt6.QtDBus.QDBusAbstractInterface diff --git a/src/qt/webengine.pyi b/src/qt/webengine.pyi index 61f2aeb387..1f42fe6a4d 100644 --- a/src/qt/webengine.pyi +++ b/src/qt/webengine.pyi @@ -1,6 +1,5 @@ # autogenerated by __main__.py do not edit import PyQt6.QtWebEngineCore - PYQT_WEBENGINE_VERSION = PyQt6.QtWebEngineCore.PYQT_WEBENGINE_VERSION PYQT_WEBENGINE_VERSION_STR = PyQt6.QtWebEngineCore.PYQT_WEBENGINE_VERSION_STR QWebEngineCertificateError = PyQt6.QtWebEngineCore.QWebEngineCertificateError @@ -8,9 +7,12 @@ QWebEngineClientCertificateSelection = PyQt6.QtWebEngineCore.QWebEngineClientCer QWebEngineClientCertificateStore = PyQt6.QtWebEngineCore.QWebEngineClientCertificateStore QWebEngineContextMenuRequest = PyQt6.QtWebEngineCore.QWebEngineContextMenuRequest QWebEngineCookieStore = PyQt6.QtWebEngineCore.QWebEngineCookieStore +QWebEngineDesktopMediaRequest = PyQt6.QtWebEngineCore.QWebEngineDesktopMediaRequest QWebEngineDownloadRequest = PyQt6.QtWebEngineCore.QWebEngineDownloadRequest +QWebEngineFileSystemAccessRequest = PyQt6.QtWebEngineCore.QWebEngineFileSystemAccessRequest QWebEngineFindTextResult = PyQt6.QtWebEngineCore.QWebEngineFindTextResult QWebEngineFullScreenRequest = PyQt6.QtWebEngineCore.QWebEngineFullScreenRequest +QWebEngineGlobalSettings = PyQt6.QtWebEngineCore.QWebEngineGlobalSettings QWebEngineHistory = PyQt6.QtWebEngineCore.QWebEngineHistory QWebEngineHistoryItem = PyQt6.QtWebEngineCore.QWebEngineHistoryItem QWebEngineHistoryModel = PyQt6.QtWebEngineCore.QWebEngineHistoryModel @@ -31,9 +33,12 @@ QWebEngineUrlRequestInterceptor = PyQt6.QtWebEngineCore.QWebEngineUrlRequestInte QWebEngineUrlRequestJob = PyQt6.QtWebEngineCore.QWebEngineUrlRequestJob QWebEngineUrlScheme = PyQt6.QtWebEngineCore.QWebEngineUrlScheme QWebEngineUrlSchemeHandler = PyQt6.QtWebEngineCore.QWebEngineUrlSchemeHandler +QWebEngineWebAuthPinRequest = PyQt6.QtWebEngineCore.QWebEngineWebAuthPinRequest +QWebEngineWebAuthUxRequest = PyQt6.QtWebEngineCore.QWebEngineWebAuthUxRequest qWebEngineChromiumSecurityPatchVersion = PyQt6.QtWebEngineCore.qWebEngineChromiumSecurityPatchVersion qWebEngineChromiumVersion = PyQt6.QtWebEngineCore.qWebEngineChromiumVersion +qWebEngineGetDomainAndRegistry = PyQt6.QtWebEngineCore.qWebEngineGetDomainAndRegistry +qWebEngineProcessName = PyQt6.QtWebEngineCore.qWebEngineProcessName qWebEngineVersion = PyQt6.QtWebEngineCore.qWebEngineVersion import PyQt6.QtWebEngineWidgets - QWebEngineView = PyQt6.QtWebEngineWidgets.QWebEngineView \ No newline at end of file diff --git a/src/qt/webengine_name_map.py b/src/qt/webengine_name_map.py index f8b7560a5a..5007a1e328 100644 --- a/src/qt/webengine_name_map.py +++ b/src/qt/webengine_name_map.py @@ -6,9 +6,12 @@ name_map = {'PYQT_WEBENGINE_VERSION': 'PyQt6.QtWebEngineCore', 'QWebEngineClientCertificateStore': 'PyQt6.QtWebEngineCore', 'QWebEngineContextMenuRequest': 'PyQt6.QtWebEngineCore', 'QWebEngineCookieStore': 'PyQt6.QtWebEngineCore', + 'QWebEngineDesktopMediaRequest': 'PyQt6.QtWebEngineCore', 'QWebEngineDownloadRequest': 'PyQt6.QtWebEngineCore', + 'QWebEngineFileSystemAccessRequest': 'PyQt6.QtWebEngineCore', 'QWebEngineFindTextResult': 'PyQt6.QtWebEngineCore', 'QWebEngineFullScreenRequest': 'PyQt6.QtWebEngineCore', + 'QWebEngineGlobalSettings': 'PyQt6.QtWebEngineCore', 'QWebEngineHistory': 'PyQt6.QtWebEngineCore', 'QWebEngineHistoryItem': 'PyQt6.QtWebEngineCore', 'QWebEngineHistoryModel': 'PyQt6.QtWebEngineCore', @@ -30,10 +33,14 @@ name_map = {'PYQT_WEBENGINE_VERSION': 'PyQt6.QtWebEngineCore', 'QWebEngineUrlScheme': 'PyQt6.QtWebEngineCore', 'QWebEngineUrlSchemeHandler': 'PyQt6.QtWebEngineCore', 'QWebEngineView': 'PyQt6.QtWebEngineWidgets', + 'QWebEngineWebAuthPinRequest': 'PyQt6.QtWebEngineCore', + 'QWebEngineWebAuthUxRequest': 'PyQt6.QtWebEngineCore', 'QtWebEngineCore': 'PyQt6.QtWebEngineCore', 'QtWebEngineWidgets': 'PyQt6.QtWebEngineWidgets', 'qWebEngineChromiumSecurityPatchVersion': 'PyQt6.QtWebEngineCore', 'qWebEngineChromiumVersion': 'PyQt6.QtWebEngineCore', + 'qWebEngineGetDomainAndRegistry': 'PyQt6.QtWebEngineCore', + 'qWebEngineProcessName': 'PyQt6.QtWebEngineCore', 'qWebEngineVersion': 'PyQt6.QtWebEngineCore'} module_names = frozenset(('QtWebEngineCore', 'QtWebEngineWidgets') )