aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/PySide6
Commit message (Collapse)AuthorAgeFilesLines
...
* PySide6: Enable the SSL methods of QWebSocketsFriedemann Kleint2021-10-051-11/+0
| | | | | | | Pick-to: 6.2 Fixes: PYSIDE-610 Change-Id: I120816a1ce7612b8390037713fef255711019c19 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Expose QVideoFrame::bits(int)Friedemann Kleint2021-10-042-4/+4
| | | | | | | | | | | QVideoFrame::bits() was removed in Qt 6; expose QVideoFrame::bits(int plane). Pick-to: 6.2 Fixes: PYSIDE-1674 Change-Id: I23f58f71286e445ad1b1e170924ee5e40f0b2491 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove some C++ primitive types from the typesystem filesFriedemann Kleint2021-10-011-29/+0
| | | | | | | | | | | Remove the basic C++ primitive types from the typesystem files. Leave the Qt typedef'ed types in place as otherwise the function modifications would no longer match. Task-number: PYSIDE-1660 Change-Id: Ic64634633640a4b358221fc9f64180df94af02de Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Limited API: Add more Unicode functionsFriedemann Kleint2021-09-301-11/+5
| | | | | | | | | | | Add the PepUnicode_KIND() and PepUnicode_DATA() and other check macros. [ChangeLog][shiboken6] More string helper functions have been added to the limited API. Change-Id: I606f5a6f6fd49521d0b85f844f29bb052ff8500b Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Remove ShibokenGenerator::guessCPythonCheckFunction()Friedemann Kleint2021-09-301-1/+1
| | | | | | | | | | | | | | | | Since all CPython types are now built-in custom types, there is no longer a need to guess the check functions. Custom types passed to writeTypeCheck should be valid AbstractMetaTypes; throw an exception if this fails. Define a check function for Qml's VolatileBool where it was relying on heuristics. Task-number: PYSIDE-1660 Change-Id: I9641c63ae2942db86dbf84488429b7e25f0491a0 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* PyPySide: adjust more to PyPy's needsChristian Tismer2021-09-291-5/+5
| | | | | | | | | These are the stable changes which are definitely needed for PyPy to work. Other changes are unclear and stay in the open PyPy patch. Task-number: PYSIDE-535 Change-Id: I660fba3bba9274026cffe0c21498ac57eb5c3b53 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Properly specify extra include for Qt core module source fileFriedemann Kleint2021-09-281-4/+5
| | | | | | | | | | | | | Replace the hack adding the include to a primitive by an extra-include element. This is actually implemented in code, but not documented. As a drive-by fix the code to only write the comment when includes are present. Adapt the documentation accordingly. Task-number: PYSIDE-1660 Pick-to: 6.2 Change-Id: I06520f4747d02f2b3e86f90c09220d82e91f95ff Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Add built-in CPython typesFriedemann Kleint2021-09-242-11/+0
| | | | | | | | | | | | | | Add the CPython types along with their check functions. Introduce a new Python type entry for this. [ChangeLog][shiboken6] CPython types like PyObject, PySequence are now built into shiboken6 and no longer need to be specified in the typesystem files. Task-number: PYSIDE-1660 Change-Id: Ia2a7e5445c11b99cae069818aa5b0e1aa169533c Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Add opaque containers for C++ sequence containersFriedemann Kleint2021-09-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a class that directly wraps a C++ sequence container, allow for modifying them. For all instantiated containers, generate a special (sequence) type that wraps the C++ container directly. For example, it will be accessible as a QList_int. This is achieved via providing a template for a type private that relies on a conversion traits template for conversion. Only the conversion traits specialization code needs to be generated. Use cases: - Allowing for modifying Fields of such container types (non-owning) - Pass it into functions taking such containers instead of converting back and forth from a PyList (constructed in Python, owning) [ChangeLog][shiboken6] Support for opaque C++ sequence scontainers has been added, allowing to pass a wrapped C++ container directly instead of converting it back and forth from Python sequences. Task-number: PYSIDE-1605 Change-Id: I49d378eb1a0151730d817d5bdd4b71a7c3b5cdda Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix QSurfaceDataProxy::resetArray() crashCristián Maureira-Fredes2021-09-212-2/+10
| | | | | | | | | | Pass an allocated array to the function. Complements dd4d4fe1ee74cc6dae370a8a9dcced53dc9a3898. Task-number: PYSIDE-1438 Change-Id: I4120a0dbeb3a4a4a740125ba9c27f78e61875457 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6: API Adaptions for 6.2Friedemann Kleint2021-09-214-4/+1
| | | | | | | | | Add missing enum QLocalSocket::SocketOption and remove obsolete enums and functions. Task-number: PYSIDE-1570 Change-Id: I2d89e116d2360fd49dac0343acf1e85d2442e5e1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Clean the rejected typesFriedemann Kleint2021-09-211-17/+0
| | | | | | | | Remove obsolete types. Pick-to: 6.1 Change-Id: I6397f354fd02d47810668b93a65a661865697531 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Clean the suppressed warningsFriedemann Kleint2021-09-217-67/+19
| | | | | | | | Remove obsolete warnings and add new ones. Pick-to: 6.1 Change-Id: If4b8d1cfcfe858e86079eac32f24c3c65cbcf583 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add QWebEnginePage::setWebChannel(QWebChannel*,quint32)Friedemann Kleint2021-09-213-2/+15
| | | | | | | | | Make QtWebChannel a dependency of QtWebEngineCore to expose the method. Fixes: PYSIDE-1663 Change-Id: I5b70976f68c1b863582897a648ec7446af9f982b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Remove some C-style castsFriedemann Kleint2021-09-133-7/+8
| | | | | Change-Id: Ib600eff6f4a2baa32dbda781c0c95286e9ba5c58 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Shiboken: Change type(SbkType_FromSpec) to PyType_ObjectChristian Tismer2021-09-131-8/+3
| | | | | | | | | | | | This step prepares the transition of type generation to PyPy compatibility. [ChangeLog][shiboken6] SbkType_FromSpec() has been changed to return a PyType_Object *. Task-number: PYSIDE-535 Change-Id: I74e2e527e66a41f1a9f3f911f44d641139371889 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove SbkObjectType from the APIFriedemann Kleint2021-09-131-2/+2
| | | | | | | | | | Leave only a deprecated typedef. Complements a4311711eb89e3f9833a05edf3debdf7563a104f. Task-number: PYSIDE-535 Change-Id: Icab9e82e7bff99363c01e471db1c84ee8d6c0b6b Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove C-style casts to SbkObjectType *Friedemann Kleint2021-09-132-19/+35
| | | | | | | | Complements a4311711eb89e3f9833a05edf3debdf7563a104f. Task-number: PYSIDE-535 Change-Id: Iedb4b03be4fcac1622c1fabf8d60e0853d939bd6 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Define SbkObjectType to be a PyTypeObjectFriedemann Kleint2021-09-114-9/+4
| | | | | | | | | | | | | | | SbkObjectType was a struct embedding a PyTypeObject after fec1611e9f42c1f0a13eb33474df2ed8ee480842. Remove that and make the types equvivalent, which allows for removing many reinterpret_casts. SbkObjectType is left as a typedef for client code snippets. [ChangeLog][shiboken6] SbkObjectType is now a typedef for PyTypeObject. Task-number: PYSIDE-535 Change-Id: I44812311ccbbe0988c38e34c47d16f6874f8d1cf Reviewed-by: Christian Tismer <tismer@stackless.com>
* PyPySide: fix the representation of missing keyword argumentsChristian Tismer2021-09-101-1/+2
| | | | | | | | | | | | | | | It CPython, missing keyword arguments are encoded by passing a nullptr as dict. Not so in PyPy, where no keyword arguments simply result in empty dicts. [ChangeLog][PySide6] PyPySide: Accept empty dicts as alternative to setting unused keyword dicts to nullptr. This saves about 40 errors :-) (still 195 due to inheritance) Task-number: PYSIDE-535 Change-Id: I40c12e82d8a445272698264f0a04f48533f56f88 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6: Add QThreadPool().start(std::function)/tryStart(std::function)Friedemann Kleint2021-09-072-0/+38
| | | | | | | | [ChangeLog][PySide6] QThreadPool().start(std::function) and tryStart(std::function) have been added. Change-Id: I01fc3b743d97e11375c20391fb6e28b03d1ceac0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Add QAccessible::installFactory()Friedemann Kleint2021-08-312-0/+106
| | | | | | Fixes: PYSIDE-1650 Change-Id: I05926888aa4de8c3a34c712ed2000ba59e524833 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Remove function glGetProgramBinary()Friedemann Kleint2021-08-311-0/+1
| | | | | | | | It causes signature warnings. Task-number: PYSIDE-1646 Change-Id: I8979a8f087184fd3007c47a0a5f9695d3ef24d7a Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Add QAccessibleActionInterfaceFriedemann Kleint2021-08-312-0/+2
| | | | | | | | | Fix warning: QtWidgets/qaccessiblewidget.h:53: Base class 'QAccessibleActionInterface' of class 'QAccessibleWidget' not found in the type system for setting up inheritance Task-number: PYSIDE-1650 Change-Id: I0c4ae56b0f931e7103c5bf61180a5fbb4c7036e2 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add GLsizeiptr, GLintptrFriedemann Kleint2021-08-305-3/+17
| | | | | | Task-number: PYSIDE-1646 Change-Id: Ic102876f4ce0c9a860e6b440dab290a026d5829d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Use entities for GL typesFriedemann Kleint2021-08-306-94/+137
| | | | | | | | | | | macOS uses (u)int32_t for GL(u)int; match the GL functions via an entity for those types. This was a shared project of FK and CT. Task-number: PYSIDE-1646 Change-Id: I1ebe4da7fd50cb0cf657c0b4138fd974a62e8646 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Add array overload of glIndexubv()Friedemann Kleint2021-08-301-0/+3
| | | | | | Task-number: PYSIDE-1646 Change-Id: Iedc4f52802fbf4570ebaf91a57fe2c9994d7f3df Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Properly reject GL(u)int64 gettersFriedemann Kleint2021-08-261-2/+1
| | | | | | | | | Rejection works before resolving typedefs. Task-number: PYSIDE-1646 Pick-to: 6.1 Change-Id: Ice7ed94e4e0aa21783171bb3fe99ed49907f7ccf Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix GLES buildsFriedemann Kleint2021-08-261-1/+2
| | | | | | | | | | Add QOpenGLVersionFunctionsFactory to list of dropped entries. Fixes: PYSIDE-1636 Pick-to: 6.1 Change-Id: Ie203372c2d15776a466f0fa04fe32a777bf85e52 Reviewed-by: Christophe Giboudeaux <christophe@krop.fr> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Add QAnyStringViewFriedemann Kleint2021-08-262-0/+12
| | | | | | | | | Change qtbase/615a9cf99150cfee34c14cfed0aa9583f5993934 ports QUuid to use QAnyStringView instead of QStringView, causing test failures in 6.3. Change-Id: Ic12031d3ce222bb85effcc4b57dd44d5f2872662 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Prospective fix for OpenGL types on macOSFriedemann Kleint2021-08-252-0/+10
| | | | | | | | | | | | | macOS has typedef uint32_t GLuint; typedef int32_t GLint; Add those types (C++11/C). Pick-to: 6.1 Fixes: PYSIDE-1646 Change-Id: I7cd857ed06fee9925250964bdcdd93c42a251e34 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Remove QQuickWebEngineScriptCollectionFriedemann Kleint2021-08-252-3/+0
| | | | | | | Adapt to qtwebengine/e264ac67505312a352d55a35b11192d60375f63a. Change-Id: I78cc51138cec1ebba6c3ef02eb38e82cad1a7b61 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Implement qmlRegisterSingletonInstanceCristián Maureira-Fredes2021-08-174-8/+75
| | | | | | | | | | | | Using a similar approach to the qmlRegisterSingletonType, but wrapping the instance (QObject) into a SingletonFunctor as described in Qt/C++. Add helper function PySide::isQObjectDerived Task-number: PYSIDE-487 Change-Id: Id0fd9da0351a9ba58eae006d7d882f9815f06742 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Disable gestures from QtSensorsCristián Maureira-Fredes2021-08-172-3/+7
| | | | | | | | | | | Due to 5991224e6713eef4a456c408fcf797662fa2a66c on qt/qtsensors Task-number: QTBUG-95747 Task-number: QTBUG-95649 Change-Id: I0e90ea719662e00160ee7d8b717074ca51706939 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Allow threads for QInputDialog templatesCristián Maureira-Fredes2021-08-101-5/+22
| | | | | | | Fixes: PYSIDE-1639 Pick-to: 5.15 6.1 Change-Id: I14ed08de3ba883650c32b4c2242c54c57624e087 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Allow threads in QAbstractSocket methodsCristián Maureira-Fredes2021-08-101-0/+2
| | | | | | | | | | | This allows threads in the methods: - waitForBytesWritten(int) - waitForReadyRead(int) Pick-to: 5.15 6.1 Fixes: PYSIDE-1640 Change-Id: I391feb7b5c834574c12e378318d5a39c49a4a75e Reviewed-by: Christian Tismer <tismer@stackless.com>
* Shiboken: Remove cheating macrosChristian Tismer2021-08-066-13/+11
| | | | | | | | | | | | | | | There are a number of cheating macros that allow to use the same code in Python 2 and 3. Because Python 2 is gone, remove these macros. This conversion was partially difficult since certain types collapsed in the XML files and generated functions contained substrings of the macros. This is actually the fourth attempt. Task-number: PYSIDE-1019 Pick-to: 6.1 Change-Id: I116877afc8aa36f4710a40df1769f600b6b750ea Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Adapt to API changes of Qt 6.2 Beta 2Friedemann Kleint2021-07-294-6/+2
| | | | | | | | | | - Adapt QCalendar to qtbase/3431104f4571f9ef3185e04f92078e96a3a6aa67. - Remove enumeration QNetworkInformation::TriState (QtNetwork: qtbase/14b74af0608dc833f836acac4ee93f905b449806) - Adapt to Multimedia Change-Id: I4854d471e9ac65507e8962be59016b39eaf0a429 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove signature loader completely from physical FSChristian Tismer2021-07-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This proposal was discussed. It was also tested with Nuitka and cx_freeze. [ChangeLog][shiboken6] Python support files are now always embedded. There is no longer a physical copy installed in the FS. Reasoning is: We always had the signature module in real Python files and also as an embedded ZIP file. With the solution to PYSIDE-1621 we suddenly had a way to avoid accessing the file system completely. The remaining question is: Why should we keep the files in the installation at all? Long time ago, it was said that the source files were needed to see tracebacks. But tracebacks are visible the same way, regardless if the files exist as physical files or only in memory. The error messages will be as verbose as always. Personally, I see it more as a drawback, because parts of our application become vulnerable by external manipulation. By the complete virtualization, the system is as self-contained as a binary executable. Task-number: PYSIDE-1621 Change-Id: I821545fb5d52465b69bb2c172bdfb43894ac2109 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6: Use constData() in snippets where applicableFriedemann Kleint2021-07-273-5/+5
| | | | | | Pick-to: 6.1 Change-Id: Iafa3a7f4e0a81733c5a99a907e808391270ce8c6 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Refactor snippet helper retrieveObjectName()Friedemann Kleint2021-07-272-13/+26
| | | | | | | | | There were 2 versions of the helper, one returning QString and the other QByteArray. Use the QByteArray version to save conversions. Pick-to: 6.1 Change-Id: Ibd0038f016c13535018dd4624db29cc4c0ddc824 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Fix crash with qmlRegisterSingletonType() when invoked from JavaScriptFriedemann Kleint2021-07-271-0/+2
| | | | | | | | | | | | Acquire the GIL in the callback to ensure Python is ready. Amends 0864de0b26888a795808faa234d9717066e821b5. Pick-to: 6.1 Fixes: PYSIDE-1629 Task-number: PYSIDE-574 Change-Id: Ie6524b39c12f1f27c427e8423dfd2190a48c1353 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* PySide: fix QItemSelection.__add__, supplementChristian Tismer2021-07-271-2/+1
| | | | | | | | | The removal of the range was not necessary and created a warning. Task-number: PYSIDE-535 Pick-to: 6.1 Change-Id: I07e87e544c13e58e6369b81bbecce43da37b0a86 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Fix warning about misplaced pyi-type attributeFriedemann Kleint2021-07-211-2/+2
| | | | | | | | | | | It belongs to <modify-argument>. Fixes warning: sources/pyside6/PySide6/QtCore/typesystem_core_common.xml:925:82: Warning: 1 attributes(s) unused on <replace-type>: pyi-type="Optional[PyPathLike]" Amends bace73605d2e0483c6f8990452e701efdf4d5675. Change-Id: I436d86fdf8628511ddf5bbeb54b1d8cc805908d8 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Handle QMultiMap/QMultiHash with several values per keyFriedemann Kleint2021-07-212-2/+72
| | | | | | | | | | | | | There are occurrences of QMultiMap in QtConnectivity and QtNetworkAuth. QMultiMap has no equivalent in Python, lists should be used for the values. Add converters for QMultiMap/QMultiHash. [ChangeLog][PySide6] QMultiMap and QMultiHash are now converted to a dict of key/list of values (corresponding to defaultdict). Change-Id: I98ddb2479e3434f1ca1cc33a41519e73ce4fb805 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* signature: update and make embedding awareChristian Tismer2021-07-211-0/+2
| | | | | | | | | | | | | | | | | | | | The signature scripts needed an update to make them work even when no source files are available. * Access to the license text should avoid source files * Some loader simplifications are possible since Python 2 is gone * The import list for PySide is incomplete * Enforce embedding in COIN mode for better testing This is a preparational step before the zip file access becomes totally virtual. Change-Id: I85e750bb718855f140edac6de34955adbd7843bc Pick-to: 5.15 Pick-to: 6.1 Task-number: PYSIDE-1621 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pathlib: fix empty constructors in conversionCristián Maureira-Fredes2021-07-201-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | In some classes, like QDir, there is a default value for constructors that accept a QString: QDir(const QString &path = QString()) However this case was not considered in Python land when nothing is passed. Considering other classes might have a similar situation, we fix this at the level of the conversion and not per Qt class. To reproduce this issue, a simple: from PySide6.QtCore import QDir a = QDir() will segfault. Added a simple test case, and instructions to make the parameter optional (pyi). Task-number: PYSIDE-1499 Change-Id: I42156b87ca0aa60466c743a8cc8b42ea5eeb3559 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6: Fix QMenu.exec_()Friedemann Kleint2021-07-201-2/+2
| | | | | | | | | | | The return type conversion was broken. Amends 62acb997f7fce1ae922e3a9995272c78353048b9. Pick-to: 6.1 Fixes: PYSIDE-1625 Change-Id: Ib83c363bee4a3c3de4008fdbf6e175093ef3a872 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide: fix QItemSelection default and QItemSelection.__add__Christian Tismer2021-07-202-0/+15
| | | | | | | | | | | | | | | | | | | | | | QItemSelection with no argument should create an empty selector. This worked in Qt5. In Qt6, everything works but the empty argument. Without further analysis, this might be related to the new [default] tag found in the Qt6 QItemSelection documentation? Fixing this bug leads directly to the add operator, which returns a list instead of a combined QItemSelection. Fixed by removing `operator+(list<QItemSelectionRange>)` and re-adding it with QItemSelection Unrelated, occurred during bug hunting. Task-number: PYSIDE-535 Change-Id: Ie5b881659e54fc0eebc8c9903df6e14eb2788565 Pick-to: 6.1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6/QtWebEngine: Adapt to changes in findText() APIsFriedemann Kleint2021-07-203-2/+5
| | | | | | | Adapt to qtwebengine/56b1f53d9b2927f5ba2a73f85cee59e385bf489d. Change-Id: I977c4807ae568934b8c8d35647ea131c2f3b511b Reviewed-by: Christian Tismer <tismer@stackless.com>