[neon/forks/pyqt5/Neon/release-lts] /: New upstream version 5.15.0+dfsg
Dmitry Shachnev
null at kde.org
Wed May 26 11:29:29 BST 2021
Git commit fb3cba80b68e4cabf62531fb65f356ac0b17ca33 by Dmitry Shachnev.
Committed on 01/06/2020 at 09:54.
Pushed by jriddell into branch 'Neon/release-lts'.
New upstream version 5.15.0+dfsg
M +166 -0 ChangeLog
M +8 -0 NEWS
M +2 -2 PKG-INFO
M +4 -0 __init__.py
M +19 -4 configure.py
M +29 -10 project.py
M +2 -2 pyproject.toml
M +3 -1 pyuic/uic/Compiler/qtproxies.py
M +3 -2 pyuic/uic/__init__.py
M +1 -5 qpy/QtCore/qpycore_qobject_helpers.cpp
M +15 -0 sip/QtAndroidExtras/qandroidjniobject.sip
M +1 -1 sip/QtCore/QtCoremod.sip
M +51 -0 sip/QtCore/qbytearray.sip
M +3 -0 sip/QtCore/qconcatenatetablesproxymodel.sip
M +3 -0 sip/QtCore/qdatastream.sip
M +5 -0 sip/QtCore/qdatetime.sip
M +6 -0 sip/QtCore/qfile.sip
M +3 -0 sip/QtCore/qfileinfo.sip
M +2 -2 sip/QtCore/qglobal.sip
M +6 -0 sip/QtCore/qidentityproxymodel.sip
M +20 -0 sip/QtCore/qitemselectionmodel.sip
M +3 -0 sip/QtCore/qmetaobject.sip
M +17 -0 sip/QtCore/qmetatype.sip
M +6 -0 sip/QtCore/qnamespace.sip
M +114 -0 sip/QtCore/qpycore_qvector.sip
M +6 -0 sip/QtCore/qresource.sip
M +20 -0 sip/QtCore/qrunnable.sip
M +12 -0 sip/QtCore/qsignalmapper.sip
M +23 -0 sip/QtCore/qsortfilterproxymodel.sip
M +3 -0 sip/QtCore/qthread.sip
M +56 -0 sip/QtCore/qthreadpool.sip
M +6 -0 sip/QtCore/qtranslator.sip
M +1 -1 sip/QtCore/qwaitcondition.sip
M +8 -2 sip/QtCore/qxmlstream.sip
M +20 -0 sip/QtGui/qbrush.sip
M +3 -0 sip/QtGui/qevent.sip
M +9 -0 sip/QtGui/qpdfwriter.sip
M +4 -4 sip/QtGui/qpolygon.sip
M +3 -0 sip/QtGui/qscreen.sip
M +8 -0 sip/QtGui/qwindow.sip
M +2 -0 sip/QtHelp/QtHelpmod.sip
M +3 -0 sip/QtHelp/qcompressedhelpinfo.sip
M +22 -5 sip/QtHelp/qhelpenginecore.sip
M +11 -0 sip/QtHelp/qhelpfilterengine.sip
C +10 -12 sip/QtHelp/qhelpfiltersettingswidget.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 064% similarity]
M +11 -0 sip/QtHelp/qhelpindexwidget.sip
C +16 -2 sip/QtHelp/qhelplink.sip [from: sip/QtQuick/qsgmaterialrhishader.sip - 079% similarity]
M +37 -0 sip/QtMultimedia/QtMultimediamod.sip
M +61 -19 sip/QtMultimedia/qabstractvideosurface.sip
A +58 -0 sip/QtMultimedia/qaudiodecodercontrol.sip
C +12 -18 sip/QtMultimedia/qaudioencodersettingscontrol.sip [from: sip/QtCore/qwaitcondition.sip - 054% similarity]
C +19 -16 sip/QtMultimedia/qaudioinputselectorcontrol.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 055% similarity]
C +19 -16 sip/QtMultimedia/qaudiooutputselectorcontrol.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 054% similarity]
C +15 -13 sip/QtMultimedia/qaudiorolecontrol.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 062% similarity]
M +3 -0 sip/QtMultimedia/qcamera.sip
C +14 -16 sip/QtMultimedia/qcameracapturebufferformatcontrol.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 057% similarity]
C +14 -16 sip/QtMultimedia/qcameracapturedestinationcontrol.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 053% similarity]
A +56 -0 sip/QtMultimedia/qcameracontrol.sip
A +60 -0 sip/QtMultimedia/qcameraexposurecontrol.sip
A +54 -0 sip/QtMultimedia/qcamerafeedbackcontrol.sip
C +15 -11 sip/QtMultimedia/qcameraflashcontrol.sip [from: sip/QtQml/qqmlextensionplugin.sip - 059% similarity]
A +49 -0 sip/QtMultimedia/qcamerafocuscontrol.sip
A +48 -0 sip/QtMultimedia/qcameraimagecapturecontrol.sip
A +57 -0 sip/QtMultimedia/qcameraimageprocessingcontrol.sip
C +10 -11 sip/QtMultimedia/qcamerainfocontrol.sip [from: sip/QtQml/qqmlextensionplugin.sip - 065% similarity]
C +15 -11 sip/QtMultimedia/qcameralockscontrol.sip [from: sip/QtQml/qqmlextensionplugin.sip - 056% similarity]
A +63 -0 sip/QtMultimedia/qcameraviewfindersettingscontrol.sip
A +49 -0 sip/QtMultimedia/qcamerazoomcontrol.sip
C +14 -16 sip/QtMultimedia/qcustomaudiorolecontrol.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 061% similarity]
C +12 -18 sip/QtMultimedia/qimageencodercontrol.sip [from: sip/QtCore/qwaitcondition.sip - 055% similarity]
C +12 -9 sip/QtMultimedia/qmediaaudioprobecontrol.sip [from: sip/QtCore/qrunnable.sip - 068% similarity]
C +12 -11 sip/QtMultimedia/qmediaavailabilitycontrol.sip [from: sip/QtQml/qqmlextensionplugin.sip - 064% similarity]
C +12 -16 sip/QtMultimedia/qmediacontainercontrol.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 060% similarity]
C +16 -26 sip/QtMultimedia/qmediagaplessplaybackcontrol.sip [from: sip/QtRemoteObjects/qremoteobjectreplica.sip - 053% similarity]
C +13 -16 sip/QtMultimedia/qmedianetworkaccesscontrol.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 060% similarity]
M +3 -0 sip/QtMultimedia/qmediaplayer.sip
A +72 -0 sip/QtMultimedia/qmediaplayercontrol.sip
A +56 -0 sip/QtMultimedia/qmediarecordercontrol.sip
C +21 -23 sip/QtMultimedia/qmediastreamscontrol.sip [from: sip/QtRemoteObjects/qremoteobjectreplica.sip - 053% similarity]
C +12 -9 sip/QtMultimedia/qmediavideoprobecontrol.sip [from: sip/QtCore/qrunnable.sip - 068% similarity]
C +16 -16 sip/QtMultimedia/qmetadatareadercontrol.sip [from: sip/QtHelp/qcompressedhelpinfo.sip - 057% similarity]
C +17 -26 sip/QtMultimedia/qmetadatawritercontrol.sip [from: sip/QtRemoteObjects/qremoteobjectreplica.sip - 053% similarity]
A +52 -0 sip/QtMultimedia/qradiodatacontrol.sip
A +73 -0 sip/QtMultimedia/qradiotunercontrol.sip
C +18 -25 sip/QtMultimedia/qvideodeviceselectorcontrol.sip [from: sip/QtRemoteObjects/qremoteobjectreplica.sip - 053% similarity]
C +12 -22 sip/QtMultimedia/qvideoencodersettingscontrol.sip [from: sip/QtHelp/qhelpfilterengine.sip - 050% similarity]
M +3 -0 sip/QtMultimedia/qvideoframe.sip
C +10 -9 sip/QtMultimedia/qvideorenderercontrol.sip [from: sip/QtCore/qrunnable.sip - 066% similarity]
A +60 -0 sip/QtMultimedia/qvideowindowcontrol.sip
M +1 -0 sip/QtMultimediaWidgets/QtMultimediaWidgetsmod.sip
M +5 -0 sip/QtMultimediaWidgets/qgraphicsvideoitem.sip
M +8 -2 sip/QtMultimediaWidgets/qvideowidget.sip
A +54 -0 sip/QtMultimediaWidgets/qvideowidgetcontrol.sip
M +3 -0 sip/QtNetwork/qabstractsocket.sip
M +3 -0 sip/QtNetwork/qlocalsocket.sip
M +6 -0 sip/QtNetwork/qnetworkaccessmanager.sip
M +3 -0 sip/QtNetwork/qnetworkreply.sip
M +20 -0 sip/QtNetwork/qnetworkrequest.sip
M +10 -0 sip/QtNetwork/qsslcertificate.sip
M +9 -0 sip/QtNetwork/qsslconfiguration.sip
M +8 -0 sip/QtNetwork/qsslsocket.sip
M +25 -9 sip/QtQml/qjsengine.sip
M +2 -0 sip/QtQml/qqmlapplicationengine.sip
M +16 -0 sip/QtQml/qqmlextensionplugin.sip
M +3 -0 sip/QtQml/qqmlincubator.sip
M +12 -0 sip/QtQml/qqmllist.sip
M +3 -0 sip/QtQuick/qquickwindow.sip
M +3 -0 sip/QtQuick/qsggeometry.sip
M +102 -0 sip/QtQuick/qsgmaterialrhishader.sip
M +17 -1 sip/QtQuick/qsgtexture.sip
C +8 -5 sip/QtQuick3D/QtQuick3Dmod.sip [from: sip/QtXml/QtXmlmod.sip - 084% similarity]
C +16 -2 sip/QtQuick3D/qquick3d.sip [from: sip/QtQuick/qsgmaterialrhishader.sip - 076% similarity]
A +101 -0 sip/QtQuick3D/qquick3dgeometry.sip
A +78 -0 sip/QtQuick3D/qquick3dobject.sip
M +5 -0 sip/QtRemoteObjects/qremoteobjectnode.sip
M +3 -0 sip/QtRemoteObjects/qremoteobjectreplica.sip
M +11 -0 sip/QtSvg/qsvgrenderer.sip
M +27 -0 sip/QtWebSockets/qwebsocket.sip
M +12 -0 sip/QtWidgets/qbuttongroup.sip
M +8 -0 sip/QtWidgets/qcombobox.sip
M +5 -0 sip/QtWidgets/qpushbutton.sip
M +3 -0 sip/QtWidgets/qsplashscreen.sip
M +3 -0 sip/QtWidgets/qstyle.sip
M +19 -0 sip/QtWidgets/qstyleoption.sip
M +6 -0 sip/QtWidgets/qtabbar.sip
M +6 -0 sip/QtWidgets/qtabwidget.sip
M +5 -0 sip/QtWidgets/qwizard.sip
M +1 -1 sip/QtXml/QtXmlmod.sip
M +3 -0 sip/QtXml/qdom.sip
https://invent.kde.org/neon/forks/pyqt5/commit/fb3cba80b68e4cabf62531fb65f356ac0b17ca33
diff --git a/ChangeLog b/ChangeLog
index 637a3525..c8f3a325 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,171 @@
+2020-05-30 Phil Thompson <phil at riverbankcomputing.com>
+
+ * NEWS:
+ Released as v5.15.0.
+ [5e7e90d17d36] [5.15.0]
+
+ * PyQt5.msp:
+ Added a missing private copy ctor.
+ [16609177df03]
+
+2020-05-29 Phil Thompson <phil at riverbankcomputing.com>
+
+ * NEWS:
+ Updated the NEWS file.
+ [ca51bd410062]
+
+ * PyQt5.msp, lib/configure.py, lib/project.py:
+ Added the QtQuick3D module.
+ [089b9c6b4c44]
+
+2020-05-28 Phil Thompson <phil at riverbankcomputing.com>
+
+ * PyQt5.msp:
+ Updated QtWebSockets, QtWidgets and QtXml for Qt v5.15.0.
+ [fe6404101c22]
+
+ * PyQt5.msp:
+ Updated QtQuick, QtRemoteObjects and QtSvg for Qt v5.15.0.
+ [fecc60c0fbb4]
+
+2020-05-27 Phil Thompson <phil at riverbankcomputing.com>
+
+ * PyQt5.msp, lib/SubclassCode/QtQml.versions,
+ qpy/QtCore/qpycore_qvector.sip:
+ Updated QtMultimedia, QtMultimediaWidgets, QtNetwork and QtQml for
+ Qt v5.15.0.
+ [404a2ac8e061]
+
+ * PyQt5.msp, lib/SubclassCode/QtHelp.versions:
+ Updated QtGui and QtHelp for Qt v5.15.0.
+ [2b69e249eb5e]
+
+ * PyQt5.msp:
+ Updated QtCore for Qt v5.15.0.
+ [0f9c5a2e60af]
+
+2020-05-18 Phil Thompson <phil at riverbankcomputing.com>
+
+ * QtAndroidExtras/qandroidjniobject.sip:
+ Fixes for the new callStaticMethod() overload.
+ [aab21130b519]
+
+ * NEWS, QtAndroidExtras/qandroidjniobject.sip:
+ Implemented the QAndroidJniObject.callStaticMethod() overload that
+ takes and returns a QJsonDocument.
+ [58a54fbe938b]
+
+2020-05-16 Phil Thompson <phil at riverbankcomputing.com>
+
+ * PyQt5.msp:
+ Initial pass of Qt v5.15.0.
+ [5457742900e7]
+
+ * Merged the 5.14-maint branch.
+ [304e165b67aa]
+
+2020-05-09 Phil Thompson <phil at riverbankcomputing.com>
+
+ * lib/pyproject.toml:
+ SIP v5.3 is now a minimum requirement.
+ [c88d94dfb85b] <5.14-maint>
+
+ * lib/pyproject.toml:
+ SIP v6 can be used as we don't use anything that will be removed.
+ [55ba9e69364a] <5.14-maint>
+
+ * lib/project.py:
+ Fix the ABI version of the sip module in anticipation of newer,
+ incompatible, versions.
+ [425fdef06f34] <5.14-maint>
+
+2020-05-07 Phil Thompson <phil at riverbankcomputing.com>
+
+ * lib/__init__.py:
+ Added support for PyQt5 sub-packages (possibly the PyQt5.sip module)
+ that are built with setuptools rather than a modern pip.
+ [ddea00aec29a] <5.14-maint>
+
+ * PyQt5.msp:
+ Fixed memory leaks in the __getitem__ method of QPolygon, QPolygonF
+ and QXmlStreamAttributes.
+ [90e14744b854] <5.14-maint>
+
+2020-05-05 Phil Thompson <phil at riverbankcomputing.com>
+
+ * PyQt5.msp:
+ Fixed QSGTexture.Filter.None.
+ [cfc9d0148a10] <5.14-maint>
+
+ * pyuic/uic/__init__.py:
+ Strengthened the warning at the top of .py files created by pyuic.
+ [00e1e859c348] <5.14-maint>
+
+2020-04-26 Phil Thompson <phil at riverbankcomputing.com>
+
+ * PyQt5.msp:
+ Automatically convert QGradient to a sub-class if possible.
+ [dd812681dcc8] <5.14-maint>
+
+2020-04-22 Phil Thompson <phil at riverbankcomputing.com>
+
+ * lib/pyproject.toml, rb-product:
+ Require a version of SIP with the race condition fix.
+ [2007cb6e7314] <5.14-maint>
+
+ * qpy/QtCore/qpycore_qobject_helpers.cpp:
+ Properly fixed the race condition. SIP v5.2.1 or later is also
+ required.
+ [9e9a0e6241e6] <5.14-maint>
+
+ * pyuic/uic/Compiler/qtproxies.py:
+ Added support for QUndoView to pyuic5.
+ [8cf7aa5ec0a2] <5.14-maint>
+
+2020-04-21 Phil Thompson <phil at riverbankcomputing.com>
+
+ * PyQt5.msp:
+ Added the remaining QtMultimedia control classes.
+ [4089144a11e5] <5.14-maint>
+
+ * PyQt5.msp:
+ Added the remaining camera related control classes.
+ [b3848dbdaf58] <5.14-maint>
+
+ * PyQt5.msp, lib/SubclassCode/QtMultimedia.versions:
+ Implemented the first batch of QMultimedia control classes.
+ [294ec48d7628] <5.14-maint>
+
+ * PyQt5.msp:
+ Added QVideoWidgetControl to QtMultimediaWidgets.
+ [786636ae8eec] <5.14-maint>
+
+2020-04-20 Phil Thompson <phil at riverbankcomputing.com>
+
+ * PyQt5.msp:
+ Added QtMutimedia.QMediaStreamsControl to see if it is useful.
+ [c7ca36894f1a] <5.14-maint>
+
+2020-04-18 Phil Thompson <phil at riverbankcomputing.com>
+
+ * qpy/QtCore/qpycore_qobject_helpers.cpp:
+ Remove a potential race condition in qpycore_qobject_qt_metacall().
+ [897d3b6fd4c2] <5.14-maint>
+
+2020-04-08 Phil Thompson <phil at riverbankcomputing.com>
+
+ * lib/project.py:
+ Build debug versions of the Designer and QML plugins and the DBus
+ module if any of the bindings modules ar ebeing built as debug
+ versions.
+ [46144794a070] <5.14-maint>
+
2020-04-02 Phil Thompson <phil at riverbankcomputing.com>
+ * .hgtags:
+ Added tag 5.14.2 for changeset f6efe33af484
+ [5feed10b3fc9] <5.14-maint>
+
* NEWS:
Released as v5.14.2.
[f6efe33af484] [5.14.2] <5.14-maint>
diff --git a/NEWS b/NEWS
index c7fe4e35..af2894b8 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,11 @@
+v5.15.0 1st June 2020
+ - Added support for Qt v5.15.0.
+ - Added the QtQuick3D module.
+ - Added a callStaticMethod() overload to QAndroidJniObject that takes a
+ QJsonDocument as the method argument and returns another QJsonDocument.
+ - Added the missing QMultimedia control classes.
+ - pyuic5 now supports QUndoView.
+
v5.14.2 3rd April 2020
- Added the missing QTextCodec.convertFromUnicode().
- Added the OpenGL ES bindings.
diff --git a/PKG-INFO b/PKG-INFO
index cf0f42e2..29b613d8 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,13 +1,13 @@
Metadata-Version: 2.1
Name: PyQt5
-Version: 5.14.2
+Version: 5.15.0
Requires-Python: >=3.5
Summary: Python bindings for the Qt cross platform application toolkit
Home-Page: https://www.riverbankcomputing.com/software/pyqt/
Author: Riverbank Computing Limited
Author-Email: info at riverbankcomputing.com
License: GPL v3
-Requires-Dist: PyQt5-sip (>=12.7, <13)
+Requires-Dist: PyQt5-sip (>=12.8, <13)
PyQt5 - Comprehensive Python Bindings for Qt v5
===============================================
diff --git a/__init__.py b/__init__.py
index 8ce6f217..6de6a05f 100644
--- a/__init__.py
+++ b/__init__.py
@@ -14,3 +14,7 @@
#
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+# Support PyQt5 sub-packages that have been created by setuptools.
+__path__ = __import__('pkgutil').extend_path(__path__, __name__)
diff --git a/configure.py b/configure.py
index 3b100b61..fdc86f23 100644
--- a/configure.py
+++ b/configure.py
@@ -28,8 +28,8 @@ import sys
# Initialise the constants.
-PYQT_VERSION_STR = "5.14.2"
-SIP_MIN_VERSION = '4.19.20'
+PYQT_VERSION_STR = "5.15.0"
+SIP_MIN_VERSION = '4.19.23'
class ModuleMetadata:
@@ -88,6 +88,7 @@ MODULE_METADATA = {
'QtPrintSupport': ModuleMetadata(qmake_QT=['printsupport']),
'QtQml': ModuleMetadata(qmake_QT=['qml'], qpy_lib=True),
'QtQuick': ModuleMetadata(qmake_QT=['quick'], qpy_lib=True),
+ 'QtQuick3D': ModuleMetadata(qmake_QT=['quick3d']),
'QtQuickWidgets': ModuleMetadata(qmake_QT=['quickwidgets']),
'QtRemoteObjects': ModuleMetadata(qmake_QT=['remoteobjects', '-gui']),
'QtSensors': ModuleMetadata(qmake_QT=['sensors']),
@@ -160,8 +161,8 @@ COMPOSITE_COMPONENTS = (
'QtHelp', 'QtMultimediaWidgets', 'QtOpenGL',
'QtPrintSupport', 'QtQuick', 'QtSql', 'QtSvg', 'QtTest',
'QtWebKitWidgets', 'QtBluetooth', 'QtMacExtras', 'QtPositioning',
- 'QtWinExtras', 'QtX11Extras', 'QtQuickWidgets', 'QtWebSockets',
- 'Enginio', 'QtWebChannel',
+ 'QtWinExtras', 'QtX11Extras', 'QtQuick3D', 'QtQuickWidgets',
+ 'QtWebSockets', 'Enginio', 'QtWebChannel',
'QtLocation', 'QtNfc', 'QtRemoteObjects'
)
@@ -1353,6 +1354,9 @@ def check_modules(target_config, disabled_modules, verbose):
if target_config.qt_version >= 0x050c00:
check_5_12_modules(target_config, disabled_modules, verbose)
+ if target_config.qt_version >= 0x050f00:
+ check_5_15_modules(target_config, disabled_modules, verbose)
+
# QtWebEngine needs to know if QtWebChannel is available.
if 'QtWebChannel' not in target_config.pyqt_modules:
target_config.pyqt_disabled_features.append('PyQt_WebChannel')
@@ -1482,6 +1486,17 @@ def check_5_12_modules(target_config, disabled_modules, verbose):
'const char *v = QTREMOTEOBJECTS_VERSION_STR')
+def check_5_15_modules(target_config, disabled_modules, verbose):
+ """ Check which modules introduced in Qt v5.15 can be built and update the
+ target configuration accordingly. target_config is the target
+ configuration. disabled_modules is the list of modules that have been
+ explicitly disabled. verbose is set if the output is to be displayed.
+ """
+
+ check_module(target_config, disabled_modules, verbose, 'QtQuick3D',
+ 'qquick3d.h', 'QQuick3D::idealSurfaceFormat()')
+
+
def generate_makefiles(target_config, verbose, parts, tracing, fatal_warnings, distinfo):
""" Generate the makefiles to build everything. target_config is the
target configuration. verbose is set if the output is to be displayed.
diff --git a/project.py b/project.py
index 8b24611d..338bd80e 100644
--- a/project.py
+++ b/project.py
@@ -33,7 +33,7 @@ class PyQt(PyQtProject):
def __init__(self):
""" Initialise the project. """
- super().__init__(dunder_init=True, tag_prefix='Qt',
+ super().__init__(abi_version='12.8', dunder_init=True, tag_prefix='Qt',
console_scripts=[
'pylupdate5 = PyQt5.pylupdate_main:main',
'pyrcc5 = PyQt5.pyrcc_main:main',
@@ -44,7 +44,7 @@ class PyQt(PyQtProject):
QtQml, QAxContainer, QtAndroidExtras, QtBluetooth, QtDBus,
QtDesigner, Enginio, QtHelp, QtMacExtras, QtMultimedia,
QtMultimediaWidgets, QtNetworkAuth, QtNfc, QtOpenGL, QtPositioning,
- QtLocation, QtPrintSupport, QtQuick, QtQuickWidgets,
+ QtLocation, QtPrintSupport, QtQuick, QtQuick3D, QtQuickWidgets,
QtRemoteObjects, QtSensors, QtSerialPort, QtSql, QtSvg, QtTest,
QtWebChannel, QtWebKit, QtWebKitWidgets, QtWebSockets, QtWinExtras,
QtX11Extras, QtXml, QtXmlPatterns, _QOpenGLFunctions_2_0,
@@ -189,20 +189,29 @@ del find_qt
installable.files.append(os.path.join(self.root_dir, 'pyuic', 'uic'))
self.installables.append(installable)
+ # If any set of bindings is being built as a debug version then assume
+ # the plugins and DBus support should as well.
+ for bindings in self.bindings.values():
+ if bindings.debug:
+ others_debug = True
+ break
+ else:
+ others_debug = self.py_debug
+
# Add the plugins. For the moment we don't include them in wheels.
# This may change when we improve the bundling of Qt.
if tool in ('build', 'install'):
if self.designer_plugin and 'QtDesigner' in self.bindings:
self._add_plugin('designer', "Qt Designer", 'pyqt5',
- 'designer')
+ 'designer', others_debug)
if self.qml_plugin and 'QtQml' in self.bindings:
self._add_plugin('qmlscene', "qmlscene", 'pyqt5qmlplugin',
- 'PyQt5')
+ 'PyQt5', others_debug)
# Add the dbus-python support.
if self.dbus_python:
- self._add_dbus()
+ self._add_dbus(others_debug)
def _add_composite_module(self, tool):
""" Add the bindings for the composite module. """
@@ -224,7 +233,7 @@ del find_qt
self.bindings['Qt'].sip_file = sip_file
- def _add_dbus(self):
+ def _add_dbus(self, debug):
""" Add the dbus-python support. """
self.progress(
@@ -287,11 +296,11 @@ del find_qt
buildable.include_dirs.extend(dbus_inc_dirs)
buildable.library_dirs.extend(dbus_lib_dirs)
buildable.libraries.extend(dbus_libs)
- buildable.debug = self.py_debug
+ buildable.debug = debug
self.buildables.append(buildable)
- def _add_plugin(self, name, user_name, target_name, target_subdir):
+ def _add_plugin(self, name, user_name, target_name, target_subdir, debug):
""" Add a plugin to the project buildables. """
builder = self.builder
@@ -330,8 +339,7 @@ del find_qt
with open(os.path.join(root_plugin_dir, name + '.pro-in')) as f:
prj = f.read()
- prj = prj.replace('@QTCONFIG@',
- 'debug' if self.py_debug else 'release')
+ prj = prj.replace('@QTCONFIG@', 'debug' if debug else 'release')
prj = prj.replace('@PYINCDIR@',
builder.qmake_quote(self.py_include_dir))
prj = prj.replace('@SIPINCDIR@', builder.qmake_quote(self.build_dir))
@@ -822,6 +830,17 @@ class QtQuick(PyQtBindings):
test_statement='new QQuickWindow()')
+class QtQuick3D(PyQtBindings):
+ """ The QtQuick3D bindings. """
+
+ def __init__(self, project):
+ """ Initialise the bindings. """
+
+ super().__init__(project, 'QtQuick3D', qmake_QT=['quick3d'],
+ test_headers=['qquick3d.h'],
+ test_statement='QQuick3D::idealSurfaceFormat()')
+
+
class QtQuickWidgets(PyQtBindings):
""" The QtQuickWidgets bindings. """
diff --git a/pyproject.toml b/pyproject.toml
index 7314e882..66917a68 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,12 +1,12 @@
# Specify the build system requirements.
[build-system]
-requires = ["sip >=5.0.1, <6", "PyQt-builder >=1.1.0, <2"]
+requires = ["sip >=5.3, <7", "PyQt-builder >=1.1.0, <2"]
build-backend = "sipbuild.api"
# Specify the PEP 566 metadata for the project.
[tool.sip.metadata]
name = "PyQt5"
-version = "5.14.2"
+version = "5.15.0"
summary = "Python bindings for the Qt cross platform application toolkit"
home-page = "https://www.riverbankcomputing.com/software/pyqt/"
author = "Riverbank Computing Limited"
diff --git a/pyuic/uic/Compiler/qtproxies.py b/pyuic/uic/Compiler/qtproxies.py
index 551263f4..6fa866cc 100644
--- a/pyuic/uic/Compiler/qtproxies.py
+++ b/pyuic/uic/Compiler/qtproxies.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2014 Riverbank Computing Limited.
+## Copyright (C) 2020 Riverbank Computing Limited.
## Copyright (C) 2006 Thorsten Marek.
## All right reserved.
##
@@ -416,6 +416,8 @@ class QtWidgets(ProxyNamespace):
return QtWidgets.QHeaderView("%s.header()" % self,
False, (), noInstantiation=True)
+ class QUndoView(QListView): pass
+
class QListWidgetItem(ProxyClass): pass
class QListWidget(QListView):
diff --git a/pyuic/uic/__init__.py b/pyuic/uic/__init__.py
index 5173a758..edfbbb0e 100644
--- a/pyuic/uic/__init__.py
+++ b/pyuic/uic/__init__.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 Riverbank Computing Limited.
+## Copyright (C) 2020 Riverbank Computing Limited.
## Copyright (C) 2006 Thorsten Marek.
## All right reserved.
##
@@ -49,7 +49,8 @@ _header = """# -*- coding: utf-8 -*-
#
# Created by: PyQt5 UI code generator %s
#
-# WARNING! All changes made in this file will be lost!
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again. Do not edit this file unless you know what you are doing.
"""
diff --git a/qpy/QtCore/qpycore_qobject_helpers.cpp b/qpy/QtCore/qpycore_qobject_helpers.cpp
index a03d9e62..ed9fd38d 100644
--- a/qpy/QtCore/qpycore_qobject_helpers.cpp
+++ b/qpy/QtCore/qpycore_qobject_helpers.cpp
@@ -64,11 +64,7 @@ int qpycore_qobject_qt_metacall(sipSimpleWrapper *pySelf, sipTypeDef *base,
if (!pySelf)
return -1;
- SIP_BLOCK_THREADS
- _id = qt_metacall_worker(pySelf, Py_TYPE(pySelf), base, _c, _id, _a);
- SIP_UNBLOCK_THREADS
-
- return _id;
+ return qt_metacall_worker(pySelf, Py_TYPE(pySelf), base, _c, _id, _a);
}
diff --git a/sip/QtAndroidExtras/qandroidjniobject.sip b/sip/QtAndroidExtras/qandroidjniobject.sip
index 3e5fd60c..e1cfe75c 100644
--- a/sip/QtAndroidExtras/qandroidjniobject.sip
+++ b/sip/QtAndroidExtras/qandroidjniobject.sip
@@ -24,6 +24,7 @@ class QAndroidJniObject
{
%TypeHeaderCode
#include <qandroidjniobject.h>
+#include <qjsondocument.h>
%End
public:
@@ -41,6 +42,20 @@ public:
sipRes = QAndroidJniObject::callStaticMethod<int>(a0, a1);
%End
+ static QJsonDocument callStaticMethod(const char *className, const char *methodName, const QJsonDocument &json);
+%MethodCode
+ QByteArray in = a2->toJson(QJsonDocument::Compact);
+ QAndroidJniObject jin = QAndroidJniObject::fromString(
+ QString::fromUtf8(in));
+
+ QAndroidJniObject jout = QAndroidJniObject::callStaticObjectMethod(a0,
+ a1, "(Ljava/lang/String;)Ljava/lang/String;",
+ jin.object<jstring>());
+
+ sipRes = new QJsonDocument(
+ QJsonDocument::fromJson(jout.toString().toUtf8()));
+%End
+
bool isValid() const;
QString toString() const;
diff --git a/sip/QtCore/QtCoremod.sip b/sip/QtCore/QtCoremod.sip
index 70d9aab0..61666495 100644
--- a/sip/QtCore/QtCoremod.sip
+++ b/sip/QtCore/QtCoremod.sip
@@ -22,7 +22,7 @@
%Module(name=PyQt5.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt5, keyword_arguments="Optional", use_limited_api=True)
-%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_4 Qt_5_9_5 Qt_5_9_6 Qt_5_9_7 Qt_5_9_8 Qt_5_9_9 Qt_5_10_0 Qt_5_10_1 Qt_5_11_0 Qt_5_11_1 Qt_5_11_2 Qt_5_11_3 Qt_5_12_0 Qt_5_12_1 Qt_5_12_2 Qt_5_12_3 Qt_5_12_4 Qt_5_13_0 Qt_5_14_0}
+%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_4 Qt_5_9_5 Qt_5_9_6 Qt_5_9_7 Qt_5_9_8 Qt_5_9_9 Qt_5_10_0 Qt_5_10_1 Qt_5_11_0 Qt_5_11_1 Qt_5_11_2 Qt_5_11_3 Qt_5_12_0 Qt_5_12_1 Qt_5_12_2 Qt_5_12_3 Qt_5_12_4 Qt_5_13_0 Qt_5_14_0 Qt_5_15_0}
%Platforms {WS_X11 WS_WIN WS_MACX}
diff --git a/sip/QtCore/qbytearray.sip b/sip/QtCore/qbytearray.sip
index d9a0a741..51440822 100644
--- a/sip/QtCore/qbytearray.sip
+++ b/sip/QtCore/qbytearray.sip
@@ -437,6 +437,12 @@ public:
Base64UrlEncoding,
KeepTrailingEquals,
OmitTrailingEquals,
+%If (Qt_5_15_0 -)
+ IgnoreBase64DecodingErrors,
+%End
+%If (Qt_5_15_0 -)
+ AbortOnBase64DecodingErrors,
+%End
};
%End
@@ -473,6 +479,45 @@ public:
%If (Qt_5_12_0 -)
bool isLower() const;
%End
+%If (Qt_5_15_0 -)
+
+ enum class Base64DecodingStatus
+ {
+ Ok,
+ IllegalInputLength,
+ IllegalCharacter,
+ IllegalPadding,
+ };
+
+%End
+%If (Qt_5_15_0 -)
+ static QByteArray::FromBase64Result fromBase64Encoding(const QByteArray &base64, QByteArray::Base64Options options = QByteArray::Base64Encoding);
+%End
+%If (Qt_5_15_0 -)
+
+ class FromBase64Result
+ {
+%TypeHeaderCode
+#include <qbytearray.h>
+%End
+
+ public:
+ QByteArray decoded;
+ QByteArray::Base64DecodingStatus decodingStatus;
+ void swap(QByteArray::FromBase64Result &other /Constrained/);
+ operator bool() const;
+%MethodCode
+ // This is required because SIP doesn't handle operator bool() properly.
+ sipRes = sipCpp->operator bool();
+%End
+
+ long __hash__() const;
+%MethodCode
+ sipRes = qHash(*sipCpp);
+%End
+ };
+
+%End
};
bool operator==(const QByteArray &a1, const QByteArray &a2);
@@ -493,3 +538,9 @@ quint16 qChecksum(const char *s /Array/, uint len /ArraySize/);
%If (Qt_5_9_0 -)
quint16 qChecksum(const char *s /Array/, uint len /ArraySize/, Qt::ChecksumType standard);
%End
+%If (Qt_5_15_0 -)
+bool operator==(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs);
+%End
+%If (Qt_5_15_0 -)
+bool operator!=(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs);
+%End
diff --git a/sip/QtCore/qconcatenatetablesproxymodel.sip b/sip/QtCore/qconcatenatetablesproxymodel.sip
index d39acc25..1d45a0f8 100644
--- a/sip/QtCore/qconcatenatetablesproxymodel.sip
+++ b/sip/QtCore/qconcatenatetablesproxymodel.sip
@@ -88,6 +88,9 @@ public:
virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const;
virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent);
virtual QSize span(const QModelIndex &index) const;
+%If (Qt_5_15_0 -)
+ QList<QAbstractItemModel *> sourceModels() const;
+%End
};
%End
diff --git a/sip/QtCore/qdatastream.sip b/sip/QtCore/qdatastream.sip
index 67c1b765..4973bf83 100644
--- a/sip/QtCore/qdatastream.sip
+++ b/sip/QtCore/qdatastream.sip
@@ -87,6 +87,9 @@ public:
%End
%If (Qt_5_14_0 -)
Qt_5_14,
+%End
+%If (Qt_5_15_0 -)
+ Qt_5_15,
%End
};
diff --git a/sip/QtCore/qdatetime.sip b/sip/QtCore/qdatetime.sip
index 96567da9..9d266397 100644
--- a/sip/QtCore/qdatetime.sip
+++ b/sip/QtCore/qdatetime.sip
@@ -179,8 +179,10 @@ public:
qint64 toJulianDay() const;
bool setDate(int year, int month, int date);
%If (- Qt_5_7_0)
+%If (Qt_5_15_0 -)
void getDate(int *year, int *month, int *day);
%End
+%End
%If (Qt_5_7_0 -)
void getDate(int *year, int *month, int *day) const;
%End
@@ -621,6 +623,9 @@ public:
};
%End
+%If (Qt_5_15_0 -)
+ QString toString(const QString &format, QCalendar cal) const;
+%End
};
QDataStream &operator<<(QDataStream &, const QDate & /Constrained/) /ReleaseGIL/;
diff --git a/sip/QtCore/qfile.sip b/sip/QtCore/qfile.sip
index 4a406abd..d565f83c 100644
--- a/sip/QtCore/qfile.sip
+++ b/sip/QtCore/qfile.sip
@@ -58,4 +58,10 @@ public:
static QFileDevice::Permissions permissions(const QString &filename);
virtual bool setPermissions(QFileDevice::Permissions permissionSpec);
static bool setPermissions(const QString &filename, QFileDevice::Permissions permissionSpec);
+%If (Qt_5_15_0 -)
+ bool moveToTrash();
+%End
+%If (Qt_5_15_0 -)
+ static bool moveToTrash(const QString &fileName, QString *pathInTrash /Out/ = 0);
+%End
};
diff --git a/sip/QtCore/qfileinfo.sip b/sip/QtCore/qfileinfo.sip
index 75fdca7b..d053bb10 100644
--- a/sip/QtCore/qfileinfo.sip
+++ b/sip/QtCore/qfileinfo.sip
@@ -104,6 +104,9 @@ public:
%If (Qt_5_14_0 -)
bool isShortcut() const;
%End
+%If (Qt_5_15_0 -)
+ bool isJunction() const;
+%End
};
typedef QList<QFileInfo> QFileInfoList;
diff --git a/sip/QtCore/qglobal.sip b/sip/QtCore/qglobal.sip
index 613e50b8..ea9958c7 100644
--- a/sip/QtCore/qglobal.sip
+++ b/sip/QtCore/qglobal.sip
@@ -29,8 +29,8 @@ int PYQT_VERSION;
const char *PYQT_VERSION_STR;
%ModuleCode
-static int PYQT_VERSION = 0x050e02;
-static const char *PYQT_VERSION_STR = "5.14.2";
+static int PYQT_VERSION = 0x050f00;
+static const char *PYQT_VERSION_STR = "5.15.0";
%End
const int QT_VERSION;
const char *QT_VERSION_STR;
diff --git a/sip/QtCore/qidentityproxymodel.sip b/sip/QtCore/qidentityproxymodel.sip
index 42f4cb97..fd1ccac6 100644
--- a/sip/QtCore/qidentityproxymodel.sip
+++ b/sip/QtCore/qidentityproxymodel.sip
@@ -51,4 +51,10 @@ public:
virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const;
%End
virtual QModelIndex sibling(int row, int column, const QModelIndex &idx) const;
+%If (Qt_5_15_0 -)
+ virtual bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild);
+%End
+%If (Qt_5_15_0 -)
+ virtual bool moveColumns(const QModelIndex &sourceParent, int sourceColumn, int count, const QModelIndex &destinationParent, int destinationChild);
+%End
};
diff --git a/sip/QtCore/qitemselectionmodel.sip b/sip/QtCore/qitemselectionmodel.sip
index d237581f..29938265 100644
--- a/sip/QtCore/qitemselectionmodel.sip
+++ b/sip/QtCore/qitemselectionmodel.sip
@@ -94,10 +94,30 @@ public:
virtual ~QItemSelectionModel();
QModelIndex currentIndex() const;
bool isSelected(const QModelIndex &index) const;
+%If (- Qt_5_15_0)
bool isRowSelected(int row, const QModelIndex &parent) const;
+%End
+%If (Qt_5_15_0 -)
+ bool isRowSelected(int row, const QModelIndex &parent = QModelIndex()) const;
+%End
+%If (- Qt_5_15_0)
bool isColumnSelected(int column, const QModelIndex &parent) const;
+%End
+%If (Qt_5_15_0 -)
+ bool isColumnSelected(int column, const QModelIndex &parent = QModelIndex()) const;
+%End
+%If (- Qt_5_15_0)
bool rowIntersectsSelection(int row, const QModelIndex &parent) const;
+%End
+%If (Qt_5_15_0 -)
+ bool rowIntersectsSelection(int row, const QModelIndex &parent = QModelIndex()) const;
+%End
+%If (- Qt_5_15_0)
bool columnIntersectsSelection(int column, const QModelIndex &parent) const;
+%End
+%If (Qt_5_15_0 -)
+ bool columnIntersectsSelection(int column, const QModelIndex &parent = QModelIndex()) const;
+%End
QModelIndexList selectedIndexes() const;
const QItemSelection selection() const;
%If (Qt_5_5_0 -)
diff --git a/sip/QtCore/qmetaobject.sip b/sip/QtCore/qmetaobject.sip
index 8ac0b61d..7162230e 100644
--- a/sip/QtCore/qmetaobject.sip
+++ b/sip/QtCore/qmetaobject.sip
@@ -199,6 +199,9 @@ public:
%If (Qt_5_14_0 -)
int relativePropertyIndex() const;
%End
+%If (Qt_5_15_0 -)
+ bool isRequired() const;
+%End
};
class QMetaClassInfo
diff --git a/sip/QtCore/qmetatype.sip b/sip/QtCore/qmetatype.sip
index 4e476ea8..6c84e67d 100644
--- a/sip/QtCore/qmetatype.sip
+++ b/sip/QtCore/qmetatype.sip
@@ -121,6 +121,9 @@ public:
%End
%If (Qt_5_12_0 -)
QCborMap,
+%End
+%If (Qt_5_15_0 -)
+ QColorSpace,
%End
User,
};
@@ -128,7 +131,12 @@ public:
static int type(const char *typeName);
static const char *typeName(int type);
static bool isRegistered(int type);
+%If (- Qt_5_15_0)
explicit QMetaType(const int type);
+%End
+%If (Qt_5_15_0 -)
+ explicit QMetaType(const int type = QMetaType::Type::UnknownType);
+%End
~QMetaType();
enum TypeFlag
@@ -149,9 +157,18 @@ public:
%If (Qt_5_13_0 -)
int id() const;
%End
+%If (Qt_5_15_0 -)
+ QByteArray name() const;
+%End
private:
QMetaType(const QMetaType &other);
};
QFlags<QMetaType::TypeFlag> operator|(QMetaType::TypeFlag f1, QFlags<QMetaType::TypeFlag> f2);
+%If (Qt_5_15_0 -)
+bool operator==(const QMetaType &a, const QMetaType &b);
+%End
+%If (Qt_5_15_0 -)
+bool operator!=(const QMetaType &a, const QMetaType &b);
+%End
diff --git a/sip/QtCore/qnamespace.sip b/sip/QtCore/qnamespace.sip
index 7c903dc6..88767a3c 100644
--- a/sip/QtCore/qnamespace.sip
+++ b/sip/QtCore/qnamespace.sip
@@ -1362,6 +1362,9 @@ namespace Qt
MatchCaseSensitive,
MatchWrap,
MatchRecursive,
+%If (Qt_5_15_0 -)
+ MatchRegularExpression,
+%End
};
typedef QFlags<Qt::MatchFlag> MatchFlags;
@@ -1447,6 +1450,9 @@ namespace Qt
%End
%If (Qt_5_14_0 -)
AA_DisableSessionManager,
+%End
+%If (Qt_5_15_0 -)
+ AA_DisableNativeVirtualKeyboard,
%End
};
diff --git a/sip/QtCore/qpycore_qvector.sip b/sip/QtCore/qpycore_qvector.sip
index f525f5ba..81d8be76 100644
--- a/sip/QtCore/qpycore_qvector.sip
+++ b/sip/QtCore/qpycore_qvector.sip
@@ -130,6 +130,120 @@ template<_TYPE_>
};
+template<_TYPE_>
+%MappedType QVector<_TYPE_ *>
+ /TypeHintIn="Iterable[_TYPE_]", TypeHintOut="List[_TYPE_]",
+ TypeHintValue="[]"/
+{
+%TypeHeaderCode
+#include <qvector.h>
+%End
+
+%ConvertFromTypeCode
+ int gc_enabled = sipEnableGC(0);
+ PyObject *l = PyList_New(sipCpp->size());
+
+ if (l)
+ {
+ for (int i = 0; i < sipCpp->size(); ++i)
+ {
+ _TYPE_ *t = sipCpp->at(i);
+
+ // The explicit (void *) cast allows _TYPE_ to be const.
+ PyObject *tobj = sipConvertFromNewType((void *)t, sipType__TYPE_,
+ sipTransferObj);
+
+ if (!tobj)
+ {
+ Py_DECREF(l);
+ l = 0;
+
+ break;
+ }
+
+ PyList_SetItem(l, i, tobj);
+ }
+ }
+
+ sipEnableGC(gc_enabled);
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ PyObject *iter = PyObject_GetIter(sipPy);
+
+ if (!sipIsErr)
+ {
+ PyErr_Clear();
+ Py_XDECREF(iter);
+
+ return (iter
+#if PY_MAJOR_VERSION < 3
+ && !PyString_Check(sipPy)
+#endif
+ && !PyUnicode_Check(sipPy));
+ }
+
+ if (!iter)
+ {
+ *sipIsErr = 1;
+
+ return 0;
+ }
+
+ QVector<_TYPE_ *> *qv = new QVector<_TYPE_ *>;
+
+ for (Py_ssize_t i = 0; ; ++i)
+ {
+ PyErr_Clear();
+ PyObject *itm = PyIter_Next(iter);
+
+ if (!itm)
+ {
+ if (PyErr_Occurred())
+ {
+ delete qv;
+ Py_DECREF(iter);
+ *sipIsErr = 1;
+
+ return 0;
+ }
+
+ break;
+ }
+
+ _TYPE_ *t = reinterpret_cast<_TYPE_ *>(
+ sipForceConvertToType(itm, sipType__TYPE_, sipTransferObj, 0,
+ 0, sipIsErr));
+
+ if (*sipIsErr)
+ {
+ PyErr_Format(PyExc_TypeError,
+ "index %zd has type '%s' but '_TYPE_' is expected", i,
+ sipPyTypeName(Py_TYPE(itm)));
+
+ Py_DECREF(itm);
+ delete qv;
+ Py_DECREF(iter);
+
+ return 0;
+ }
+
+ qv->append(t);
+
+ Py_DECREF(itm);
+ }
+
+ Py_DECREF(iter);
+
+ *sipCppPtr = qv;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+
template<qreal, _TYPE_>
%MappedType QVector<QPair<qreal, _TYPE_> >
/TypeHintIn="Iterable[Tuple[float, _TYPE_]]",
diff --git a/sip/QtCore/qresource.sip b/sip/QtCore/qresource.sip
index 32adb203..347cc0b5 100644
--- a/sip/QtCore/qresource.sip
+++ b/sip/QtCore/qresource.sip
@@ -80,6 +80,12 @@ public:
%If (Qt_5_13_0 -)
QResource::Compression compressionAlgorithm() const;
%End
+%If (Qt_5_15_0 -)
+ qint64 uncompressedSize() const;
+%End
+%If (Qt_5_15_0 -)
+ QByteArray uncompressedData() const;
+%End
private:
QResource(const QResource &);
diff --git a/sip/QtCore/qrunnable.sip b/sip/QtCore/qrunnable.sip
index bf0fe34e..c9de5721 100644
--- a/sip/QtCore/qrunnable.sip
+++ b/sip/QtCore/qrunnable.sip
@@ -32,4 +32,24 @@ public:
virtual void run() = 0 /NewThread/;
bool autoDelete() const;
void setAutoDelete(bool _autoDelete);
+%If (Qt_5_15_0 -)
+ static QRunnable *create(SIP_PYCALLABLE functionToRun /KeepReference,TypeHint="Callable[[], None]"/) /Factory/;
+%MethodCode
+ sipRes = QRunnable::create([a0]() {
+ SIP_BLOCK_THREADS
+
+ PyObject *res;
+
+ res = PyObject_CallObject(a0, NULL);
+
+ if (res)
+ Py_DECREF(res);
+ else
+ pyqt5_err_print();
+
+ SIP_UNBLOCK_THREADS
+ });
+%End
+
+%End
};
diff --git a/sip/QtCore/qsignalmapper.sip b/sip/QtCore/qsignalmapper.sip
index 5803ff8a..c0bdcaa5 100644
--- a/sip/QtCore/qsignalmapper.sip
+++ b/sip/QtCore/qsignalmapper.sip
@@ -50,6 +50,18 @@ signals:
void mapped(const QString &);
void mapped(QWidget *);
void mapped(QObject *);
+%If (Qt_5_15_0 -)
+ void mappedInt(int);
+%End
+%If (Qt_5_15_0 -)
+ void mappedString(const QString &);
+%End
+%If (Qt_5_15_0 -)
+ void mappedWidget(QWidget *);
+%End
+%If (Qt_5_15_0 -)
+ void mappedObject(QObject *);
+%End
public slots:
void map();
diff --git a/sip/QtCore/qsortfilterproxymodel.sip b/sip/QtCore/qsortfilterproxymodel.sip
index c4ee314a..bdb090c4 100644
--- a/sip/QtCore/qsortfilterproxymodel.sip
+++ b/sip/QtCore/qsortfilterproxymodel.sip
@@ -114,4 +114,27 @@ public:
protected:
void invalidateFilter();
+
+signals:
+%If (Qt_5_15_0 -)
+ void dynamicSortFilterChanged(bool dynamicSortFilter);
+%End
+%If (Qt_5_15_0 -)
+ void filterCaseSensitivityChanged(Qt::CaseSensitivity filterCaseSensitivity);
+%End
+%If (Qt_5_15_0 -)
+ void sortCaseSensitivityChanged(Qt::CaseSensitivity sortCaseSensitivity);
+%End
+%If (Qt_5_15_0 -)
+ void sortLocaleAwareChanged(bool sortLocaleAware);
+%End
+%If (Qt_5_15_0 -)
+ void sortRoleChanged(int sortRole);
+%End
+%If (Qt_5_15_0 -)
+ void filterRoleChanged(int filterRole);
+%End
+%If (Qt_5_15_0 -)
+ void recursiveFilteringEnabledChanged(bool recursiveFilteringEnabled);
+%End
};
diff --git a/sip/QtCore/qthread.sip b/sip/QtCore/qthread.sip
index 6ab15caf..16d7e7a6 100644
--- a/sip/QtCore/qthread.sip
+++ b/sip/QtCore/qthread.sip
@@ -61,6 +61,9 @@ public slots:
public:
bool wait(unsigned long msecs = ULONG_MAX) /ReleaseGIL/;
+%If (Qt_5_15_0 -)
+ bool wait(QDeadlineTimer deadline) [bool (QDeadlineTimer deadline = QDeadlineTimer(QDeadlineTimer::ForeverConstant::Forever))];
+%End
signals:
void started();
diff --git a/sip/QtCore/qthreadpool.sip b/sip/QtCore/qthreadpool.sip
index 960d5759..75063bd6 100644
--- a/sip/QtCore/qthreadpool.sip
+++ b/sip/QtCore/qthreadpool.sip
@@ -41,6 +41,34 @@ public:
Py_END_ALLOW_THREADS
%End
+%If (Qt_5_15_0 -)
+ void start(SIP_PYCALLABLE functionToRun /TypeHint="Callable[[], None]"/, int priority = 0) /ReleaseGIL/;
+%MethodCode
+ Py_INCREF(a0);
+
+ Py_BEGIN_ALLOW_THREADS
+
+ sipCpp->start([a0]() {
+ SIP_BLOCK_THREADS
+
+ PyObject *res;
+
+ res = PyObject_CallObject(a0, NULL);
+
+ Py_DECREF(a0);
+
+ if (res)
+ Py_DECREF(res);
+ else
+ pyqt5_err_print();
+
+ SIP_UNBLOCK_THREADS
+ }, a1);
+
+ Py_END_ALLOW_THREADS
+%End
+
+%End
bool tryStart(QRunnable *runnable /GetWrapper/) /ReleaseGIL/;
%MethodCode
// We have to handle the object ownership manually.
@@ -52,6 +80,34 @@ public:
Py_END_ALLOW_THREADS
%End
+%If (Qt_5_15_0 -)
+ bool tryStart(SIP_PYCALLABLE functionToRun /TypeHint="Callable[[], None]"/) /ReleaseGIL/;
+%MethodCode
+ Py_INCREF(a0);
+
+ Py_BEGIN_ALLOW_THREADS
+
+ sipRes = sipCpp->tryStart([a0]() {
+ SIP_BLOCK_THREADS
+
+ PyObject *res;
+
+ res = PyObject_CallObject(a0, NULL);
+
+ Py_DECREF(a0);
+
+ if (res)
+ Py_DECREF(res);
+ else
+ pyqt5_err_print();
+
+ SIP_UNBLOCK_THREADS
+ });
+
+ Py_END_ALLOW_THREADS
+%End
+
+%End
%If (Qt_5_9_0 -)
bool tryTake(QRunnable *runnable /GetWrapper/) /ReleaseGIL/;
%MethodCode
diff --git a/sip/QtCore/qtranslator.sip b/sip/QtCore/qtranslator.sip
index 638e3260..8bf070fd 100644
--- a/sip/QtCore/qtranslator.sip
+++ b/sip/QtCore/qtranslator.sip
@@ -34,4 +34,10 @@ public:
bool load(const QString &fileName, const QString &directory = QString(), const QString &searchDelimiters = QString(), const QString &suffix = QString()) /ReleaseGIL/;
bool load(const QLocale &locale, const QString &fileName, const QString &prefix = QString(), const QString &directory = QString(), const QString &suffix = QString()) /ReleaseGIL/;
bool load(const uchar *data /Array/, int len /ArraySize/, const QString &directory = QString()) /PyName=loadFromData,ReleaseGIL/;
+%If (Qt_5_15_0 -)
+ QString language() const;
+%End
+%If (Qt_5_15_0 -)
+ QString filePath() const;
+%End
};
diff --git a/sip/QtCore/qwaitcondition.sip b/sip/QtCore/qwaitcondition.sip
index 7a687a3b..4d2edb70 100644
--- a/sip/QtCore/qwaitcondition.sip
+++ b/sip/QtCore/qwaitcondition.sip
@@ -30,10 +30,10 @@ public:
QWaitCondition();
~QWaitCondition();
bool wait(QMutex *mutex, unsigned long msecs = ULONG_MAX) /ReleaseGIL/;
- bool wait(QReadWriteLock *readWriteLock, unsigned long msecs = ULONG_MAX) /ReleaseGIL/;
%If (Qt_5_12_0 -)
bool wait(QMutex *lockedMutex, QDeadlineTimer deadline) /ReleaseGIL/;
%End
+ bool wait(QReadWriteLock *readWriteLock, unsigned long msecs = ULONG_MAX) /ReleaseGIL/;
%If (Qt_5_12_0 -)
bool wait(QReadWriteLock *lockedReadWriteLock, QDeadlineTimer deadline) /ReleaseGIL/;
%End
diff --git a/sip/QtCore/qxmlstream.sip b/sip/QtCore/qxmlstream.sip
index 6b1df359..3ea60fbb 100644
--- a/sip/QtCore/qxmlstream.sip
+++ b/sip/QtCore/qxmlstream.sip
@@ -117,7 +117,7 @@ Py_ssize_t idx = sipConvertFromSequenceIndex(a0, sipCpp->count());
if (idx < 0)
sipIsErr = 1;
else
- sipRes = new QXmlStreamAttribute(sipCpp->operator[]((int)idx));
+ sipRes = &sipCpp->operator[]((int)idx);
%End
// Some additional Python special methods.
@@ -191,7 +191,7 @@ else
}
%End
-QXmlStreamAttributes &operator[](SIP_PYSLICE slice);
+QXmlStreamAttributes operator[](SIP_PYSLICE slice);
%MethodCode
Py_ssize_t start, stop, step, slicelength;
@@ -386,6 +386,12 @@ public:
QXmlStreamEntityResolver *entityResolver() const;
bool readNextStartElement();
void skipCurrentElement();
+%If (Qt_5_15_0 -)
+ int entityExpansionLimit() const;
+%End
+%If (Qt_5_15_0 -)
+ void setEntityExpansionLimit(int limit);
+%End
private:
QXmlStreamReader(const QXmlStreamReader &);
diff --git a/sip/QtGui/qbrush.sip b/sip/QtGui/qbrush.sip
index 2815d932..1db70b3c 100644
--- a/sip/QtGui/qbrush.sip
+++ b/sip/QtGui/qbrush.sip
@@ -123,6 +123,26 @@ class QGradient
#include <qbrush.h>
%End
+%ConvertToSubClassCode
+ switch (sipCpp->type())
+ {
+ case QGradient::ConicalGradient:
+ sipType = sipType_QConicalGradient;
+ break;
+
+ case QGradient::LinearGradient:
+ sipType = sipType_QLinearGradient;
+ break;
+
+ case QGradient::RadialGradient:
+ sipType = sipType_QRadialGradient;
+ break;
+
+ default:
+ sipType = 0;
+ }
+%End
+
public:
enum CoordinateMode
{
diff --git a/sip/QtGui/qevent.sip b/sip/QtGui/qevent.sip
index be5aef23..ccb23612 100644
--- a/sip/QtGui/qevent.sip
+++ b/sip/QtGui/qevent.sip
@@ -352,6 +352,9 @@ public:
%If (Qt_5_4_0 -)
Qt::MouseButtons buttons() const;
%End
+%If (Qt_5_15_0 -)
+ QTabletEvent::TabletDevice deviceType() const;
+%End
};
class QKeyEvent : QInputEvent
diff --git a/sip/QtGui/qpdfwriter.sip b/sip/QtGui/qpdfwriter.sip
index 855181f1..1e2732df 100644
--- a/sip/QtGui/qpdfwriter.sip
+++ b/sip/QtGui/qpdfwriter.sip
@@ -56,6 +56,15 @@ public:
%If (Qt_5_10_0 -)
QPagedPaintDevice::PdfVersion pdfVersion() const;
%End
+%If (Qt_5_15_0 -)
+ void setDocumentXmpMetadata(const QByteArray &xmpMetadata);
+%End
+%If (Qt_5_15_0 -)
+ QByteArray documentXmpMetadata() const;
+%End
+%If (Qt_5_15_0 -)
+ void addFileAttachment(const QString &fileName, const QByteArray &data, const QString &mimeType = QString());
+%End
private:
QPdfWriter(const QPdfWriter &);
diff --git a/sip/QtGui/qpolygon.sip b/sip/QtGui/qpolygon.sip
index 0cf6f491..00b3b65f 100644
--- a/sip/QtGui/qpolygon.sip
+++ b/sip/QtGui/qpolygon.sip
@@ -218,7 +218,7 @@ Py_ssize_t idx = sipConvertFromSequenceIndex(a0, sipCpp->count());
if (idx < 0)
sipIsErr = 1;
else
- sipRes = new QPoint(sipCpp->operator[]((int)idx));
+ sipRes = &sipCpp->operator[]((int)idx);
%End
// Some additional Python special methods.
@@ -292,7 +292,7 @@ else
}
%End
-QPolygon &operator[](SIP_PYSLICE slice);
+QPolygon operator[](SIP_PYSLICE slice);
%MethodCode
Py_ssize_t start, stop, step, slicelength;
@@ -404,7 +404,7 @@ Py_ssize_t idx = sipConvertFromSequenceIndex(a0, sipCpp->count());
if (idx < 0)
sipIsErr = 1;
else
- sipRes = new QPointF(sipCpp->operator[]((int)idx));
+ sipRes = &sipCpp->operator[]((int)idx);
%End
// Some additional Python special methods.
@@ -478,7 +478,7 @@ else
}
%End
-QPolygonF &operator[](SIP_PYSLICE slice);
+QPolygonF operator[](SIP_PYSLICE slice);
%MethodCode
Py_ssize_t start, stop, step, slicelength;
diff --git a/sip/QtGui/qscreen.sip b/sip/QtGui/qscreen.sip
index b30eeaf9..94daa85a 100644
--- a/sip/QtGui/qscreen.sip
+++ b/sip/QtGui/qscreen.sip
@@ -87,6 +87,9 @@ public:
%If (Qt_5_9_0 -)
QString serialNumber() const;
%End
+%If (Qt_5_15_0 -)
+ QScreen *virtualSiblingAt(QPoint point);
+%End
private:
QScreen(const QScreen &);
diff --git a/sip/QtGui/qwindow.sip b/sip/QtGui/qwindow.sip
index 858cabe5..1e059511 100644
--- a/sip/QtGui/qwindow.sip
+++ b/sip/QtGui/qwindow.sip
@@ -238,4 +238,12 @@ public:
%If (Qt_5_10_0 -)
void setWindowStates(Qt::WindowStates states);
%End
+
+public slots:
+%If (Qt_5_15_0 -)
+ bool startSystemResize(Qt::Edges edges);
+%End
+%If (Qt_5_15_0 -)
+ bool startSystemMove();
+%End
};
diff --git a/sip/QtHelp/QtHelpmod.sip b/sip/QtHelp/QtHelpmod.sip
index ce65d39d..1ee69740 100644
--- a/sip/QtHelp/QtHelpmod.sip
+++ b/sip/QtHelp/QtHelpmod.sip
@@ -53,7 +53,9 @@ WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%Include qhelpenginecore.sip
%Include qhelpfilterdata.sip
%Include qhelpfilterengine.sip
+%Include qhelpfiltersettingswidget.sip
%Include qhelpindexwidget.sip
+%Include qhelplink.sip
%Include qhelpsearchengine.sip
%Include qhelpsearchquerywidget.sip
%Include qhelpsearchresultwidget.sip
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtHelp/qcompressedhelpinfo.sip
index ea4d0a9f..e7b61d3b 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtHelp/qcompressedhelpinfo.sip
@@ -37,6 +37,9 @@ public:
QString component() const;
QVersionNumber version() const;
static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
+%If (Qt_5_15_0 -)
+ bool isNull() const;
+%End
};
%End
diff --git a/sip/QtHelp/qhelpenginecore.sip b/sip/QtHelp/qhelpenginecore.sip
index 33289451..534471c9 100644
--- a/sip/QtHelp/qhelpenginecore.sip
+++ b/sip/QtHelp/qhelpenginecore.sip
@@ -34,16 +34,21 @@ class QHelpEngineCore : QObject
} graph[] = {
{sipName_QHelpContentModel, &sipType_QHelpContentModel, -1, 1},
{sipName_QHelpContentWidget, &sipType_QHelpContentWidget, -1, 2},
- {sipName_QHelpEngineCore, &sipType_QHelpEngineCore, 9, 3},
+ {sipName_QHelpEngineCore, &sipType_QHelpEngineCore, 10, 3},
#if QT_VERSION >= 0x050d00
{sipName_QHelpFilterEngine, &sipType_QHelpFilterEngine, -1, 4},
#else
{0, 0, -1, 4},
#endif
- {sipName_QHelpIndexModel, &sipType_QHelpIndexModel, -1, 5},
- {sipName_QHelpIndexWidget, &sipType_QHelpIndexWidget, -1, 6},
- {sipName_QHelpSearchEngine, &sipType_QHelpSearchEngine, -1, 7},
- {sipName_QHelpSearchQueryWidget, &sipType_QHelpSearchQueryWidget, -1, 8},
+ #if QT_VERSION >= 0x050f00
+ {sipName_QHelpFilterSettingsWidget, &sipType_QHelpFilterSettingsWidget, -1, 5},
+ #else
+ {0, 0, -1, 5},
+ #endif
+ {sipName_QHelpIndexModel, &sipType_QHelpIndexModel, -1, 6},
+ {sipName_QHelpIndexWidget, &sipType_QHelpIndexWidget, -1, 7},
+ {sipName_QHelpSearchEngine, &sipType_QHelpSearchEngine, -1, 8},
+ {sipName_QHelpSearchQueryWidget, &sipType_QHelpSearchQueryWidget, -1, 9},
{sipName_QHelpSearchResultWidget, &sipType_QHelpSearchResultWidget, -1, -1},
{sipName_QHelpEngine, &sipType_QHelpEngine, -1, -1},
};
@@ -124,4 +129,16 @@ public:
%If (Qt_5_13_0 -)
bool usesFilterEngine() const;
%End
+%If (Qt_5_15_0 -)
+ QList<QHelpLink> documentsForIdentifier(const QString &id) const;
+%End
+%If (Qt_5_15_0 -)
+ QList<QHelpLink> documentsForIdentifier(const QString &id, const QString &filterName) const;
+%End
+%If (Qt_5_15_0 -)
+ QList<QHelpLink> documentsForKeyword(const QString &keyword) const;
+%End
+%If (Qt_5_15_0 -)
+ QList<QHelpLink> documentsForKeyword(const QString &keyword, const QString &filterName) const;
+%End
};
diff --git a/sip/QtHelp/qhelpfilterengine.sip b/sip/QtHelp/qhelpfilterengine.sip
index c89ffefa..53143f12 100644
--- a/sip/QtHelp/qhelpfilterengine.sip
+++ b/sip/QtHelp/qhelpfilterengine.sip
@@ -45,6 +45,17 @@ signals:
protected:
virtual ~QHelpFilterEngine();
+
+public:
+%If (Qt_5_15_0 -)
+ QList<QVersionNumber> availableVersions() const;
+%End
+%If (Qt_5_15_0 -)
+ QStringList indices() const;
+%End
+%If (Qt_5_15_0 -)
+ QStringList indices(const QString &filterName) const;
+%End
};
%End
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtHelp/qhelpfiltersettingswidget.sip
similarity index 64%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtHelp/qhelpfiltersettingswidget.sip
index ea4d0a9f..98e38411 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtHelp/qhelpfiltersettingswidget.sip
@@ -1,4 +1,4 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qhelpfiltersettingswidget.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
@@ -20,23 +20,21 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
+%If (Qt_5_15_0 -)
-class QCompressedHelpInfo
+class QHelpFilterSettingsWidget : QWidget
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qhelpfiltersettingswidget.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
+ explicit QHelpFilterSettingsWidget(QWidget *parent /TransferThis/ = 0);
+ virtual ~QHelpFilterSettingsWidget();
+ void setAvailableComponents(const QStringList &components);
+ void setAvailableVersions(const QList<QVersionNumber> &versions);
+ void readSettings(const QHelpFilterEngine *filterEngine);
+ bool applySettings(QHelpFilterEngine *filterEngine) const;
};
%End
diff --git a/sip/QtHelp/qhelpindexwidget.sip b/sip/QtHelp/qhelpindexwidget.sip
index a1e33700..da406532 100644
--- a/sip/QtHelp/qhelpindexwidget.sip
+++ b/sip/QtHelp/qhelpindexwidget.sip
@@ -27,6 +27,9 @@ class QHelpIndexModel : QStringListModel /NoDefaultCtors/
%End
public:
+%If (Qt_5_15_0 -)
+ QHelpEngineCore *helpEngine() const;
+%End
void createIndex(const QString &customFilterName);
QModelIndex filter(const QString &filter, const QString &wildcard = QString());
QMap<QString, QUrl> linksForKeyword(const QString &keyword) const;
@@ -54,6 +57,14 @@ public slots:
void filterIndices(const QString &filter, const QString &wildcard = QString());
void activateCurrentItem();
+signals:
+%If (Qt_5_15_0 -)
+ void documentActivated(const QHelpLink &document, const QString &keyword);
+%End
+%If (Qt_5_15_0 -)
+ void documentsActivated(const QList<QHelpLink> &documents, const QString &keyword);
+%End
+
private:
QHelpIndexWidget();
};
diff --git a/sip/QtQuick/qsgmaterialrhishader.sip b/sip/QtHelp/qhelplink.sip
similarity index 79%
copy from sip/QtQuick/qsgmaterialrhishader.sip
copy to sip/QtHelp/qhelplink.sip
index 2723d5cc..ba17c51d 100644
--- a/sip/QtQuick/qsgmaterialrhishader.sip
+++ b/sip/QtHelp/qhelplink.sip
@@ -1,6 +1,6 @@
-// qsgmaterialrhishader.sip generated by MetaSIP
+// qhelplink.sip generated by MetaSIP
//
-// This file is part of the QtQuick Python extension module.
+// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -19,3 +19,17 @@
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+%If (Qt_5_15_0 -)
+
+struct QHelpLink
+{
+%TypeHeaderCode
+#include <qhelplink.h>
+%End
+
+ QUrl url;
+ QString title;
+};
+
+%End
diff --git a/sip/QtMultimedia/QtMultimediamod.sip b/sip/QtMultimedia/QtMultimediamod.sip
index c541b6ec..bc6c8fbd 100644
--- a/sip/QtMultimedia/QtMultimediamod.sip
+++ b/sip/QtMultimedia/QtMultimediamod.sip
@@ -53,37 +53,74 @@ WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%Include qaudio.sip
%Include qaudiobuffer.sip
%Include qaudiodecoder.sip
+%Include qaudiodecodercontrol.sip
%Include qaudiodeviceinfo.sip
+%Include qaudioencodersettingscontrol.sip
%Include qaudioformat.sip
%Include qaudioinput.sip
+%Include qaudioinputselectorcontrol.sip
%Include qaudiooutput.sip
+%Include qaudiooutputselectorcontrol.sip
%Include qaudioprobe.sip
%Include qaudiorecorder.sip
+%Include qaudiorolecontrol.sip
%Include qcamera.sip
+%Include qcameracapturebufferformatcontrol.sip
+%Include qcameracapturedestinationcontrol.sip
+%Include qcameracontrol.sip
%Include qcameraexposure.sip
+%Include qcameraexposurecontrol.sip
+%Include qcamerafeedbackcontrol.sip
+%Include qcameraflashcontrol.sip
%Include qcamerafocus.sip
+%Include qcamerafocuscontrol.sip
%Include qcameraimagecapture.sip
+%Include qcameraimagecapturecontrol.sip
%Include qcameraimageprocessing.sip
+%Include qcameraimageprocessingcontrol.sip
%Include qcamerainfo.sip
+%Include qcamerainfocontrol.sip
+%Include qcameralockscontrol.sip
%Include qcameraviewfindersettings.sip
+%Include qcameraviewfindersettingscontrol.sip
+%Include qcamerazoomcontrol.sip
+%Include qcustomaudiorolecontrol.sip
+%Include qimageencodercontrol.sip
+%Include qmediaaudioprobecontrol.sip
+%Include qmediaavailabilitycontrol.sip
%Include qmediabindableinterface.sip
+%Include qmediacontainercontrol.sip
%Include qmediacontent.sip
%Include qmediacontrol.sip
%Include qmediaencodersettings.sip
+%Include qmediagaplessplaybackcontrol.sip
%Include qmediametadata.sip
+%Include qmedianetworkaccesscontrol.sip
%Include qmediaobject.sip
%Include qmediaplayer.sip
+%Include qmediaplayercontrol.sip
%Include qmediaplaylist.sip
%Include qmediarecorder.sip
+%Include qmediarecordercontrol.sip
%Include qmediaresource.sip
%Include qmediaservice.sip
+%Include qmediastreamscontrol.sip
%Include qmediatimerange.sip
+%Include qmediavideoprobecontrol.sip
+%Include qmetadatareadercontrol.sip
+%Include qmetadatawritercontrol.sip
%Include qmultimedia.sip
%Include qradiodata.sip
+%Include qradiodatacontrol.sip
%Include qradiotuner.sip
+%Include qradiotunercontrol.sip
%Include qsound.sip
%Include qsoundeffect.sip
+%Include qvideodeviceselectorcontrol.sip
+%Include qvideoencodersettingscontrol.sip
%Include qvideoframe.sip
%Include qvideoprobe.sip
+%Include qvideorenderercontrol.sip
%Include qvideosurfaceformat.sip
+%Include qvideowindowcontrol.sip
%Include qpymultimedia_qlist.sip
diff --git a/sip/QtMultimedia/qabstractvideosurface.sip b/sip/QtMultimedia/qabstractvideosurface.sip
index 4fcd9ff9..b1f0a508 100644
--- a/sip/QtMultimedia/qabstractvideosurface.sip
+++ b/sip/QtMultimedia/qabstractvideosurface.sip
@@ -32,32 +32,74 @@ class QAbstractVideoSurface : QObject
sipTypeDef **type;
int yes, no;
} graph[] = {
- {sipName_QSound, &sipType_QSound, -1, 1},
- {sipName_QCameraImageProcessing, &sipType_QCameraImageProcessing, -1, 2},
- {sipName_QVideoProbe, &sipType_QVideoProbe, -1, 3},
- {sipName_QCameraExposure, &sipType_QCameraExposure, -1, 4},
- {sipName_QAudioInput, &sipType_QAudioInput, -1, 5},
#if QT_VERSION >= 0x050500
- {sipName_QAbstractVideoFilter, &sipType_QAbstractVideoFilter, -1, 6},
+ {sipName_QAbstractVideoFilter, &sipType_QAbstractVideoFilter, -1, 1},
#else
- {0, 0, -1, 6},
+ {0, 0, -1, 1},
#endif
- {sipName_QMediaObject, &sipType_QMediaObject, 18, 7},
- {sipName_QMediaRecorder, &sipType_QMediaRecorder, 22, 8},
- {sipName_QSoundEffect, &sipType_QSoundEffect, -1, 9},
- {sipName_QCameraImageCapture, &sipType_QCameraImageCapture, -1, 10},
- {sipName_QAbstractVideoSurface, &sipType_QAbstractVideoSurface, -1, 11},
- {sipName_QAudioOutput, &sipType_QAudioOutput, -1, 12},
- {sipName_QCameraFocus, &sipType_QCameraFocus, -1, 13},
+ {sipName_QAbstractVideoSurface, &sipType_QAbstractVideoSurface, -1, 2},
+ {sipName_QMediaObject, &sipType_QMediaObject, 18, 3},
+ {sipName_QMediaControl, &sipType_QMediaControl, 22, 4},
+ {sipName_QAudioInput, &sipType_QAudioInput, -1, 5},
+ {sipName_QAudioOutput, &sipType_QAudioOutput, -1, 6},
+ {sipName_QAudioProbe, &sipType_QAudioProbe, -1, 7},
+ {sipName_QMediaRecorder, &sipType_QMediaRecorder, 60, 8},
+ {sipName_QCameraExposure, &sipType_QCameraExposure, -1, 9},
+ {sipName_QCameraFocus, &sipType_QCameraFocus, -1, 10},
+ {sipName_QCameraImageCapture, &sipType_QCameraImageCapture, -1, 11},
+ {sipName_QCameraImageProcessing, &sipType_QCameraImageProcessing, -1, 12},
+ {sipName_QMediaPlaylist, &sipType_QMediaPlaylist, -1, 13},
{sipName_QMediaService, &sipType_QMediaService, -1, 14},
{sipName_QRadioData, &sipType_QRadioData, -1, 15},
- {sipName_QMediaControl, &sipType_QMediaControl, -1, 16},
- {sipName_QMediaPlaylist, &sipType_QMediaPlaylist, -1, 17},
- {sipName_QAudioProbe, &sipType_QAudioProbe, -1, -1},
- {sipName_QRadioTuner, &sipType_QRadioTuner, -1, 19},
+ {sipName_QSound, &sipType_QSound, -1, 16},
+ {sipName_QSoundEffect, &sipType_QSoundEffect, -1, 17},
+ {sipName_QVideoProbe, &sipType_QVideoProbe, -1, -1},
+ {sipName_QAudioDecoder, &sipType_QAudioDecoder, -1, 19},
{sipName_QCamera, &sipType_QCamera, -1, 20},
{sipName_QMediaPlayer, &sipType_QMediaPlayer, -1, 21},
- {sipName_QAudioDecoder, &sipType_QAudioDecoder, -1, -1},
+ {sipName_QRadioTuner, &sipType_QRadioTuner, -1, -1},
+ {sipName_QAudioDecoderControl, &sipType_QAudioDecoderControl, -1, 23},
+ {sipName_QAudioEncoderSettingsControl, &sipType_QAudioEncoderSettingsControl, -1, 24},
+ {sipName_QAudioInputSelectorControl, &sipType_QAudioInputSelectorControl, -1, 25},
+ {sipName_QAudioOutputSelectorControl, &sipType_QAudioOutputSelectorControl, -1, 26},
+ #if QT_VERSION >= 0x050600
+ {sipName_QAudioRoleControl, &sipType_QAudioRoleControl, -1, 27},
+ #else
+ {0, 0, -1, 27},
+ #endif
+ {sipName_QCameraCaptureBufferFormatControl, &sipType_QCameraCaptureBufferFormatControl, -1, 28},
+ {sipName_QCameraCaptureDestinationControl, &sipType_QCameraCaptureDestinationControl, -1, 29},
+ {sipName_QCameraControl, &sipType_QCameraControl, -1, 30},
+ {sipName_QCameraExposureControl, &sipType_QCameraExposureControl, -1, 31},
+ {sipName_QCameraFeedbackControl, &sipType_QCameraFeedbackControl, -1, 32},
+ {sipName_QCameraFlashControl, &sipType_QCameraFlashControl, -1, 33},
+ {sipName_QCameraFocusControl, &sipType_QCameraFocusControl, -1, 34},
+ {sipName_QCameraImageCaptureControl, &sipType_QCameraImageCaptureControl, -1, 35},
+ {sipName_QCameraImageProcessingControl, &sipType_QCameraImageProcessingControl, -1, 36},
+ {sipName_QCameraInfoControl, &sipType_QCameraInfoControl, -1, 37},
+ {sipName_QCameraLocksControl, &sipType_QCameraLocksControl, -1, 38},
+ {sipName_QCameraViewfinderSettingsControl, &sipType_QCameraViewfinderSettingsControl, -1, 39},
+ {sipName_QCameraViewfinderSettingsControl2, &sipType_QCameraViewfinderSettingsControl2, -1, 40},
+ {sipName_QCameraZoomControl, &sipType_QCameraZoomControl, -1, 41},
+ {sipName_QCustomAudioRoleControl, &sipType_QCustomAudioRoleControl, -1, 42},
+ {sipName_QImageEncoderControl, &sipType_QImageEncoderControl, -1, 43},
+ {sipName_QMediaAudioProbeControl, &sipType_QMediaAudioProbeControl, -1, 44},
+ {sipName_QMediaAvailabilityControl, &sipType_QMediaAvailabilityControl, -1, 45},
+ {sipName_QMediaContainerControl, &sipType_QMediaContainerControl, -1, 46},
+ {sipName_QMediaGaplessPlaybackControl, &sipType_QMediaGaplessPlaybackControl, -1, 47},
+ {sipName_QMediaNetworkAccessControl, &sipType_QMediaNetworkAccessControl, -1, 48},
+ {sipName_QMediaPlayerControl, &sipType_QMediaPlayerControl, -1, 49},
+ {sipName_QMediaRecorderControl, &sipType_QMediaRecorderControl, -1, 50},
+ {sipName_QMediaStreamsControl, &sipType_QMediaStreamsControl, -1, 51},
+ {sipName_QMediaVideoProbeControl, &sipType_QMediaVideoProbeControl, -1, 52},
+ {sipName_QMetaDataReaderControl, &sipType_QMetaDataReaderControl, -1, 53},
+ {sipName_QMetaDataWriterControl, &sipType_QMetaDataWriterControl, -1, 54},
+ {sipName_QRadioDataControl, &sipType_QRadioDataControl, -1, 55},
+ {sipName_QRadioTunerControl, &sipType_QRadioTunerControl, -1, 56},
+ {sipName_QVideoDeviceSelectorControl, &sipType_QVideoDeviceSelectorControl, -1, 57},
+ {sipName_QVideoEncoderSettingsControl, &sipType_QVideoEncoderSettingsControl, -1, 58},
+ {sipName_QVideoRendererControl, &sipType_QVideoRendererControl, -1, 59},
+ {sipName_QVideoWindowControl, &sipType_QVideoWindowControl, -1, -1},
{sipName_QAudioRecorder, &sipType_QAudioRecorder, -1, -1},
};
diff --git a/sip/QtMultimedia/qaudiodecodercontrol.sip b/sip/QtMultimedia/qaudiodecodercontrol.sip
new file mode 100644
index 00000000..204dc289
--- /dev/null
+++ b/sip/QtMultimedia/qaudiodecodercontrol.sip
@@ -0,0 +1,58 @@
+// qaudiodecodercontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QAudioDecoderControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qaudiodecodercontrol.h>
+%End
+
+public:
+ virtual ~QAudioDecoderControl();
+ virtual QAudioDecoder::State state() const = 0;
+ virtual QString sourceFilename() const = 0;
+ virtual void setSourceFilename(const QString &fileName) = 0;
+ virtual QIODevice *sourceDevice() const = 0;
+ virtual void setSourceDevice(QIODevice *device) = 0;
+ virtual void start() = 0;
+ virtual void stop() = 0;
+ virtual QAudioFormat audioFormat() const = 0;
+ virtual void setAudioFormat(const QAudioFormat &format) = 0;
+ virtual QAudioBuffer read() = 0;
+ virtual bool bufferAvailable() const = 0;
+ virtual qint64 position() const = 0;
+ virtual qint64 duration() const = 0;
+
+signals:
+ void stateChanged(QAudioDecoder::State newState);
+ void formatChanged(const QAudioFormat &format);
+ void sourceChanged();
+ void error(int error, const QString &errorString);
+ void bufferReady();
+ void bufferAvailableChanged(bool available);
+ void finished();
+ void positionChanged(qint64 position);
+ void durationChanged(qint64 duration);
+
+protected:
+ explicit QAudioDecoderControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtCore/qwaitcondition.sip b/sip/QtMultimedia/qaudioencodersettingscontrol.sip
similarity index 54%
copy from sip/QtCore/qwaitcondition.sip
copy to sip/QtMultimedia/qaudioencodersettingscontrol.sip
index 7a687a3b..6615ecf9 100644
--- a/sip/QtCore/qwaitcondition.sip
+++ b/sip/QtMultimedia/qaudioencodersettingscontrol.sip
@@ -1,6 +1,6 @@
-// qwaitcondition.sip generated by MetaSIP
+// qaudioencodersettingscontrol.sip generated by MetaSIP
//
-// This file is part of the QtCore Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,26 +20,20 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-class QWaitCondition
+class QAudioEncoderSettingsControl : QMediaControl
{
%TypeHeaderCode
-#include <qwaitcondition.h>
+#include <qaudioencodersettingscontrol.h>
%End
public:
- QWaitCondition();
- ~QWaitCondition();
- bool wait(QMutex *mutex, unsigned long msecs = ULONG_MAX) /ReleaseGIL/;
- bool wait(QReadWriteLock *readWriteLock, unsigned long msecs = ULONG_MAX) /ReleaseGIL/;
-%If (Qt_5_12_0 -)
- bool wait(QMutex *lockedMutex, QDeadlineTimer deadline) /ReleaseGIL/;
-%End
-%If (Qt_5_12_0 -)
- bool wait(QReadWriteLock *lockedReadWriteLock, QDeadlineTimer deadline) /ReleaseGIL/;
-%End
- void wakeOne();
- void wakeAll();
+ virtual ~QAudioEncoderSettingsControl();
+ virtual QStringList supportedAudioCodecs() const = 0;
+ virtual QString codecDescription(const QString &codecName) const = 0;
+ virtual QList<int> supportedSampleRates(const QAudioEncoderSettings &settings, bool *continuous = 0) const = 0;
+ virtual QAudioEncoderSettings audioSettings() const = 0;
+ virtual void setAudioSettings(const QAudioEncoderSettings &settings) = 0;
-private:
- QWaitCondition(const QWaitCondition &);
+protected:
+ explicit QAudioEncoderSettingsControl(QObject *parent /TransferThis/ = 0);
};
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtMultimedia/qaudioinputselectorcontrol.sip
similarity index 55%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtMultimedia/qaudioinputselectorcontrol.sip
index ea4d0a9f..e4a2a0c3 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtMultimedia/qaudioinputselectorcontrol.sip
@@ -1,6 +1,6 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qaudioinputselectorcontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,23 +20,26 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
-
-class QCompressedHelpInfo
+class QAudioInputSelectorControl : QMediaControl
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qaudioinputselectorcontrol.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
-};
+ virtual ~QAudioInputSelectorControl();
+ virtual QList<QString> availableInputs() const = 0;
+ virtual QString inputDescription(const QString &name) const = 0;
+ virtual QString defaultInput() const = 0;
+ virtual QString activeInput() const = 0;
-%End
+public slots:
+ virtual void setActiveInput(const QString &name) = 0;
+
+signals:
+ void activeInputChanged(const QString &name);
+ void availableInputsChanged();
+
+protected:
+ explicit QAudioInputSelectorControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtMultimedia/qaudiooutputselectorcontrol.sip
similarity index 54%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtMultimedia/qaudiooutputselectorcontrol.sip
index ea4d0a9f..3f729066 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtMultimedia/qaudiooutputselectorcontrol.sip
@@ -1,6 +1,6 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qaudiooutputselectorcontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,23 +20,26 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
-
-class QCompressedHelpInfo
+class QAudioOutputSelectorControl : QMediaControl
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qaudiooutputselectorcontrol.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
-};
+ virtual ~QAudioOutputSelectorControl();
+ virtual QList<QString> availableOutputs() const = 0;
+ virtual QString outputDescription(const QString &name) const = 0;
+ virtual QString defaultOutput() const = 0;
+ virtual QString activeOutput() const = 0;
-%End
+public slots:
+ virtual void setActiveOutput(const QString &name) = 0;
+
+signals:
+ void activeOutputChanged(const QString &name);
+ void availableOutputsChanged();
+
+protected:
+ explicit QAudioOutputSelectorControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtMultimedia/qaudiorolecontrol.sip
similarity index 62%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtMultimedia/qaudiorolecontrol.sip
index ea4d0a9f..ab96ac5f 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtMultimedia/qaudiorolecontrol.sip
@@ -1,6 +1,6 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qaudiorolecontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,23 +20,25 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
+%If (Qt_5_6_0 -)
-class QCompressedHelpInfo
+class QAudioRoleControl : QMediaControl
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qaudiorolecontrol.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
+ virtual ~QAudioRoleControl();
+ virtual QAudio::Role audioRole() const = 0;
+ virtual void setAudioRole(QAudio::Role role) = 0;
+ virtual QList<QAudio::Role> supportedAudioRoles() const = 0;
+
+signals:
+ void audioRoleChanged(QAudio::Role role);
+
+protected:
+ explicit QAudioRoleControl(QObject *parent /TransferThis/ = 0);
};
%End
diff --git a/sip/QtMultimedia/qcamera.sip b/sip/QtMultimedia/qcamera.sip
index 4d48e0a8..42a44ea2 100644
--- a/sip/QtMultimedia/qcamera.sip
+++ b/sip/QtMultimedia/qcamera.sip
@@ -154,6 +154,9 @@ signals:
void lockStatusChanged(QCamera::LockStatus, QCamera::LockChangeReason);
void lockStatusChanged(QCamera::LockType, QCamera::LockStatus, QCamera::LockChangeReason);
void error(QCamera::Error);
+%If (Qt_5_15_0 -)
+ void errorOccurred(QCamera::Error);
+%End
public:
%If (Qt_5_5_0 -)
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtMultimedia/qcameracapturebufferformatcontrol.sip
similarity index 57%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtMultimedia/qcameracapturebufferformatcontrol.sip
index ea4d0a9f..9cec20f8 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtMultimedia/qcameracapturebufferformatcontrol.sip
@@ -1,6 +1,6 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qcameracapturebufferformatcontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,23 +20,21 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
-
-class QCompressedHelpInfo
+class QCameraCaptureBufferFormatControl : QMediaControl
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qcameracapturebufferformatcontrol.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
-};
+ virtual ~QCameraCaptureBufferFormatControl();
+ virtual QList<QVideoFrame::PixelFormat> supportedBufferFormats() const = 0;
+ virtual QVideoFrame::PixelFormat bufferFormat() const = 0;
+ virtual void setBufferFormat(QVideoFrame::PixelFormat format) = 0;
-%End
+signals:
+ void bufferFormatChanged(QVideoFrame::PixelFormat format);
+
+protected:
+ explicit QCameraCaptureBufferFormatControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtMultimedia/qcameracapturedestinationcontrol.sip
similarity index 53%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtMultimedia/qcameracapturedestinationcontrol.sip
index ea4d0a9f..e0db7444 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtMultimedia/qcameracapturedestinationcontrol.sip
@@ -1,6 +1,6 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qcameracapturedestinationcontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,23 +20,21 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
-
-class QCompressedHelpInfo
+class QCameraCaptureDestinationControl : QMediaControl
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qcameracapturedestinationcontrol.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
-};
+ virtual ~QCameraCaptureDestinationControl();
+ virtual bool isCaptureDestinationSupported(QCameraImageCapture::CaptureDestinations destination) const = 0;
+ virtual QCameraImageCapture::CaptureDestinations captureDestination() const = 0;
+ virtual void setCaptureDestination(QCameraImageCapture::CaptureDestinations destination) = 0;
-%End
+signals:
+ void captureDestinationChanged(QCameraImageCapture::CaptureDestinations destination);
+
+protected:
+ explicit QCameraCaptureDestinationControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qcameracontrol.sip b/sip/QtMultimedia/qcameracontrol.sip
new file mode 100644
index 00000000..55d46e68
--- /dev/null
+++ b/sip/QtMultimedia/qcameracontrol.sip
@@ -0,0 +1,56 @@
+// qcameracontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QCameraControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qcameracontrol.h>
+%End
+
+public:
+ enum PropertyChangeType
+ {
+ CaptureMode,
+ ImageEncodingSettings,
+ VideoEncodingSettings,
+ Viewfinder,
+ ViewfinderSettings,
+ };
+
+ virtual ~QCameraControl();
+ virtual QCamera::State state() const = 0;
+ virtual void setState(QCamera::State state) = 0;
+ virtual QCamera::Status status() const = 0;
+ virtual QCamera::CaptureModes captureMode() const = 0;
+ virtual void setCaptureMode(QCamera::CaptureModes) = 0;
+ virtual bool isCaptureModeSupported(QCamera::CaptureModes mode) const = 0;
+ virtual bool canChangeProperty(QCameraControl::PropertyChangeType changeType, QCamera::Status status) const = 0;
+
+signals:
+ void stateChanged(QCamera::State);
+ void statusChanged(QCamera::Status);
+ void error(int error, const QString &errorString);
+ void captureModeChanged(QCamera::CaptureModes mode);
+
+protected:
+ explicit QCameraControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qcameraexposurecontrol.sip b/sip/QtMultimedia/qcameraexposurecontrol.sip
new file mode 100644
index 00000000..f82cb5a2
--- /dev/null
+++ b/sip/QtMultimedia/qcameraexposurecontrol.sip
@@ -0,0 +1,60 @@
+// qcameraexposurecontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QCameraExposureControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qcameraexposurecontrol.h>
+%End
+
+public:
+ virtual ~QCameraExposureControl();
+
+ enum ExposureParameter
+ {
+ ISO,
+ Aperture,
+ ShutterSpeed,
+ ExposureCompensation,
+ FlashPower,
+ FlashCompensation,
+ TorchPower,
+ SpotMeteringPoint,
+ ExposureMode,
+ MeteringMode,
+ ExtendedExposureParameter,
+ };
+
+ virtual bool isParameterSupported(QCameraExposureControl::ExposureParameter parameter) const = 0;
+ virtual QVariantList supportedParameterRange(QCameraExposureControl::ExposureParameter parameter, bool *continuous) const = 0;
+ virtual QVariant requestedValue(QCameraExposureControl::ExposureParameter parameter) const = 0;
+ virtual QVariant actualValue(QCameraExposureControl::ExposureParameter parameter) const = 0;
+ virtual bool setValue(QCameraExposureControl::ExposureParameter parameter, const QVariant &value) = 0;
+
+signals:
+ void requestedValueChanged(int parameter);
+ void actualValueChanged(int parameter);
+ void parameterRangeChanged(int parameter);
+
+protected:
+ explicit QCameraExposureControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qcamerafeedbackcontrol.sip b/sip/QtMultimedia/qcamerafeedbackcontrol.sip
new file mode 100644
index 00000000..3a76bc7f
--- /dev/null
+++ b/sip/QtMultimedia/qcamerafeedbackcontrol.sip
@@ -0,0 +1,54 @@
+// qcamerafeedbackcontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QCameraFeedbackControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qcamerafeedbackcontrol.h>
+%End
+
+public:
+ enum EventType
+ {
+ ViewfinderStarted,
+ ViewfinderStopped,
+ ImageCaptured,
+ ImageSaved,
+ ImageError,
+ RecordingStarted,
+ RecordingInProgress,
+ RecordingStopped,
+ AutoFocusInProgress,
+ AutoFocusLocked,
+ AutoFocusFailed,
+ };
+
+ virtual ~QCameraFeedbackControl();
+ virtual bool isEventFeedbackLocked(QCameraFeedbackControl::EventType) const = 0;
+ virtual bool isEventFeedbackEnabled(QCameraFeedbackControl::EventType) const = 0;
+ virtual bool setEventFeedbackEnabled(QCameraFeedbackControl::EventType, bool) = 0;
+ virtual void resetEventFeedback(QCameraFeedbackControl::EventType) = 0;
+ virtual bool setEventFeedbackSound(QCameraFeedbackControl::EventType, const QString &filePath) = 0;
+
+protected:
+ explicit QCameraFeedbackControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtQml/qqmlextensionplugin.sip b/sip/QtMultimedia/qcameraflashcontrol.sip
similarity index 59%
copy from sip/QtQml/qqmlextensionplugin.sip
copy to sip/QtMultimedia/qcameraflashcontrol.sip
index 280265cd..629910c9 100644
--- a/sip/QtQml/qqmlextensionplugin.sip
+++ b/sip/QtMultimedia/qcameraflashcontrol.sip
@@ -1,6 +1,6 @@
-// qqmlextensionplugin.sip generated by MetaSIP
+// qcameraflashcontrol.sip generated by MetaSIP
//
-// This file is part of the QtQml Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,18 +20,22 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-class QQmlExtensionPlugin : QObject
+class QCameraFlashControl : QMediaControl
{
%TypeHeaderCode
-#include <qqmlextensionplugin.h>
+#include <qcameraflashcontrol.h>
%End
public:
- explicit QQmlExtensionPlugin(QObject *parent /TransferThis/ = 0);
- virtual ~QQmlExtensionPlugin();
- virtual void registerTypes(const char *uri) = 0;
- virtual void initializeEngine(QQmlEngine *engine, const char *uri);
-%If (Qt_5_1_0 -)
- QUrl baseUrl() const;
-%End
+ virtual ~QCameraFlashControl();
+ virtual QCameraExposure::FlashModes flashMode() const = 0;
+ virtual void setFlashMode(QCameraExposure::FlashModes mode) = 0;
+ virtual bool isFlashModeSupported(QCameraExposure::FlashModes mode) const = 0;
+ virtual bool isFlashReady() const = 0;
+
+signals:
+ void flashReady(bool);
+
+protected:
+ explicit QCameraFlashControl(QObject *parent /TransferThis/ = 0);
};
diff --git a/sip/QtMultimedia/qcamerafocuscontrol.sip b/sip/QtMultimedia/qcamerafocuscontrol.sip
new file mode 100644
index 00000000..15f0102a
--- /dev/null
+++ b/sip/QtMultimedia/qcamerafocuscontrol.sip
@@ -0,0 +1,49 @@
+// qcamerafocuscontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QCameraFocusControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qcamerafocuscontrol.h>
+%End
+
+public:
+ virtual ~QCameraFocusControl();
+ virtual QCameraFocus::FocusModes focusMode() const = 0;
+ virtual void setFocusMode(QCameraFocus::FocusModes mode) = 0;
+ virtual bool isFocusModeSupported(QCameraFocus::FocusModes mode) const = 0;
+ virtual QCameraFocus::FocusPointMode focusPointMode() const = 0;
+ virtual void setFocusPointMode(QCameraFocus::FocusPointMode mode) = 0;
+ virtual bool isFocusPointModeSupported(QCameraFocus::FocusPointMode mode) const = 0;
+ virtual QPointF customFocusPoint() const = 0;
+ virtual void setCustomFocusPoint(const QPointF &point) = 0;
+ virtual QCameraFocusZoneList focusZones() const = 0;
+
+signals:
+ void focusModeChanged(QCameraFocus::FocusModes mode);
+ void focusPointModeChanged(QCameraFocus::FocusPointMode mode);
+ void customFocusPointChanged(const QPointF &point);
+ void focusZonesChanged();
+
+protected:
+ explicit QCameraFocusControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qcameraimagecapturecontrol.sip b/sip/QtMultimedia/qcameraimagecapturecontrol.sip
new file mode 100644
index 00000000..bc1a15e7
--- /dev/null
+++ b/sip/QtMultimedia/qcameraimagecapturecontrol.sip
@@ -0,0 +1,48 @@
+// qcameraimagecapturecontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QCameraImageCaptureControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qcameraimagecapturecontrol.h>
+%End
+
+public:
+ virtual ~QCameraImageCaptureControl();
+ virtual bool isReadyForCapture() const = 0;
+ virtual QCameraImageCapture::DriveMode driveMode() const = 0;
+ virtual void setDriveMode(QCameraImageCapture::DriveMode mode) = 0;
+ virtual int capture(const QString &fileName) = 0;
+ virtual void cancelCapture() = 0;
+
+signals:
+ void readyForCaptureChanged(bool ready);
+ void imageExposed(int requestId);
+ void imageCaptured(int requestId, const QImage &preview);
+ void imageMetadataAvailable(int id, const QString &key, const QVariant &value);
+ void imageAvailable(int requestId, const QVideoFrame &buffer);
+ void imageSaved(int requestId, const QString &fileName);
+ void error(int id, int error, const QString &errorString);
+
+protected:
+ explicit QCameraImageCaptureControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qcameraimageprocessingcontrol.sip b/sip/QtMultimedia/qcameraimageprocessingcontrol.sip
new file mode 100644
index 00000000..134f8865
--- /dev/null
+++ b/sip/QtMultimedia/qcameraimageprocessingcontrol.sip
@@ -0,0 +1,57 @@
+// qcameraimageprocessingcontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QCameraImageProcessingControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qcameraimageprocessingcontrol.h>
+%End
+
+public:
+ virtual ~QCameraImageProcessingControl();
+
+ enum ProcessingParameter
+ {
+ WhiteBalancePreset,
+ ColorTemperature,
+ Contrast,
+ Saturation,
+ Brightness,
+ Sharpening,
+ Denoising,
+ ContrastAdjustment,
+ SaturationAdjustment,
+ BrightnessAdjustment,
+ SharpeningAdjustment,
+ DenoisingAdjustment,
+ ColorFilter,
+ ExtendedParameter,
+ };
+
+ virtual bool isParameterSupported(QCameraImageProcessingControl::ProcessingParameter) const = 0;
+ virtual bool isParameterValueSupported(QCameraImageProcessingControl::ProcessingParameter parameter, const QVariant &value) const = 0;
+ virtual QVariant parameter(QCameraImageProcessingControl::ProcessingParameter parameter) const = 0;
+ virtual void setParameter(QCameraImageProcessingControl::ProcessingParameter parameter, const QVariant &value) = 0;
+
+protected:
+ explicit QCameraImageProcessingControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtQml/qqmlextensionplugin.sip b/sip/QtMultimedia/qcamerainfocontrol.sip
similarity index 65%
copy from sip/QtQml/qqmlextensionplugin.sip
copy to sip/QtMultimedia/qcamerainfocontrol.sip
index 280265cd..0134a4a1 100644
--- a/sip/QtQml/qqmlextensionplugin.sip
+++ b/sip/QtMultimedia/qcamerainfocontrol.sip
@@ -1,6 +1,6 @@
-// qqmlextensionplugin.sip generated by MetaSIP
+// qcamerainfocontrol.sip generated by MetaSIP
//
-// This file is part of the QtQml Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,18 +20,17 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-class QQmlExtensionPlugin : QObject
+class QCameraInfoControl : QMediaControl
{
%TypeHeaderCode
-#include <qqmlextensionplugin.h>
+#include <qcamerainfocontrol.h>
%End
public:
- explicit QQmlExtensionPlugin(QObject *parent /TransferThis/ = 0);
- virtual ~QQmlExtensionPlugin();
- virtual void registerTypes(const char *uri) = 0;
- virtual void initializeEngine(QQmlEngine *engine, const char *uri);
-%If (Qt_5_1_0 -)
- QUrl baseUrl() const;
-%End
+ virtual ~QCameraInfoControl();
+ virtual QCamera::Position cameraPosition(const QString &deviceName) const = 0;
+ virtual int cameraOrientation(const QString &deviceName) const = 0;
+
+protected:
+ explicit QCameraInfoControl(QObject *parent /TransferThis/ = 0);
};
diff --git a/sip/QtQml/qqmlextensionplugin.sip b/sip/QtMultimedia/qcameralockscontrol.sip
similarity index 56%
copy from sip/QtQml/qqmlextensionplugin.sip
copy to sip/QtMultimedia/qcameralockscontrol.sip
index 280265cd..6058012a 100644
--- a/sip/QtQml/qqmlextensionplugin.sip
+++ b/sip/QtMultimedia/qcameralockscontrol.sip
@@ -1,6 +1,6 @@
-// qqmlextensionplugin.sip generated by MetaSIP
+// qcameralockscontrol.sip generated by MetaSIP
//
-// This file is part of the QtQml Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,18 +20,22 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-class QQmlExtensionPlugin : QObject
+class QCameraLocksControl : QMediaControl
{
%TypeHeaderCode
-#include <qqmlextensionplugin.h>
+#include <qcameralockscontrol.h>
%End
public:
- explicit QQmlExtensionPlugin(QObject *parent /TransferThis/ = 0);
- virtual ~QQmlExtensionPlugin();
- virtual void registerTypes(const char *uri) = 0;
- virtual void initializeEngine(QQmlEngine *engine, const char *uri);
-%If (Qt_5_1_0 -)
- QUrl baseUrl() const;
-%End
+ virtual ~QCameraLocksControl();
+ virtual QCamera::LockTypes supportedLocks() const = 0;
+ virtual QCamera::LockStatus lockStatus(QCamera::LockType lock) const = 0;
+ virtual void searchAndLock(QCamera::LockTypes locks) = 0;
+ virtual void unlock(QCamera::LockTypes locks) = 0;
+
+signals:
+ void lockStatusChanged(QCamera::LockType type, QCamera::LockStatus status, QCamera::LockChangeReason reason);
+
+protected:
+ explicit QCameraLocksControl(QObject *parent /TransferThis/ = 0);
};
diff --git a/sip/QtMultimedia/qcameraviewfindersettingscontrol.sip b/sip/QtMultimedia/qcameraviewfindersettingscontrol.sip
new file mode 100644
index 00000000..85ed2629
--- /dev/null
+++ b/sip/QtMultimedia/qcameraviewfindersettingscontrol.sip
@@ -0,0 +1,63 @@
+// qcameraviewfindersettingscontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QCameraViewfinderSettingsControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qcameraviewfindersettingscontrol.h>
+%End
+
+public:
+ enum ViewfinderParameter
+ {
+ Resolution,
+ PixelAspectRatio,
+ MinimumFrameRate,
+ MaximumFrameRate,
+ PixelFormat,
+ UserParameter,
+ };
+
+ virtual ~QCameraViewfinderSettingsControl();
+ virtual bool isViewfinderParameterSupported(QCameraViewfinderSettingsControl::ViewfinderParameter parameter) const = 0;
+ virtual QVariant viewfinderParameter(QCameraViewfinderSettingsControl::ViewfinderParameter parameter) const = 0;
+ virtual void setViewfinderParameter(QCameraViewfinderSettingsControl::ViewfinderParameter parameter, const QVariant &value) = 0;
+
+protected:
+ explicit QCameraViewfinderSettingsControl(QObject *parent /TransferThis/ = 0);
+};
+
+class QCameraViewfinderSettingsControl2 : QMediaControl
+{
+%TypeHeaderCode
+#include <qcameraviewfindersettingscontrol.h>
+%End
+
+public:
+ virtual ~QCameraViewfinderSettingsControl2();
+ virtual QList<QCameraViewfinderSettings> supportedViewfinderSettings() const = 0;
+ virtual QCameraViewfinderSettings viewfinderSettings() const = 0;
+ virtual void setViewfinderSettings(const QCameraViewfinderSettings &settings) = 0;
+
+protected:
+ explicit QCameraViewfinderSettingsControl2(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qcamerazoomcontrol.sip b/sip/QtMultimedia/qcamerazoomcontrol.sip
new file mode 100644
index 00000000..a52837cc
--- /dev/null
+++ b/sip/QtMultimedia/qcamerazoomcontrol.sip
@@ -0,0 +1,49 @@
+// qcamerazoomcontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QCameraZoomControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qcamerazoomcontrol.h>
+%End
+
+public:
+ virtual ~QCameraZoomControl();
+ virtual qreal maximumOpticalZoom() const = 0;
+ virtual qreal maximumDigitalZoom() const = 0;
+ virtual qreal requestedOpticalZoom() const = 0;
+ virtual qreal requestedDigitalZoom() const = 0;
+ virtual qreal currentOpticalZoom() const = 0;
+ virtual qreal currentDigitalZoom() const = 0;
+ virtual void zoomTo(qreal optical, qreal digital) = 0;
+
+signals:
+ void maximumOpticalZoomChanged(qreal);
+ void maximumDigitalZoomChanged(qreal);
+ void requestedOpticalZoomChanged(qreal opticalZoom);
+ void requestedDigitalZoomChanged(qreal digitalZoom);
+ void currentOpticalZoomChanged(qreal opticalZoom);
+ void currentDigitalZoomChanged(qreal digitalZoom);
+
+protected:
+ explicit QCameraZoomControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtMultimedia/qcustomaudiorolecontrol.sip
similarity index 61%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtMultimedia/qcustomaudiorolecontrol.sip
index ea4d0a9f..762de926 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtMultimedia/qcustomaudiorolecontrol.sip
@@ -1,6 +1,6 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qcustomaudiorolecontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,23 +20,21 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
-
-class QCompressedHelpInfo
+class QCustomAudioRoleControl : QMediaControl
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qcustomaudiorolecontrol.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
-};
+ virtual ~QCustomAudioRoleControl();
+ virtual QString customAudioRole() const = 0;
+ virtual void setCustomAudioRole(const QString &role) = 0;
+ virtual QStringList supportedCustomAudioRoles() const = 0;
-%End
+signals:
+ void customAudioRoleChanged(const QString &role);
+
+protected:
+ explicit QCustomAudioRoleControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtCore/qwaitcondition.sip b/sip/QtMultimedia/qimageencodercontrol.sip
similarity index 55%
copy from sip/QtCore/qwaitcondition.sip
copy to sip/QtMultimedia/qimageencodercontrol.sip
index 7a687a3b..b0271bab 100644
--- a/sip/QtCore/qwaitcondition.sip
+++ b/sip/QtMultimedia/qimageencodercontrol.sip
@@ -1,6 +1,6 @@
-// qwaitcondition.sip generated by MetaSIP
+// qimageencodercontrol.sip generated by MetaSIP
//
-// This file is part of the QtCore Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,26 +20,20 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-class QWaitCondition
+class QImageEncoderControl : QMediaControl
{
%TypeHeaderCode
-#include <qwaitcondition.h>
+#include <qimageencodercontrol.h>
%End
public:
- QWaitCondition();
- ~QWaitCondition();
- bool wait(QMutex *mutex, unsigned long msecs = ULONG_MAX) /ReleaseGIL/;
- bool wait(QReadWriteLock *readWriteLock, unsigned long msecs = ULONG_MAX) /ReleaseGIL/;
-%If (Qt_5_12_0 -)
- bool wait(QMutex *lockedMutex, QDeadlineTimer deadline) /ReleaseGIL/;
-%End
-%If (Qt_5_12_0 -)
- bool wait(QReadWriteLock *lockedReadWriteLock, QDeadlineTimer deadline) /ReleaseGIL/;
-%End
- void wakeOne();
- void wakeAll();
+ virtual ~QImageEncoderControl();
+ virtual QStringList supportedImageCodecs() const = 0;
+ virtual QString imageCodecDescription(const QString &codec) const = 0;
+ virtual QList<QSize> supportedResolutions(const QImageEncoderSettings &settings, bool *continuous = 0) const = 0;
+ virtual QImageEncoderSettings imageSettings() const = 0;
+ virtual void setImageSettings(const QImageEncoderSettings &settings) = 0;
-private:
- QWaitCondition(const QWaitCondition &);
+protected:
+ explicit QImageEncoderControl(QObject *parent /TransferThis/ = 0);
};
diff --git a/sip/QtCore/qrunnable.sip b/sip/QtMultimedia/qmediaaudioprobecontrol.sip
similarity index 68%
copy from sip/QtCore/qrunnable.sip
copy to sip/QtMultimedia/qmediaaudioprobecontrol.sip
index bf0fe34e..6f68130b 100644
--- a/sip/QtCore/qrunnable.sip
+++ b/sip/QtMultimedia/qmediaaudioprobecontrol.sip
@@ -1,6 +1,6 @@
-// qrunnable.sip generated by MetaSIP
+// qmediaaudioprobecontrol.sip generated by MetaSIP
//
-// This file is part of the QtCore Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,16 +20,19 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-class QRunnable /Supertype=sip.wrapper/
+class QMediaAudioProbeControl : QMediaControl
{
%TypeHeaderCode
-#include <qrunnable.h>
+#include <qmediaaudioprobecontrol.h>
%End
public:
- QRunnable();
- virtual ~QRunnable();
- virtual void run() = 0 /NewThread/;
- bool autoDelete() const;
- void setAutoDelete(bool _autoDelete);
+ virtual ~QMediaAudioProbeControl();
+
+signals:
+ void audioBufferProbed(const QAudioBuffer &buffer);
+ void flush();
+
+protected:
+ explicit QMediaAudioProbeControl(QObject *parent /TransferThis/ = 0);
};
diff --git a/sip/QtQml/qqmlextensionplugin.sip b/sip/QtMultimedia/qmediaavailabilitycontrol.sip
similarity index 64%
copy from sip/QtQml/qqmlextensionplugin.sip
copy to sip/QtMultimedia/qmediaavailabilitycontrol.sip
index 280265cd..5cf88f9e 100644
--- a/sip/QtQml/qqmlextensionplugin.sip
+++ b/sip/QtMultimedia/qmediaavailabilitycontrol.sip
@@ -1,6 +1,6 @@
-// qqmlextensionplugin.sip generated by MetaSIP
+// qmediaavailabilitycontrol.sip generated by MetaSIP
//
-// This file is part of the QtQml Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,18 +20,19 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-class QQmlExtensionPlugin : QObject
+class QMediaAvailabilityControl : QMediaControl
{
%TypeHeaderCode
-#include <qqmlextensionplugin.h>
+#include <qmediaavailabilitycontrol.h>
%End
public:
- explicit QQmlExtensionPlugin(QObject *parent /TransferThis/ = 0);
- virtual ~QQmlExtensionPlugin();
- virtual void registerTypes(const char *uri) = 0;
- virtual void initializeEngine(QQmlEngine *engine, const char *uri);
-%If (Qt_5_1_0 -)
- QUrl baseUrl() const;
-%End
+ virtual ~QMediaAvailabilityControl();
+ virtual QMultimedia::AvailabilityStatus availability() const = 0;
+
+signals:
+ void availabilityChanged(QMultimedia::AvailabilityStatus availability);
+
+protected:
+ explicit QMediaAvailabilityControl(QObject *parent /TransferThis/ = 0);
};
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtMultimedia/qmediacontainercontrol.sip
similarity index 60%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtMultimedia/qmediacontainercontrol.sip
index ea4d0a9f..3209f03b 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtMultimedia/qmediacontainercontrol.sip
@@ -1,6 +1,6 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qmediacontainercontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,23 +20,19 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
-
-class QCompressedHelpInfo
+class QMediaContainerControl : QMediaControl
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qmediacontainercontrol.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
-};
+ virtual ~QMediaContainerControl();
+ virtual QStringList supportedContainers() const = 0;
+ virtual QString containerFormat() const = 0;
+ virtual void setContainerFormat(const QString &format) = 0;
+ virtual QString containerDescription(const QString &formatMimeType) const = 0;
-%End
+protected:
+ explicit QMediaContainerControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtRemoteObjects/qremoteobjectreplica.sip b/sip/QtMultimedia/qmediagaplessplaybackcontrol.sip
similarity index 53%
copy from sip/QtRemoteObjects/qremoteobjectreplica.sip
copy to sip/QtMultimedia/qmediagaplessplaybackcontrol.sip
index ce8abc70..0956cd07 100644
--- a/sip/QtRemoteObjects/qremoteobjectreplica.sip
+++ b/sip/QtMultimedia/qmediagaplessplaybackcontrol.sip
@@ -1,6 +1,6 @@
-// qremoteobjectreplica.sip generated by MetaSIP
+// qmediagaplessplaybackcontrol.sip generated by MetaSIP
//
-// This file is part of the QtRemoteObjects Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,35 +20,25 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_12_0 -)
-
-class QRemoteObjectReplica : QObject /NoDefaultCtors/
+class QMediaGaplessPlaybackControl : QMediaControl
{
%TypeHeaderCode
-#include <qremoteobjectreplica.h>
+#include <qmediagaplessplaybackcontrol.h>
%End
public:
- enum State
- {
- Uninitialized,
- Default,
- Valid,
- Suspect,
- SignatureMismatch,
- };
-
- virtual ~QRemoteObjectReplica();
- bool isReplicaValid() const;
- bool waitForSource(int timeout = 30000) /ReleaseGIL/;
- bool isInitialized() const;
- QRemoteObjectReplica::State state() const;
- QRemoteObjectNode *node() const;
- virtual void setNode(QRemoteObjectNode *node);
+ virtual ~QMediaGaplessPlaybackControl();
+ virtual QMediaContent nextMedia() const = 0;
+ virtual void setNextMedia(const QMediaContent &media) = 0;
+ virtual bool isCrossfadeSupported() const = 0;
+ virtual qreal crossfadeTime() const = 0;
+ virtual void setCrossfadeTime(qreal crossfadeTime) = 0;
signals:
- void initialized();
- void stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState);
-};
+ void crossfadeTimeChanged(qreal crossfadeTime);
+ void nextMediaChanged(const QMediaContent &media);
+ void advancedToNextMedia();
-%End
+protected:
+ explicit QMediaGaplessPlaybackControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtMultimedia/qmedianetworkaccesscontrol.sip
similarity index 60%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtMultimedia/qmedianetworkaccesscontrol.sip
index ea4d0a9f..219b0899 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtMultimedia/qmedianetworkaccesscontrol.sip
@@ -1,6 +1,6 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qmedianetworkaccesscontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,23 +20,20 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
-
-class QCompressedHelpInfo
+class QMediaNetworkAccessControl : QMediaControl
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qmedianetworkaccesscontrol.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
-};
+ virtual ~QMediaNetworkAccessControl();
+ virtual void setConfigurations(const QList<QNetworkConfiguration> &configuration) = 0;
+ virtual QNetworkConfiguration currentConfiguration() const = 0;
-%End
+signals:
+ void configurationChanged(const QNetworkConfiguration &configuration);
+
+protected:
+ explicit QMediaNetworkAccessControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qmediaplayer.sip b/sip/QtMultimedia/qmediaplayer.sip
index a5e8c8c5..67b1008b 100644
--- a/sip/QtMultimedia/qmediaplayer.sip
+++ b/sip/QtMultimedia/qmediaplayer.sip
@@ -76,6 +76,9 @@ public:
void setVideoOutput(QVideoWidget *);
void setVideoOutput(QGraphicsVideoItem *);
void setVideoOutput(QAbstractVideoSurface *surface);
+%If (Qt_5_15_0 -)
+ void setVideoOutput(const QVector<QAbstractVideoSurface *> &surfaces);
+%End
QMediaContent media() const;
const QIODevice *mediaStream() const;
QMediaPlaylist *playlist() const;
diff --git a/sip/QtMultimedia/qmediaplayercontrol.sip b/sip/QtMultimedia/qmediaplayercontrol.sip
new file mode 100644
index 00000000..78173356
--- /dev/null
+++ b/sip/QtMultimedia/qmediaplayercontrol.sip
@@ -0,0 +1,72 @@
+// qmediaplayercontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QMediaPlayerControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qmediaplayercontrol.h>
+%End
+
+public:
+ virtual ~QMediaPlayerControl();
+ virtual QMediaPlayer::State state() const = 0;
+ virtual QMediaPlayer::MediaStatus mediaStatus() const = 0;
+ virtual qint64 duration() const = 0;
+ virtual qint64 position() const = 0;
+ virtual void setPosition(qint64 position) = 0;
+ virtual int volume() const = 0;
+ virtual void setVolume(int volume) = 0;
+ virtual bool isMuted() const = 0;
+ virtual void setMuted(bool mute) = 0;
+ virtual int bufferStatus() const = 0;
+ virtual bool isAudioAvailable() const = 0;
+ virtual bool isVideoAvailable() const = 0;
+ virtual bool isSeekable() const = 0;
+ virtual QMediaTimeRange availablePlaybackRanges() const = 0;
+ virtual qreal playbackRate() const = 0;
+ virtual void setPlaybackRate(qreal rate) = 0;
+ virtual QMediaContent media() const = 0;
+ virtual const QIODevice *mediaStream() const = 0;
+ virtual void setMedia(const QMediaContent &media, QIODevice *stream) = 0;
+ virtual void play() = 0;
+ virtual void pause() = 0;
+ virtual void stop() = 0;
+
+signals:
+ void mediaChanged(const QMediaContent &content);
+ void durationChanged(qint64 duration);
+ void positionChanged(qint64 position);
+ void stateChanged(QMediaPlayer::State newState);
+ void mediaStatusChanged(QMediaPlayer::MediaStatus status);
+ void volumeChanged(int volume);
+ void mutedChanged(bool mute);
+ void audioAvailableChanged(bool audioAvailable);
+ void videoAvailableChanged(bool videoAvailable);
+ void bufferStatusChanged(int percentFilled);
+ void seekableChanged(bool seekable);
+ void availablePlaybackRangesChanged(const QMediaTimeRange &ranges);
+ void playbackRateChanged(qreal rate);
+ void error(int error, const QString &errorString);
+
+protected:
+ explicit QMediaPlayerControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qmediarecordercontrol.sip b/sip/QtMultimedia/qmediarecordercontrol.sip
new file mode 100644
index 00000000..022152f1
--- /dev/null
+++ b/sip/QtMultimedia/qmediarecordercontrol.sip
@@ -0,0 +1,56 @@
+// qmediarecordercontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QMediaRecorderControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qmediarecordercontrol.h>
+%End
+
+public:
+ virtual ~QMediaRecorderControl();
+ virtual QUrl outputLocation() const = 0;
+ virtual bool setOutputLocation(const QUrl &location) = 0;
+ virtual QMediaRecorder::State state() const = 0;
+ virtual QMediaRecorder::Status status() const = 0;
+ virtual qint64 duration() const = 0;
+ virtual bool isMuted() const = 0;
+ virtual qreal volume() const = 0;
+ virtual void applySettings() = 0;
+
+signals:
+ void stateChanged(QMediaRecorder::State state);
+ void statusChanged(QMediaRecorder::Status status);
+ void durationChanged(qint64 position);
+ void mutedChanged(bool muted);
+ void volumeChanged(qreal volume);
+ void actualLocationChanged(const QUrl &location);
+ void error(int error, const QString &errorString);
+
+public slots:
+ virtual void setState(QMediaRecorder::State state) = 0;
+ virtual void setMuted(bool muted) = 0;
+ virtual void setVolume(qreal volume) = 0;
+
+protected:
+ explicit QMediaRecorderControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtRemoteObjects/qremoteobjectreplica.sip b/sip/QtMultimedia/qmediastreamscontrol.sip
similarity index 53%
copy from sip/QtRemoteObjects/qremoteobjectreplica.sip
copy to sip/QtMultimedia/qmediastreamscontrol.sip
index ce8abc70..08da9c0f 100644
--- a/sip/QtRemoteObjects/qremoteobjectreplica.sip
+++ b/sip/QtMultimedia/qmediastreamscontrol.sip
@@ -1,6 +1,6 @@
-// qremoteobjectreplica.sip generated by MetaSIP
+// qmediastreamscontrol.sip generated by MetaSIP
//
-// This file is part of the QtRemoteObjects Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,35 +20,33 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_12_0 -)
-
-class QRemoteObjectReplica : QObject /NoDefaultCtors/
+class QMediaStreamsControl : QMediaControl
{
%TypeHeaderCode
-#include <qremoteobjectreplica.h>
+#include <qmediastreamscontrol.h>
%End
public:
- enum State
+ enum StreamType
{
- Uninitialized,
- Default,
- Valid,
- Suspect,
- SignatureMismatch,
+ UnknownStream,
+ VideoStream,
+ AudioStream,
+ SubPictureStream,
+ DataStream,
};
- virtual ~QRemoteObjectReplica();
- bool isReplicaValid() const;
- bool waitForSource(int timeout = 30000) /ReleaseGIL/;
- bool isInitialized() const;
- QRemoteObjectReplica::State state() const;
- QRemoteObjectNode *node() const;
- virtual void setNode(QRemoteObjectNode *node);
+ virtual ~QMediaStreamsControl();
+ virtual int streamCount() = 0;
+ virtual QMediaStreamsControl::StreamType streamType(int streamNumber) = 0;
+ virtual QVariant metaData(int streamNumber, const QString &key) = 0;
+ virtual bool isActive(int streamNumber) = 0;
+ virtual void setActive(int streamNumber, bool state) = 0;
signals:
- void initialized();
- void stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState);
-};
+ void streamsChanged();
+ void activeStreamsChanged();
-%End
+protected:
+ explicit QMediaStreamsControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtCore/qrunnable.sip b/sip/QtMultimedia/qmediavideoprobecontrol.sip
similarity index 68%
copy from sip/QtCore/qrunnable.sip
copy to sip/QtMultimedia/qmediavideoprobecontrol.sip
index bf0fe34e..ceb0b0fa 100644
--- a/sip/QtCore/qrunnable.sip
+++ b/sip/QtMultimedia/qmediavideoprobecontrol.sip
@@ -1,6 +1,6 @@
-// qrunnable.sip generated by MetaSIP
+// qmediavideoprobecontrol.sip generated by MetaSIP
//
-// This file is part of the QtCore Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,16 +20,19 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-class QRunnable /Supertype=sip.wrapper/
+class QMediaVideoProbeControl : QMediaControl
{
%TypeHeaderCode
-#include <qrunnable.h>
+#include <qmediavideoprobecontrol.h>
%End
public:
- QRunnable();
- virtual ~QRunnable();
- virtual void run() = 0 /NewThread/;
- bool autoDelete() const;
- void setAutoDelete(bool _autoDelete);
+ virtual ~QMediaVideoProbeControl();
+
+signals:
+ void videoFrameProbed(const QVideoFrame &frame);
+ void flush();
+
+protected:
+ explicit QMediaVideoProbeControl(QObject *parent /TransferThis/ = 0);
};
diff --git a/sip/QtHelp/qcompressedhelpinfo.sip b/sip/QtMultimedia/qmetadatareadercontrol.sip
similarity index 57%
copy from sip/QtHelp/qcompressedhelpinfo.sip
copy to sip/QtMultimedia/qmetadatareadercontrol.sip
index ea4d0a9f..fa1b210f 100644
--- a/sip/QtHelp/qcompressedhelpinfo.sip
+++ b/sip/QtMultimedia/qmetadatareadercontrol.sip
@@ -1,6 +1,6 @@
-// qcompressedhelpinfo.sip generated by MetaSIP
+// qmetadatareadercontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,23 +20,23 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
-
-class QCompressedHelpInfo
+class QMetaDataReaderControl : QMediaControl
{
%TypeHeaderCode
-#include <qcompressedhelpinfo.h>
+#include <qmetadatareadercontrol.h>
%End
public:
- QCompressedHelpInfo();
- QCompressedHelpInfo(const QCompressedHelpInfo &other);
- ~QCompressedHelpInfo();
- void swap(QCompressedHelpInfo &other);
- QString namespaceName() const;
- QString component() const;
- QVersionNumber version() const;
- static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
-};
+ virtual ~QMetaDataReaderControl();
+ virtual bool isMetaDataAvailable() const = 0;
+ virtual QVariant metaData(const QString &key) const = 0;
+ virtual QStringList availableMetaData() const = 0;
-%End
+signals:
+ void metaDataChanged();
+ void metaDataChanged(const QString &key, const QVariant &value);
+ void metaDataAvailableChanged(bool available);
+
+protected:
+ explicit QMetaDataReaderControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtRemoteObjects/qremoteobjectreplica.sip b/sip/QtMultimedia/qmetadatawritercontrol.sip
similarity index 53%
copy from sip/QtRemoteObjects/qremoteobjectreplica.sip
copy to sip/QtMultimedia/qmetadatawritercontrol.sip
index ce8abc70..78288cb1 100644
--- a/sip/QtRemoteObjects/qremoteobjectreplica.sip
+++ b/sip/QtMultimedia/qmetadatawritercontrol.sip
@@ -1,6 +1,6 @@
-// qremoteobjectreplica.sip generated by MetaSIP
+// qmetadatawritercontrol.sip generated by MetaSIP
//
-// This file is part of the QtRemoteObjects Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,35 +20,26 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_12_0 -)
-
-class QRemoteObjectReplica : QObject /NoDefaultCtors/
+class QMetaDataWriterControl : QMediaControl
{
%TypeHeaderCode
-#include <qremoteobjectreplica.h>
+#include <qmetadatawritercontrol.h>
%End
public:
- enum State
- {
- Uninitialized,
- Default,
- Valid,
- Suspect,
- SignatureMismatch,
- };
-
- virtual ~QRemoteObjectReplica();
- bool isReplicaValid() const;
- bool waitForSource(int timeout = 30000) /ReleaseGIL/;
- bool isInitialized() const;
- QRemoteObjectReplica::State state() const;
- QRemoteObjectNode *node() const;
- virtual void setNode(QRemoteObjectNode *node);
+ virtual ~QMetaDataWriterControl();
+ virtual bool isWritable() const = 0;
+ virtual bool isMetaDataAvailable() const = 0;
+ virtual QVariant metaData(const QString &key) const = 0;
+ virtual void setMetaData(const QString &key, const QVariant &value) = 0;
+ virtual QStringList availableMetaData() const = 0;
signals:
- void initialized();
- void stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState);
-};
+ void metaDataChanged();
+ void metaDataChanged(const QString &key, const QVariant &value);
+ void writableChanged(bool writable);
+ void metaDataAvailableChanged(bool available);
-%End
+protected:
+ explicit QMetaDataWriterControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qradiodatacontrol.sip b/sip/QtMultimedia/qradiodatacontrol.sip
new file mode 100644
index 00000000..4fd3859e
--- /dev/null
+++ b/sip/QtMultimedia/qradiodatacontrol.sip
@@ -0,0 +1,52 @@
+// qradiodatacontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QRadioDataControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qradiodatacontrol.h>
+%End
+
+public:
+ virtual ~QRadioDataControl();
+ virtual QString stationId() const = 0;
+ virtual QRadioData::ProgramType programType() const = 0;
+ virtual QString programTypeName() const = 0;
+ virtual QString stationName() const = 0;
+ virtual QString radioText() const = 0;
+ virtual void setAlternativeFrequenciesEnabled(bool enabled) = 0;
+ virtual bool isAlternativeFrequenciesEnabled() const = 0;
+ virtual QRadioData::Error error() const = 0;
+ virtual QString errorString() const = 0;
+
+signals:
+ void stationIdChanged(QString stationId);
+ void programTypeChanged(QRadioData::ProgramType programType);
+ void programTypeNameChanged(QString programTypeName);
+ void stationNameChanged(QString stationName);
+ void radioTextChanged(QString radioText);
+ void alternativeFrequenciesEnabledChanged(bool enabled);
+ void error(QRadioData::Error err);
+
+protected:
+ explicit QRadioDataControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimedia/qradiotunercontrol.sip b/sip/QtMultimedia/qradiotunercontrol.sip
new file mode 100644
index 00000000..4be25e01
--- /dev/null
+++ b/sip/QtMultimedia/qradiotunercontrol.sip
@@ -0,0 +1,73 @@
+// qradiotunercontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QRadioTunerControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qradiotunercontrol.h>
+%End
+
+public:
+ virtual ~QRadioTunerControl();
+ virtual QRadioTuner::State state() const = 0;
+ virtual QRadioTuner::Band band() const = 0;
+ virtual void setBand(QRadioTuner::Band b) = 0;
+ virtual bool isBandSupported(QRadioTuner::Band b) const = 0;
+ virtual int frequency() const = 0;
+ virtual int frequencyStep(QRadioTuner::Band b) const = 0;
+ virtual QPair<int, int> frequencyRange(QRadioTuner::Band b) const = 0;
+ virtual void setFrequency(int frequency) = 0;
+ virtual bool isStereo() const = 0;
+ virtual QRadioTuner::StereoMode stereoMode() const = 0;
+ virtual void setStereoMode(QRadioTuner::StereoMode mode) = 0;
+ virtual int signalStrength() const = 0;
+ virtual int volume() const = 0;
+ virtual void setVolume(int volume) = 0;
+ virtual bool isMuted() const = 0;
+ virtual void setMuted(bool muted) = 0;
+ virtual bool isSearching() const = 0;
+ virtual bool isAntennaConnected() const;
+ virtual void searchForward() = 0;
+ virtual void searchBackward() = 0;
+ virtual void searchAllStations(QRadioTuner::SearchMode searchMode = QRadioTuner::SearchFast) = 0;
+ virtual void cancelSearch() = 0;
+ virtual void start() = 0;
+ virtual void stop() = 0;
+ virtual QRadioTuner::Error error() const = 0;
+ virtual QString errorString() const = 0;
+
+signals:
+ void stateChanged(QRadioTuner::State state);
+ void bandChanged(QRadioTuner::Band band);
+ void frequencyChanged(int frequency);
+ void stereoStatusChanged(bool stereo);
+ void searchingChanged(bool searching);
+ void signalStrengthChanged(int signalStrength);
+ void volumeChanged(int volume);
+ void mutedChanged(bool muted);
+ void error(QRadioTuner::Error err);
+ void stationFound(int frequency, QString stationId);
+ void antennaConnectedChanged(bool connectionStatus);
+
+protected:
+ explicit QRadioTunerControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtRemoteObjects/qremoteobjectreplica.sip b/sip/QtMultimedia/qvideodeviceselectorcontrol.sip
similarity index 53%
copy from sip/QtRemoteObjects/qremoteobjectreplica.sip
copy to sip/QtMultimedia/qvideodeviceselectorcontrol.sip
index ce8abc70..bc4abcd3 100644
--- a/sip/QtRemoteObjects/qremoteobjectreplica.sip
+++ b/sip/QtMultimedia/qvideodeviceselectorcontrol.sip
@@ -1,6 +1,6 @@
-// qremoteobjectreplica.sip generated by MetaSIP
+// qvideodeviceselectorcontrol.sip generated by MetaSIP
//
-// This file is part of the QtRemoteObjects Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,35 +20,28 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_12_0 -)
-
-class QRemoteObjectReplica : QObject /NoDefaultCtors/
+class QVideoDeviceSelectorControl : QMediaControl
{
%TypeHeaderCode
-#include <qremoteobjectreplica.h>
+#include <qvideodeviceselectorcontrol.h>
%End
public:
- enum State
- {
- Uninitialized,
- Default,
- Valid,
- Suspect,
- SignatureMismatch,
- };
+ virtual ~QVideoDeviceSelectorControl();
+ virtual int deviceCount() const = 0;
+ virtual QString deviceName(int index) const = 0;
+ virtual QString deviceDescription(int index) const = 0;
+ virtual int defaultDevice() const = 0;
+ virtual int selectedDevice() const = 0;
- virtual ~QRemoteObjectReplica();
- bool isReplicaValid() const;
- bool waitForSource(int timeout = 30000) /ReleaseGIL/;
- bool isInitialized() const;
- QRemoteObjectReplica::State state() const;
- QRemoteObjectNode *node() const;
- virtual void setNode(QRemoteObjectNode *node);
+public slots:
+ virtual void setSelectedDevice(int index) = 0;
signals:
- void initialized();
- void stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState);
-};
+ void selectedDeviceChanged(int index);
+ void selectedDeviceChanged(const QString &name);
+ void devicesChanged();
-%End
+protected:
+ explicit QVideoDeviceSelectorControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtHelp/qhelpfilterengine.sip b/sip/QtMultimedia/qvideoencodersettingscontrol.sip
similarity index 50%
copy from sip/QtHelp/qhelpfilterengine.sip
copy to sip/QtMultimedia/qvideoencodersettingscontrol.sip
index c89ffefa..72f5979d 100644
--- a/sip/QtHelp/qhelpfilterengine.sip
+++ b/sip/QtMultimedia/qvideoencodersettingscontrol.sip
@@ -1,6 +1,6 @@
-// qhelpfilterengine.sip generated by MetaSIP
+// qvideoencodersettingscontrol.sip generated by MetaSIP
//
-// This file is part of the QtHelp Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,31 +20,21 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%If (Qt_5_13_0 -)
-
-class QHelpFilterEngine : QObject /NoDefaultCtors/
+class QVideoEncoderSettingsControl : QMediaControl
{
%TypeHeaderCode
-#include <qhelpfilterengine.h>
+#include <qvideoencodersettingscontrol.h>
%End
public:
- QMap<QString, QString> namespaceToComponent() const;
- QMap<QString, QVersionNumber> namespaceToVersion() const;
- QStringList filters() const;
- QString activeFilter() const;
- bool setActiveFilter(const QString &filterName);
- QStringList availableComponents() const;
- QHelpFilterData filterData(const QString &filterName) const;
- bool setFilterData(const QString &filterName, const QHelpFilterData &filterData);
- bool removeFilter(const QString &filterName);
- QStringList namespacesForFilter(const QString &filterName) const;
-
-signals:
- void filterActivated(const QString &newFilter);
+ virtual ~QVideoEncoderSettingsControl();
+ virtual QList<QSize> supportedResolutions(const QVideoEncoderSettings &settings, bool *continuous = 0) const = 0;
+ virtual QList<double> supportedFrameRates(const QVideoEncoderSettings &settings, bool *continuous = 0) const = 0;
+ virtual QStringList supportedVideoCodecs() const = 0;
+ virtual QString videoCodecDescription(const QString &codec) const = 0;
+ virtual QVideoEncoderSettings videoSettings() const = 0;
+ virtual void setVideoSettings(const QVideoEncoderSettings &settings) = 0;
protected:
- virtual ~QHelpFilterEngine();
+ explicit QVideoEncoderSettingsControl(QObject *parent /TransferThis/ = 0);
};
-
-%End
diff --git a/sip/QtMultimedia/qvideoframe.sip b/sip/QtMultimedia/qvideoframe.sip
index fee693bd..d5f078ab 100644
--- a/sip/QtMultimedia/qvideoframe.sip
+++ b/sip/QtMultimedia/qvideoframe.sip
@@ -148,4 +148,7 @@ public:
%If (Qt_5_13_0 -)
QAbstractVideoBuffer *buffer() const;
%End
+%If (Qt_5_15_0 -)
+ QImage image() const;
+%End
};
diff --git a/sip/QtCore/qrunnable.sip b/sip/QtMultimedia/qvideorenderercontrol.sip
similarity index 66%
copy from sip/QtCore/qrunnable.sip
copy to sip/QtMultimedia/qvideorenderercontrol.sip
index bf0fe34e..596d751a 100644
--- a/sip/QtCore/qrunnable.sip
+++ b/sip/QtMultimedia/qvideorenderercontrol.sip
@@ -1,6 +1,6 @@
-// qrunnable.sip generated by MetaSIP
+// qvideorenderercontrol.sip generated by MetaSIP
//
-// This file is part of the QtCore Python extension module.
+// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,16 +20,17 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-class QRunnable /Supertype=sip.wrapper/
+class QVideoRendererControl : QMediaControl
{
%TypeHeaderCode
-#include <qrunnable.h>
+#include <qvideorenderercontrol.h>
%End
public:
- QRunnable();
- virtual ~QRunnable();
- virtual void run() = 0 /NewThread/;
- bool autoDelete() const;
- void setAutoDelete(bool _autoDelete);
+ virtual ~QVideoRendererControl();
+ virtual QAbstractVideoSurface *surface() const = 0;
+ virtual void setSurface(QAbstractVideoSurface *surface) = 0;
+
+protected:
+ explicit QVideoRendererControl(QObject *parent /TransferThis/ = 0);
};
diff --git a/sip/QtMultimedia/qvideowindowcontrol.sip b/sip/QtMultimedia/qvideowindowcontrol.sip
new file mode 100644
index 00000000..3cef9dd1
--- /dev/null
+++ b/sip/QtMultimedia/qvideowindowcontrol.sip
@@ -0,0 +1,60 @@
+// qvideowindowcontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimedia Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QVideoWindowControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qvideowindowcontrol.h>
+%End
+
+public:
+ virtual ~QVideoWindowControl();
+ virtual WId winId() const = 0;
+ virtual void setWinId(WId id) = 0;
+ virtual QRect displayRect() const = 0;
+ virtual void setDisplayRect(const QRect &rect) = 0;
+ virtual bool isFullScreen() const = 0;
+ virtual void setFullScreen(bool fullScreen) = 0;
+ virtual void repaint() = 0;
+ virtual QSize nativeSize() const = 0;
+ virtual Qt::AspectRatioMode aspectRatioMode() const = 0;
+ virtual void setAspectRatioMode(Qt::AspectRatioMode mode) = 0;
+ virtual int brightness() const = 0;
+ virtual void setBrightness(int brightness) = 0;
+ virtual int contrast() const = 0;
+ virtual void setContrast(int contrast) = 0;
+ virtual int hue() const = 0;
+ virtual void setHue(int hue) = 0;
+ virtual int saturation() const = 0;
+ virtual void setSaturation(int saturation) = 0;
+
+signals:
+ void fullScreenChanged(bool fullScreen);
+ void brightnessChanged(int brightness);
+ void contrastChanged(int contrast);
+ void hueChanged(int hue);
+ void saturationChanged(int saturation);
+ void nativeSizeChanged();
+
+protected:
+ explicit QVideoWindowControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtMultimediaWidgets/QtMultimediaWidgetsmod.sip b/sip/QtMultimediaWidgets/QtMultimediaWidgetsmod.sip
index 753afe13..310c02be 100644
--- a/sip/QtMultimediaWidgets/QtMultimediaWidgetsmod.sip
+++ b/sip/QtMultimediaWidgets/QtMultimediaWidgetsmod.sip
@@ -50,3 +50,4 @@ WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%Include qcameraviewfinder.sip
%Include qgraphicsvideoitem.sip
%Include qvideowidget.sip
+%Include qvideowidgetcontrol.sip
diff --git a/sip/QtMultimediaWidgets/qgraphicsvideoitem.sip b/sip/QtMultimediaWidgets/qgraphicsvideoitem.sip
index 3a729ac0..d8a46b80 100644
--- a/sip/QtMultimediaWidgets/qgraphicsvideoitem.sip
+++ b/sip/QtMultimediaWidgets/qgraphicsvideoitem.sip
@@ -52,6 +52,11 @@ protected:
virtual void timerEvent(QTimerEvent *event);
virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value);
virtual bool setMediaObject(QMediaObject *object);
+
+public:
+%If (Qt_5_15_0 -)
+ QAbstractVideoSurface *videoSurface() const;
+%End
};
%ModuleCode
diff --git a/sip/QtMultimediaWidgets/qvideowidget.sip b/sip/QtMultimediaWidgets/qvideowidget.sip
index d9f46007..cfac6fc0 100644
--- a/sip/QtMultimediaWidgets/qvideowidget.sip
+++ b/sip/QtMultimediaWidgets/qvideowidget.sip
@@ -32,8 +32,9 @@ class QVideoWidget : QWidget, QMediaBindableInterface
sipTypeDef **type;
int yes, no;
} graph[] = {
- {sipName_QGraphicsVideoItem, &sipType_QGraphicsVideoItem, -1, 1},
- {sipName_QVideoWidget, &sipType_QVideoWidget, 2, -1},
+ {sipName_QVideoWidget, &sipType_QVideoWidget, 3, 1},
+ {sipName_QGraphicsVideoItem, &sipType_QGraphicsVideoItem, -1, 2},
+ {sipName_QVideoWidgetControl, &sipType_QVideoWidgetControl, -1, -1},
{sipName_QCameraViewfinder, &sipType_QCameraViewfinder, -1, -1},
};
@@ -95,4 +96,9 @@ protected:
virtual void moveEvent(QMoveEvent *event);
virtual void paintEvent(QPaintEvent *event);
virtual bool setMediaObject(QMediaObject *object);
+
+public:
+%If (Qt_5_15_0 -)
+ QAbstractVideoSurface *videoSurface() const;
+%End
};
diff --git a/sip/QtMultimediaWidgets/qvideowidgetcontrol.sip b/sip/QtMultimediaWidgets/qvideowidgetcontrol.sip
new file mode 100644
index 00000000..117707e1
--- /dev/null
+++ b/sip/QtMultimediaWidgets/qvideowidgetcontrol.sip
@@ -0,0 +1,54 @@
+// qvideowidgetcontrol.sip generated by MetaSIP
+//
+// This file is part of the QtMultimediaWidgets Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+class QVideoWidgetControl : QMediaControl
+{
+%TypeHeaderCode
+#include <qvideowidgetcontrol.h>
+%End
+
+public:
+ virtual ~QVideoWidgetControl();
+ virtual QWidget *videoWidget() = 0;
+ virtual Qt::AspectRatioMode aspectRatioMode() const = 0;
+ virtual void setAspectRatioMode(Qt::AspectRatioMode mode) = 0;
+ virtual bool isFullScreen() const = 0;
+ virtual void setFullScreen(bool fullScreen) = 0;
+ virtual int brightness() const = 0;
+ virtual void setBrightness(int brightness) = 0;
+ virtual int contrast() const = 0;
+ virtual void setContrast(int contrast) = 0;
+ virtual int hue() const = 0;
+ virtual void setHue(int hue) = 0;
+ virtual int saturation() const = 0;
+ virtual void setSaturation(int saturation) = 0;
+
+signals:
+ void fullScreenChanged(bool fullScreen);
+ void brightnessChanged(int brightness);
+ void contrastChanged(int contrast);
+ void hueChanged(int hue);
+ void saturationChanged(int saturation);
+
+protected:
+ explicit QVideoWidgetControl(QObject *parent /TransferThis/ = 0);
+};
diff --git a/sip/QtNetwork/qabstractsocket.sip b/sip/QtNetwork/qabstractsocket.sip
index d3c7c37c..d64e4a0c 100644
--- a/sip/QtNetwork/qabstractsocket.sip
+++ b/sip/QtNetwork/qabstractsocket.sip
@@ -170,6 +170,9 @@ signals:
void disconnected();
void stateChanged(QAbstractSocket::SocketState);
void error(QAbstractSocket::SocketError);
+%If (Qt_5_15_0 -)
+ void errorOccurred(QAbstractSocket::SocketError);
+%End
void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *authenticator);
protected:
diff --git a/sip/QtNetwork/qlocalsocket.sip b/sip/QtNetwork/qlocalsocket.sip
index 63ac1695..4d6a8759 100644
--- a/sip/QtNetwork/qlocalsocket.sip
+++ b/sip/QtNetwork/qlocalsocket.sip
@@ -88,6 +88,9 @@ signals:
void connected();
void disconnected();
void error(QLocalSocket::LocalSocketError socketError);
+%If (Qt_5_15_0 -)
+ void errorOccurred(QLocalSocket::LocalSocketError socketError);
+%End
void stateChanged(QLocalSocket::LocalSocketState socketState);
protected:
diff --git a/sip/QtNetwork/qnetworkaccessmanager.sip b/sip/QtNetwork/qnetworkaccessmanager.sip
index 40cba67d..6ee29585 100644
--- a/sip/QtNetwork/qnetworkaccessmanager.sip
+++ b/sip/QtNetwork/qnetworkaccessmanager.sip
@@ -157,4 +157,10 @@ public:
%If (Qt_5_14_0 -)
void setAutoDeleteReplies(bool autoDelete);
%End
+%If (Qt_5_15_0 -)
+ int transferTimeout() const;
+%End
+%If (Qt_5_15_0 -)
+ void setTransferTimeout(int timeout = QNetworkRequest::TransferTimeoutConstant::DefaultTransferTimeoutConstant);
+%End
};
diff --git a/sip/QtNetwork/qnetworkreply.sip b/sip/QtNetwork/qnetworkreply.sip
index 1e2603b7..c879dc03 100644
--- a/sip/QtNetwork/qnetworkreply.sip
+++ b/sip/QtNetwork/qnetworkreply.sip
@@ -116,6 +116,9 @@ signals:
%End
%End
void error(QNetworkReply::NetworkError);
+%If (Qt_5_15_0 -)
+ void errorOccurred(QNetworkReply::NetworkError);
+%End
%If (PyQt_SSL)
void sslErrors(const QList<QSslError> &errors);
%End
diff --git a/sip/QtNetwork/qnetworkrequest.sip b/sip/QtNetwork/qnetworkrequest.sip
index 3e19a6db..7d249dae 100644
--- a/sip/QtNetwork/qnetworkrequest.sip
+++ b/sip/QtNetwork/qnetworkrequest.sip
@@ -84,9 +84,15 @@ public:
%If (Qt_5_8_0 -)
HTTP2AllowedAttribute,
%End
+%If (Qt_5_15_0 -)
+ Http2AllowedAttribute,
+%End
%If (Qt_5_8_0 -)
HTTP2WasUsedAttribute,
%End
+%If (Qt_5_15_0 -)
+ Http2WasUsedAttribute,
+%End
%If (Qt_5_9_0 -)
OriginalContentLengthAttribute,
%End
@@ -179,4 +185,18 @@ public:
%If (Qt_5_14_0 -)
void setHttp2Configuration(const QHttp2Configuration &configuration);
%End
+%If (Qt_5_15_0 -)
+
+ enum TransferTimeoutConstant
+ {
+ DefaultTransferTimeoutConstant,
+ };
+
+%End
+%If (Qt_5_15_0 -)
+ int transferTimeout() const;
+%End
+%If (Qt_5_15_0 -)
+ void setTransferTimeout(int timeout = QNetworkRequest::TransferTimeoutConstant::DefaultTransferTimeoutConstant);
+%End
};
diff --git a/sip/QtNetwork/qsslcertificate.sip b/sip/QtNetwork/qsslcertificate.sip
index 848ec7e8..66ee2444 100644
--- a/sip/QtNetwork/qsslcertificate.sip
+++ b/sip/QtNetwork/qsslcertificate.sip
@@ -93,6 +93,16 @@ public:
%If (Qt_5_12_0 -)
QString subjectDisplayName() const;
%End
+%If (Qt_5_15_0 -)
+
+ enum class PatternSyntax
+ {
+ RegularExpression,
+ Wildcard,
+ FixedString,
+ };
+
+%End
};
%End
diff --git a/sip/QtNetwork/qsslconfiguration.sip b/sip/QtNetwork/qsslconfiguration.sip
index ac7ecc25..545a1e9e 100644
--- a/sip/QtNetwork/qsslconfiguration.sip
+++ b/sip/QtNetwork/qsslconfiguration.sip
@@ -148,6 +148,15 @@ public:
%If (Qt_5_13_0 -)
bool ocspStaplingEnabled() const;
%End
+%If (Qt_5_15_0 -)
+ void addCaCertificate(const QSslCertificate &certificate);
+%End
+%If (Qt_5_15_0 -)
+ bool addCaCertificates(const QString &path, QSsl::EncodingFormat format = QSsl::Pem, QSslCertificate::PatternSyntax syntax = QSslCertificate::PatternSyntax::FixedString);
+%End
+%If (Qt_5_15_0 -)
+ void addCaCertificates(const QList<QSslCertificate> &certificates);
+%End
};
%End
diff --git a/sip/QtNetwork/qsslsocket.sip b/sip/QtNetwork/qsslsocket.sip
index 892d5358..cba5652c 100644
--- a/sip/QtNetwork/qsslsocket.sip
+++ b/sip/QtNetwork/qsslsocket.sip
@@ -192,6 +192,14 @@ public:
%If (Qt_5_13_0 -)
QVector<QOcspResponse> ocspResponses() const;
%End
+%If (Qt_5_15_0 -)
+ QList<QSslError> sslHandshakeErrors() const;
+%End
+
+signals:
+%If (Qt_5_15_0 -)
+ void newSessionTicketReceived();
+%End
};
%End
diff --git a/sip/QtQml/qjsengine.sip b/sip/QtQml/qjsengine.sip
index 35488731..c6c0a410 100644
--- a/sip/QtQml/qjsengine.sip
+++ b/sip/QtQml/qjsengine.sip
@@ -36,18 +36,23 @@ class QJSEngine : QObject
sipTypeDef **type;
int yes, no;
} graph[] = {
- {sipName_QQmlExpression, &sipType_QQmlExpression, -1, 1},
- #if QT_VERSION >= 0x050200
- {sipName_QQmlFileSelector, &sipType_QQmlFileSelector, -1, 2},
+ {sipName_QJSEngine, &sipType_QJSEngine, 8, 1},
+ {sipName_QQmlComponent, &sipType_QQmlComponent, -1, 2},
+ {sipName_QQmlContext, &sipType_QQmlContext, -1, 3},
+ #if QT_VERSION >= 0x050f00
+ {sipName_QQmlEngineExtensionPlugin, &sipType_QQmlEngineExtensionPlugin, -1, 4},
#else
- {0, 0, -1, 2},
+ {0, 0, -1, 4},
#endif
- {sipName_QQmlContext, &sipType_QQmlContext, -1, 3},
- {sipName_QQmlPropertyMap, &sipType_QQmlPropertyMap, -1, 4},
- {sipName_QQmlComponent, &sipType_QQmlComponent, -1, 5},
+ {sipName_QQmlExpression, &sipType_QQmlExpression, -1, 5},
{sipName_QQmlExtensionPlugin, &sipType_QQmlExtensionPlugin, -1, 6},
- {sipName_QJSEngine, &sipType_QJSEngine, 7, -1},
- {sipName_QQmlEngine, &sipType_QQmlEngine, 8, -1},
+ #if QT_VERSION >= 0x050200
+ {sipName_QQmlFileSelector, &sipType_QQmlFileSelector, -1, 7},
+ #else
+ {0, 0, -1, 7},
+ #endif
+ {sipName_QQmlPropertyMap, &sipType_QQmlPropertyMap, -1, -1},
+ {sipName_QQmlEngine, &sipType_QQmlEngine, 9, -1},
#if QT_VERSION >= 0x050100
{sipName_QQmlApplicationEngine, &sipType_QQmlApplicationEngine, -1, -1},
#else
@@ -125,6 +130,17 @@ public:
%If (Qt_5_14_0 -)
bool isInterrupted() const;
%End
+%If (Qt_5_15_0 -)
+ QString uiLanguage() const;
+%End
+%If (Qt_5_15_0 -)
+ void setUiLanguage(const QString &language);
+%End
+
+signals:
+%If (Qt_5_15_0 -)
+ void uiLanguageChanged();
+%End
};
%If (Qt_5_5_0 -)
diff --git a/sip/QtQml/qqmlapplicationengine.sip b/sip/QtQml/qqmlapplicationengine.sip
index 81095662..571edd52 100644
--- a/sip/QtQml/qqmlapplicationengine.sip
+++ b/sip/QtQml/qqmlapplicationengine.sip
@@ -37,8 +37,10 @@ public:
QList<QObject *> rootObjects() const;
%End
%If (- Qt_5_9_0)
+%If (Qt_5_15_0 -)
QList<QObject *> rootObjects();
%End
+%End
public slots:
void load(const QUrl &url) /ReleaseGIL/;
diff --git a/sip/QtQml/qqmlextensionplugin.sip b/sip/QtQml/qqmlextensionplugin.sip
index 280265cd..929f906f 100644
--- a/sip/QtQml/qqmlextensionplugin.sip
+++ b/sip/QtQml/qqmlextensionplugin.sip
@@ -35,3 +35,19 @@ public:
QUrl baseUrl() const;
%End
};
+
+%If (Qt_5_15_0 -)
+
+class QQmlEngineExtensionPlugin : QObject
+{
+%TypeHeaderCode
+#include <qqmlextensionplugin.h>
+%End
+
+public:
+ explicit QQmlEngineExtensionPlugin(QObject *parent /TransferThis/ = 0);
+ virtual ~QQmlEngineExtensionPlugin();
+ virtual void initializeEngine(QQmlEngine *engine, const char *uri);
+};
+
+%End
diff --git a/sip/QtQml/qqmlincubator.sip b/sip/QtQml/qqmlincubator.sip
index 363521c4..765a4a01 100644
--- a/sip/QtQml/qqmlincubator.sip
+++ b/sip/QtQml/qqmlincubator.sip
@@ -54,6 +54,9 @@ public:
QQmlIncubator::IncubationMode incubationMode() const;
QQmlIncubator::Status status() const;
QObject *object() const /Factory/;
+%If (Qt_5_15_0 -)
+ void setInitialProperties(const QVariantMap &initialProperties);
+%End
protected:
virtual void statusChanged(QQmlIncubator::Status);
diff --git a/sip/QtQml/qqmllist.sip b/sip/QtQml/qqmllist.sip
index eac4a058..ec097b12 100644
--- a/sip/QtQml/qqmllist.sip
+++ b/sip/QtQml/qqmllist.sip
@@ -44,4 +44,16 @@ public:
QObject *at(int) const;
bool clear() const;
int count() const;
+%If (Qt_5_15_0 -)
+ bool canReplace() const;
+%End
+%If (Qt_5_15_0 -)
+ bool canRemoveLast() const;
+%End
+%If (Qt_5_15_0 -)
+ bool replace(int, QObject *) const;
+%End
+%If (Qt_5_15_0 -)
+ bool removeLast() const;
+%End
};
diff --git a/sip/QtQuick/qquickwindow.sip b/sip/QtQuick/qquickwindow.sip
index c29f6c19..47842b62 100644
--- a/sip/QtQuick/qquickwindow.sip
+++ b/sip/QtQuick/qquickwindow.sip
@@ -176,6 +176,9 @@ protected:
virtual void mouseDoubleClickEvent(QMouseEvent *);
virtual void mouseMoveEvent(QMouseEvent *);
virtual void wheelEvent(QWheelEvent *);
+%If (Qt_5_15_0 -)
+ virtual void tabletEvent(QTabletEvent *);
+%End
public:
%If (Qt_5_1_0 -)
diff --git a/sip/QtQuick/qsggeometry.sip b/sip/QtQuick/qsggeometry.sip
index 998900d2..0f44a52a 100644
--- a/sip/QtQuick/qsggeometry.sip
+++ b/sip/QtQuick/qsggeometry.sip
@@ -401,4 +401,7 @@ enum /NoScope/
%If (Qt_5_8_0 -)
static void updateColoredRectGeometry(QSGGeometry *g, const QRectF &rect);
%End
+
+private:
+ QSGGeometry(const QSGGeometry &);
};
diff --git a/sip/QtQuick/qsgmaterialrhishader.sip b/sip/QtQuick/qsgmaterialrhishader.sip
index 2723d5cc..8b741e82 100644
--- a/sip/QtQuick/qsgmaterialrhishader.sip
+++ b/sip/QtQuick/qsgmaterialrhishader.sip
@@ -19,3 +19,105 @@
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+%If (Qt_5_14_0 -)
+
+class QSGMaterialRhiShader : QSGMaterialShader
+{
+%TypeHeaderCode
+#include <qsgmaterialrhishader.h>
+%End
+
+public:
+ class RenderState
+ {
+%TypeHeaderCode
+#include <qsgmaterialrhishader.h>
+%End
+
+ typedef QSGMaterialShader::RenderState::DirtyStates DirtyStates;
+
+ public:
+ QSGMaterialRhiShader::RenderState::DirtyStates dirtyStates() const;
+ bool isMatrixDirty() const;
+ bool isOpacityDirty() const;
+ float opacity() const;
+ QMatrix4x4 combinedMatrix() const;
+ QMatrix4x4 modelViewMatrix() const;
+ QMatrix4x4 projectionMatrix() const;
+ QRect viewportRect() const;
+ QRect deviceRect() const;
+ float determinant() const;
+ float devicePixelRatio() const;
+ QByteArray *uniformData();
+ };
+
+ struct GraphicsPipelineState
+ {
+%TypeHeaderCode
+#include <qsgmaterialrhishader.h>
+%End
+
+ enum BlendFactor
+ {
+ Zero,
+ One,
+ SrcColor,
+ OneMinusSrcColor,
+ DstColor,
+ OneMinusDstColor,
+ SrcAlpha,
+ OneMinusSrcAlpha,
+ DstAlpha,
+ OneMinusDstAlpha,
+ ConstantColor,
+ OneMinusConstantColor,
+ ConstantAlpha,
+ OneMinusConstantAlpha,
+ SrcAlphaSaturate,
+ Src1Color,
+ OneMinusSrc1Color,
+ Src1Alpha,
+ OneMinusSrc1Alpha,
+ };
+
+ enum ColorMaskComponent
+ {
+ R,
+ G,
+ B,
+ A,
+ };
+
+ typedef QFlags<QSGMaterialRhiShader::GraphicsPipelineState::ColorMaskComponent> ColorMask;
+
+ enum CullMode
+ {
+ CullNone,
+ CullFront,
+ CullBack,
+ };
+ };
+
+ enum Flag
+ {
+ UpdatesGraphicsPipelineState,
+ };
+
+ typedef QFlags<QSGMaterialRhiShader::Flag> Flags;
+ QSGMaterialRhiShader();
+ virtual ~QSGMaterialRhiShader();
+ virtual bool updateUniformData(QSGMaterialRhiShader::RenderState &state, QSGMaterial *newMaterial, QSGMaterial *oldMaterial);
+ virtual void updateSampledImage(QSGMaterialRhiShader::RenderState &state, int binding, QSGTexture **texture, QSGMaterial *newMaterial, QSGMaterial *oldMaterial);
+ virtual bool updateGraphicsPipelineState(QSGMaterialRhiShader::RenderState &state, QSGMaterialRhiShader::GraphicsPipelineState *ps, QSGMaterial *newMaterial, QSGMaterial *oldMaterial);
+ QSGMaterialRhiShader::Flags flags() const;
+ void setFlag(QSGMaterialRhiShader::Flags flags, bool on = true);
+};
+
+%End
+%If (Qt_5_14_0 -)
+QFlags<QSGMaterialRhiShader::GraphicsPipelineState::ColorMaskComponent> operator|(QSGMaterialRhiShader::GraphicsPipelineState::ColorMaskComponent f1, QFlags<QSGMaterialRhiShader::GraphicsPipelineState::ColorMaskComponent> f2);
+%End
+%If (Qt_5_14_0 -)
+QFlags<QSGMaterialRhiShader::Flag> operator|(QSGMaterialRhiShader::Flag f1, QFlags<QSGMaterialRhiShader::Flag> f2);
+%End
diff --git a/sip/QtQuick/qsgtexture.sip b/sip/QtQuick/qsgtexture.sip
index d2b232c7..02312e86 100644
--- a/sip/QtQuick/qsgtexture.sip
+++ b/sip/QtQuick/qsgtexture.sip
@@ -41,7 +41,7 @@ public:
enum Filtering
{
- None,
+ None /PyName=None_/,
Nearest,
Linear,
};
@@ -85,6 +85,22 @@ public:
%If (Qt_5_14_0 -)
int comparisonKey() const;
%End
+%If (Qt_5_15_0 -)
+
+ struct NativeTexture
+ {
+%TypeHeaderCode
+#include <qsgtexture.h>
+%End
+
+ const void *object;
+ int layout;
+ };
+
+%End
+%If (Qt_5_15_0 -)
+ QSGTexture::NativeTexture nativeTexture() const;
+%End
};
class QSGDynamicTexture : QSGTexture
diff --git a/sip/QtXml/QtXmlmod.sip b/sip/QtQuick3D/QtQuick3Dmod.sip
similarity index 84%
copy from sip/QtXml/QtXmlmod.sip
copy to sip/QtQuick3D/QtQuick3Dmod.sip
index ee053de5..d6dd0ee9 100644
--- a/sip/QtXml/QtXmlmod.sip
+++ b/sip/QtQuick3D/QtQuick3Dmod.sip
@@ -1,6 +1,6 @@
-// QtXmlmod.sip generated by MetaSIP
+// QtQuick3Dmod.sip generated by MetaSIP
//
-// This file is part of the QtXml Python extension module.
+// This file is part of the QtQuick3D Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -20,9 +20,11 @@
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-%Module(name=PyQt5.QtXml, keyword_arguments="Optional", use_limited_api=True)
+%Module(name=PyQt5.QtQuick3D, keyword_arguments="Optional", use_limited_api=True)
%Import QtCore/QtCoremod.sip
+%Import QtGui/QtGuimod.sip
+%Import QtQml/QtQmlmod.sip
%Copying
Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
@@ -45,5 +47,6 @@ WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%DefaultSupertype sip.simplewrapper
-%Include qxml.sip
-%Include qdom.sip
+%Include qquick3d.sip
+%Include qquick3dgeometry.sip
+%Include qquick3dobject.sip
diff --git a/sip/QtQuick/qsgmaterialrhishader.sip b/sip/QtQuick3D/qquick3d.sip
similarity index 76%
copy from sip/QtQuick/qsgmaterialrhishader.sip
copy to sip/QtQuick3D/qquick3d.sip
index 2723d5cc..87155d9c 100644
--- a/sip/QtQuick/qsgmaterialrhishader.sip
+++ b/sip/QtQuick3D/qquick3d.sip
@@ -1,6 +1,6 @@
-// qsgmaterialrhishader.sip generated by MetaSIP
+// qquick3d.sip generated by MetaSIP
//
-// This file is part of the QtQuick Python extension module.
+// This file is part of the QtQuick3D Python extension module.
//
// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
//
@@ -19,3 +19,17 @@
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+%If (Qt_5_15_0 -)
+
+class QQuick3D
+{
+%TypeHeaderCode
+#include <qquick3d.h>
+%End
+
+public:
+ static QSurfaceFormat idealSurfaceFormat(int samples = -1);
+};
+
+%End
diff --git a/sip/QtQuick3D/qquick3dgeometry.sip b/sip/QtQuick3D/qquick3dgeometry.sip
new file mode 100644
index 00000000..093044a8
--- /dev/null
+++ b/sip/QtQuick3D/qquick3dgeometry.sip
@@ -0,0 +1,101 @@
+// qquick3dgeometry.sip generated by MetaSIP
+//
+// This file is part of the QtQuick3D Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+%If (Qt_5_15_0 -)
+
+class QQuick3DGeometry : QQuick3DObject
+{
+%TypeHeaderCode
+#include <qquick3dgeometry.h>
+%End
+
+public:
+ explicit QQuick3DGeometry(QQuick3DObject *parent /TransferThis/ = 0);
+ virtual ~QQuick3DGeometry();
+
+ enum class PrimitiveType
+ {
+ Unknown,
+ Points,
+ LineStrip,
+ Lines,
+ TriangleStrip,
+ TriangleFan,
+ Triangles,
+ };
+
+ struct Attribute
+ {
+%TypeHeaderCode
+#include <qquick3dgeometry.h>
+%End
+
+ enum Semantic
+ {
+ UnknownSemantic,
+ IndexSemantic,
+ PositionSemantic,
+ NormalSemantic,
+ TexCoordSemantic,
+ TangentSemantic,
+ BinormalSemantic,
+ };
+
+ enum ComponentType
+ {
+ DefaultType,
+ U16Type,
+ U32Type,
+ F32Type,
+ };
+
+ QQuick3DGeometry::Attribute::Semantic semantic;
+ int offset;
+ QQuick3DGeometry::Attribute::ComponentType componentType;
+ };
+
+ QString name() const;
+ QByteArray vertexBuffer() const;
+ QByteArray indexBuffer() const;
+ int attributeCount() const;
+ QQuick3DGeometry::Attribute attribute(int index) const;
+ QQuick3DGeometry::PrimitiveType primitiveType() const;
+ QVector3D boundsMin() const;
+ QVector3D boundsMax() const;
+ int stride() const;
+ void setVertexData(const QByteArray &data);
+ void setIndexData(const QByteArray &data);
+ void setStride(int stride);
+ void setBounds(const QVector3D &min, const QVector3D &max);
+ void setPrimitiveType(QQuick3DGeometry::PrimitiveType type);
+ void addAttribute(QQuick3DGeometry::Attribute::Semantic semantic, int offset, QQuick3DGeometry::Attribute::ComponentType componentType);
+ void addAttribute(const QQuick3DGeometry::Attribute &att);
+ void clear();
+
+public slots:
+ void setName(const QString &name);
+
+signals:
+ void nameChanged();
+};
+
+%End
diff --git a/sip/QtQuick3D/qquick3dobject.sip b/sip/QtQuick3D/qquick3dobject.sip
new file mode 100644
index 00000000..9aa81b70
--- /dev/null
+++ b/sip/QtQuick3D/qquick3dobject.sip
@@ -0,0 +1,78 @@
+// qquick3dobject.sip generated by MetaSIP
+//
+// This file is part of the QtQuick3D Python extension module.
+//
+// Copyright (c) 2020 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt5.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+%If (Qt_5_15_0 -)
+
+class QQuick3DObject : QObject, QQmlParserStatus /Abstract/
+{
+%TypeHeaderCode
+#include <qquick3dobject.h>
+%End
+
+%ConvertToSubClassCode
+ static struct class_graph {
+ const char *name;
+ sipTypeDef **type;
+ int yes, no;
+ } graph[] = {
+ {sipName_QQuick3DObject, &sipType_QQuick3DObject, 1, -1},
+ {sipName_QQuick3DGeometry, &sipType_QQuick3DGeometry, -1, -1},
+ };
+
+ int i = 0;
+
+ sipType = NULL;
+
+ do
+ {
+ struct class_graph *cg = &graph[i];
+
+ if (cg->name != NULL && sipCpp->inherits(cg->name))
+ {
+ sipType = *cg->type;
+ i = cg->yes;
+ }
+ else
+ i = cg->no;
+ }
+ while (i >= 0);
+%End
+
+public:
+ explicit QQuick3DObject(QQuick3DObject *parent /TransferThis/ = 0);
+ virtual ~QQuick3DObject();
+ QString state() const;
+ void setState(const QString &state);
+ QQuick3DObject *parentItem() const;
+
+public slots:
+ void setParentItem(QQuick3DObject *parentItem);
+
+signals:
+ void stateChanged();
+
+protected:
+ virtual void classBegin();
+ virtual void componentComplete();
+};
+
+%End
diff --git a/sip/QtRemoteObjects/qremoteobjectnode.sip b/sip/QtRemoteObjects/qremoteobjectnode.sip
index 8b240119..f4613d48 100644
--- a/sip/QtRemoteObjects/qremoteobjectnode.sip
+++ b/sip/QtRemoteObjects/qremoteobjectnode.sip
@@ -168,6 +168,11 @@ public:
virtual ~QRemoteObjectHost();
virtual QUrl hostUrl() const;
virtual bool setHostUrl(const QUrl &hostAddress, QRemoteObjectHostBase::AllowedSchemas allowedSchemas = QRemoteObjectHostBase::BuiltInSchemasOnly);
+
+signals:
+%If (Qt_5_15_0 -)
+ void hostUrlChanged();
+%End
};
%End
diff --git a/sip/QtRemoteObjects/qremoteobjectreplica.sip b/sip/QtRemoteObjects/qremoteobjectreplica.sip
index ce8abc70..f28299ee 100644
--- a/sip/QtRemoteObjects/qremoteobjectreplica.sip
+++ b/sip/QtRemoteObjects/qremoteobjectreplica.sip
@@ -49,6 +49,9 @@ public:
signals:
void initialized();
void stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState);
+%If (Qt_5_15_0 -)
+ void notified();
+%End
};
%End
diff --git a/sip/QtSvg/qsvgrenderer.sip b/sip/QtSvg/qsvgrenderer.sip
index 86d1f1dd..c48e4389 100644
--- a/sip/QtSvg/qsvgrenderer.sip
+++ b/sip/QtSvg/qsvgrenderer.sip
@@ -87,4 +87,15 @@ public slots:
signals:
void repaintNeeded();
+
+public:
+%If (Qt_5_15_0 -)
+ Qt::AspectRatioMode aspectRatioMode() const;
+%End
+%If (Qt_5_15_0 -)
+ void setAspectRatioMode(Qt::AspectRatioMode mode);
+%End
+%If (Qt_5_15_0 -)
+ QTransform transformForElement(const QString &id) const;
+%End
};
diff --git a/sip/QtWebSockets/qwebsocket.sip b/sip/QtWebSockets/qwebsocket.sip
index 1bd2b1d2..990f94a8 100644
--- a/sip/QtWebSockets/qwebsocket.sip
+++ b/sip/QtWebSockets/qwebsocket.sip
@@ -140,6 +140,33 @@ public:
%If (Qt_5_12_0 -)
qint64 bytesToWrite() const;
%End
+%If (Qt_5_15_0 -)
+ void setMaxAllowedIncomingFrameSize(quint64 maxAllowedIncomingFrameSize);
+%End
+%If (Qt_5_15_0 -)
+ quint64 maxAllowedIncomingFrameSize() const;
+%End
+%If (Qt_5_15_0 -)
+ void setMaxAllowedIncomingMessageSize(quint64 maxAllowedIncomingMessageSize);
+%End
+%If (Qt_5_15_0 -)
+ quint64 maxAllowedIncomingMessageSize() const;
+%End
+%If (Qt_5_15_0 -)
+ static quint64 maxIncomingMessageSize();
+%End
+%If (Qt_5_15_0 -)
+ static quint64 maxIncomingFrameSize();
+%End
+%If (Qt_5_15_0 -)
+ void setOutgoingFrameSize(quint64 outgoingFrameSize);
+%End
+%If (Qt_5_15_0 -)
+ quint64 outgoingFrameSize() const;
+%End
+%If (Qt_5_15_0 -)
+ static quint64 maxOutgoingFrameSize();
+%End
};
%End
diff --git a/sip/QtWidgets/qbuttongroup.sip b/sip/QtWidgets/qbuttongroup.sip
index a61353f3..a23d0ea1 100644
--- a/sip/QtWidgets/qbuttongroup.sip
+++ b/sip/QtWidgets/qbuttongroup.sip
@@ -53,4 +53,16 @@ signals:
%If (Qt_5_2_0 -)
void buttonToggled(int, bool);
%End
+%If (Qt_5_15_0 -)
+ void idClicked(int);
+%End
+%If (Qt_5_15_0 -)
+ void idPressed(int);
+%End
+%If (Qt_5_15_0 -)
+ void idReleased(int);
+%End
+%If (Qt_5_15_0 -)
+ void idToggled(int, bool);
+%End
};
diff --git a/sip/QtWidgets/qcombobox.sip b/sip/QtWidgets/qcombobox.sip
index aab1a9e4..2c035bd2 100644
--- a/sip/QtWidgets/qcombobox.sip
+++ b/sip/QtWidgets/qcombobox.sip
@@ -159,4 +159,12 @@ signals:
%If (Qt_5_14_0 -)
void textHighlighted(const QString &);
%End
+
+public:
+%If (Qt_5_15_0 -)
+ void setPlaceholderText(const QString &placeholderText);
+%End
+%If (Qt_5_15_0 -)
+ QString placeholderText() const;
+%End
};
diff --git a/sip/QtWidgets/qpushbutton.sip b/sip/QtWidgets/qpushbutton.sip
index bd5b21c0..37f81a35 100644
--- a/sip/QtWidgets/qpushbutton.sip
+++ b/sip/QtWidgets/qpushbutton.sip
@@ -52,8 +52,13 @@ protected:
virtual void keyPressEvent(QKeyEvent *);
virtual void focusInEvent(QFocusEvent *);
virtual void focusOutEvent(QFocusEvent *);
+%If (Qt_5_15_0 -)
+ virtual bool hitButton(const QPoint &pos) const;
+%End
// Protected platform specific methods.
+%If (- Qt_5_15_0)
%If (WS_MACX)
bool hitButton(const QPoint &pos) const;
%End
+%End
};
diff --git a/sip/QtWidgets/qsplashscreen.sip b/sip/QtWidgets/qsplashscreen.sip
index 9ba927fd..c92be836 100644
--- a/sip/QtWidgets/qsplashscreen.sip
+++ b/sip/QtWidgets/qsplashscreen.sip
@@ -29,6 +29,9 @@ class QSplashScreen : QWidget
public:
QSplashScreen(const QPixmap &pixmap = QPixmap(), Qt::WindowFlags flags = Qt::WindowFlags());
QSplashScreen(QWidget *parent /TransferThis/, const QPixmap &pixmap = QPixmap(), Qt::WindowFlags flags = Qt::WindowFlags());
+%If (Qt_5_15_0 -)
+ QSplashScreen(QScreen *screen, const QPixmap &pixmap = QPixmap(), Qt::WindowFlags flags = Qt::WindowFlags());
+%End
virtual ~QSplashScreen();
void setPixmap(const QPixmap &pixmap);
const QPixmap pixmap() const;
diff --git a/sip/QtWidgets/qstyle.sip b/sip/QtWidgets/qstyle.sip
index 85aea351..9b903d3f 100644
--- a/sip/QtWidgets/qstyle.sip
+++ b/sip/QtWidgets/qstyle.sip
@@ -260,6 +260,9 @@ public:
%End
%If (Qt_5_7_0 -)
SE_TabBarTearIndicatorRight,
+%End
+%If (Qt_5_15_0 -)
+ SE_PushButtonBevel,
%End
SE_CustomBase,
};
diff --git a/sip/QtWidgets/qstyleoption.sip b/sip/QtWidgets/qstyleoption.sip
index 9da0fdf4..68b57ce4 100644
--- a/sip/QtWidgets/qstyleoption.sip
+++ b/sip/QtWidgets/qstyleoption.sip
@@ -447,6 +447,25 @@ public:
};
QFlags<QStyleOptionTab::CornerWidget> operator|(QStyleOptionTab::CornerWidget f1, QFlags<QStyleOptionTab::CornerWidget> f2);
+%If (Qt_5_15_0 -)
+
+class QStyleOptionTabV4 : QStyleOptionTab
+{
+%TypeHeaderCode
+#include <qstyleoption.h>
+%End
+
+public:
+ enum StyleOptionVersion
+ {
+ Version,
+ };
+
+ QStyleOptionTabV4();
+ int tabIndex;
+};
+
+%End
class QStyleOptionProgressBar : QStyleOption
{
diff --git a/sip/QtWidgets/qtabbar.sip b/sip/QtWidgets/qtabbar.sip
index a7a30c5f..456072a3 100644
--- a/sip/QtWidgets/qtabbar.sip
+++ b/sip/QtWidgets/qtabbar.sip
@@ -175,4 +175,10 @@ public:
void setAccessibleTabName(int index, const QString &name);
%End
%End
+%If (Qt_5_15_0 -)
+ bool isTabVisible(int index) const;
+%End
+%If (Qt_5_15_0 -)
+ void setTabVisible(int index, bool visible);
+%End
};
diff --git a/sip/QtWidgets/qtabwidget.sip b/sip/QtWidgets/qtabwidget.sip
index 23058a1c..df3cec78 100644
--- a/sip/QtWidgets/qtabwidget.sip
+++ b/sip/QtWidgets/qtabwidget.sip
@@ -135,4 +135,10 @@ public:
%If (Qt_5_4_0 -)
void setTabBarAutoHide(bool enabled);
%End
+%If (Qt_5_15_0 -)
+ bool isTabVisible(int index) const;
+%End
+%If (Qt_5_15_0 -)
+ void setTabVisible(int index, bool visible);
+%End
};
diff --git a/sip/QtWidgets/qwizard.sip b/sip/QtWidgets/qwizard.sip
index 88a526d0..47dc0981 100644
--- a/sip/QtWidgets/qwizard.sip
+++ b/sip/QtWidgets/qwizard.sip
@@ -157,6 +157,11 @@ public:
signals:
void pageAdded(int id);
void pageRemoved(int id);
+
+public:
+%If (Qt_5_15_0 -)
+ QList<int> visitedIds() const;
+%End
};
QFlags<QWizard::WizardOption> operator|(QWizard::WizardOption f1, QFlags<QWizard::WizardOption> f2);
diff --git a/sip/QtXml/QtXmlmod.sip b/sip/QtXml/QtXmlmod.sip
index ee053de5..9848f7d3 100644
--- a/sip/QtXml/QtXmlmod.sip
+++ b/sip/QtXml/QtXmlmod.sip
@@ -45,5 +45,5 @@ WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%DefaultSupertype sip.simplewrapper
-%Include qxml.sip
%Include qdom.sip
+%Include qxml.sip
diff --git a/sip/QtXml/qdom.sip b/sip/QtXml/qdom.sip
index 62837eb0..d516b3ed 100644
--- a/sip/QtXml/qdom.sip
+++ b/sip/QtXml/qdom.sip
@@ -224,6 +224,9 @@ public:
bool setContent(const QString &text, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
bool setContent(QIODevice *dev, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0) /ReleaseGIL/;
bool setContent(QXmlInputSource *source, QXmlReader *reader, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0) /ReleaseGIL/;
+%If (Qt_5_15_0 -)
+ bool setContent(QXmlStreamReader *reader, bool namespaceProcessing, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
+%End
QString toString(int indent = 1) const;
QByteArray toByteArray(int indent = 1) const;
};
More information about the Neon-commits
mailing list