aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix Qt Quick Control2 example to workv6.2.06.2.0Friedemann Kleint2021-09-291-2/+2
| | | | | | | | | Use QUrl.fromLocalFile() for the QML file. Change-Id: I9433e3ae5c26e9db24d2b8ee4984e948fefa9aef Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 2e291350fd6294912bf29680a76819400ad693b7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update the online CSS to scale the iconsVenugopal Shivashankar2021-09-291-1/+2
| | | | | | | | | The scaled icons look better. Change-Id: I66b95372787f3b78a1d4cb2e6bc0f7a2f48b0908 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit fb58c474ec579d819048fd8b29f8d20b3382255d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update virtualenv versionSimo Fält2021-09-292-2/+2
| | | | | | | | | | Old version was giving "ModuleNotFoundError: No module named 'virtualenv.activation.nushell' error. Change-Id: I2ff72b570fd8aeaf542b786934e545c8a0283fae Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit aa1461724164eb0d9162b0dc4f3418f7e0b26300) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Python 3.10: add wheel identifierCristián Maureira-Fredes2021-09-282-2/+2
| | | | | | | Change-Id: I97b323d5055c30f782f62b85e734eb9f0e33f7b3 Reviewed-by: Simo Fält <simo.falt@qt.io> (cherry picked from commit 2fb82b5cd3ee1db9234e038759bd0e3cda9ca40b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Documentation: Fix qtpositioning path for buildCristián Maureira-Fredes2021-09-281-2/+2
| | | | | | | Change-Id: Ia9f93a9d9cb6d31da3bf5a73a62a47a414b5f4c8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit c6684ec87aa2bf5f6416cae9776ba3f0dad45d3c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Pin Q5#6.2.0 sha1 for releaseSimo Fält2021-09-281-1/+1
| | | | | Change-Id: I820f82974fdfbe00c3202d3cf16e3755530ff3f4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Cleanup version strings for 6.2.0 releaseSimo Fält2021-09-282-4/+4
| | | | | Change-Id: I16d88c61d24f969f56cde809d83344c38ceac495 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add changelog 6.2.0Cristián Maureira-Fredes2021-09-271-0/+222
| | | | | | | Change-Id: I7b10d52e05d10d4c1c40faeffe901641b976ca5a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 6abe3188a1aeb5eaff79a77b7eb39abc99b3aab8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Bump version stringsSimo Fält2021-09-272-2/+2
| | | | | Change-Id: Id8ba553cc8c46f4761729b3d712a36d657ebb2de Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* doc: fix warnings from rst filesCristián Maureira-Fredes2021-09-277-6/+6
| | | | | Change-Id: I97166f7e89c0365f425d1f8b0b840b7ef066d0d7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* doc: fix missing image in why qt for pythonCristián Maureira-Fredes2021-09-271-0/+3
| | | | | Change-Id: I001f8e1ed3c40e4be8eebebe6a44a1c0c9c869a9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Document the usage of NuitkaChristian Tismer2021-09-242-0/+142
| | | | | | | | | This documentation is adapted from the document deployment-pyinstaller.rst . Task-number: PYSIDE-1523 Change-Id: I2f42d596ea1073158ff8c198ed01a5816c745d58 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: TypeEntry: Use a pointer to the target lang API type entryFriedemann Kleint2021-09-247-37/+88
| | | | | | | | | | | | | Replace the string m_targetLangApiName by a pointer to the type entry; allowing to retrieve the check function. Similarly, in TargetToNativeConversion::sourceTypeCheck(), use the existing type entry to retrieve the check function, allowing for removing some heuristics. Task-number: PYSIDE-1660 Change-Id: Ieeda43f804b4e129d3cc0984e36bd0c0d546fd86 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Add built-in CPython typesFriedemann Kleint2021-09-248-21/+134
| | | | | | | | | | | | | | 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-2430-17/+935
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* shiboken6: Rewrite conversionsFriedemann Kleint2021-09-245-20/+98
| | | | | | | | | | | | | | | | | | | | | Currently, the isPythonToCpp(Value/Reference/Pointer)Convertible functions used by the overload decisor return a function pointer. In the case of isPythonToCppReferenceConvertible, this can be either a pointer conversion taking a Foo** or a value conversion taking a Foo*. The function isImplicitConversion(SbkObjectType *, PythonToCppFunc) is called further down in the generated code to check whether it is a value or a pointer. In order to get rid of this, introduce a new version of the checking function that returns a struct that has the function and knows its type. Add an overload of isPythonToCppReferenceConvertible() taking a SbkConverter for the upcoming opaque containers. Task-number: PYSIDE-1605 Change-Id: I49f70b85d01500d95208f0f2dd290bf23cb80eff Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Improve message for a mismatched global functionFriedemann Kleint2021-09-243-4/+27
| | | | | | | | Output a list of candidates with matching name in case some type was misspelt. Change-Id: Ie763a912d02907d562f3feeb2eba44e811d80118 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Fix an impossible reference to type_newChristian Tismer2021-09-232-1/+7
| | | | | | | | | | | | | | | | | | [ChangeLog][shiboken6] It is now possible to derive classes from enum types like `QtCore.Key` in earlier Python versions. In SbkEnumTypeTpNew the reference to `PyType_Type.tp_new` was made through `PyType_GetSlot` in a Limited API compatible way. Unfortunately, `PyType_GetSlot` works for non-heaptypes in Python 3.10, only, and `PyType_Type is not a heaptype. This was found while creating a minimum example to prove that the PyPy implementation of type_new is not correct. Task-number: PYSIDE-535 Change-Id: Ibe300f4670d9db6d29fbdeb1d147e1a074ec23c6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken6: Improve typesystem debug outputFriedemann Kleint2021-09-222-1/+22
| | | | | | | | | | | Add some debug output for PrimitiveTypeEntry and indicate built-in types. As a drive-by, add explamatory comment. Task-number: PYSIDE-1660 Change-Id: I870b7f3c2d344a6a3944ea8ac7ccb0d864cbe294 Reviewed-by: Christian Tismer <tismer@stackless.com>
* tutorials: update datavisualization and expensesCristián Maureira-Fredes2021-09-2228-78/+141
| | | | | | | | | | | | | | | These tutorials were removed due to QtCharts not being available, additionally due to the QtCharts namespace changes the code needed to be adjusted. Adding panels for the tutorials to display as cards instead of a list, and creating a new section called 'General Applications'. Task-number: PYSIDE-841 Change-Id: I18fbce3fd48ed35013bcc82013ffc6e06f005b03 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken6: Refactor PrimitiveTypeEntry::basicReferencedTypeEntry()Friedemann Kleint2021-09-228-79/+59
| | | | | | | | | | | | | | | | | Change it to always return "this" or the referenced type and add another getter referencesType() to check whether it actually references another entry. Also add another convenience function TypeEntry::asPrimitive(). This saves a lot of if's. Also remove ShibokenGenerator::pythonPrimitiveTypeName(PrimitiveTypeEntry *). Task-number: PYSIDE-1660 Change-Id: I7b3c2f32e67d64176bf0b9f11a2c4dea2d6273ba Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* examples: add QAbstractListModel/QMLJimmy Girardet2021-09-217-0/+521
| | | | | | | | | | | Interactive example to add, remove and move elements inside a ListView (QML) from a QAbstractListModel (Python). A screenshot is included. Task-number: PYSIDE-841 Change-Id: I1c4d7868860c7482930fbb729cb4c2b503c01d88 Reviewed-by: Christian Tismer <tismer@stackless.com>
* examples: Add QtDataVisualization SurfaceCristian Maureira-Fredes2021-09-216-0/+520
| | | | | | Task-number: PYSIDE-841 Change-Id: Ia98aab49cff5fb86078b547a99b33a4a0bf8790e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* examples: Add OpenGL under Qml exampleCristian Maureira-Fredes2021-09-217-0/+424
| | | | | | | | | This is example is based on the Qt's scene graph example that uses and OpenGL animation inside Qml code. Fixes: PYSIDE-1034 Change-Id: I012818d81d757571a711fcea68df51fa566ae5f9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@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>
* shiboken6: Fix an invalid static_castFriedemann Kleint2021-09-211-4/+5
| | | | | | | | | | The argument type is not necessarily a PrimitiveTypeEntry. Task-number: PYSIDE-1660 Pick-to: 6.1 5.15 Change-Id: I312f20e24cfe888d10c218db596d29c3ab318bd6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* 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>
* PySide6: Add the markdowneditor exampleFriedemann Kleint2021-09-2116-0/+3325
| | | | | | | Task-number: PYSIDE-1663 Task-number: PYSIDE-841 Change-Id: I921008a51c074ee01a937df309573067f2272f16 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* 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>
* Fix Qt Quick painteditem example to run from a different directoryFriedemann Kleint2021-09-171-2/+4
| | | | | | | | Use the Path mechanism to resolve the QML file. Task-number: PYSIDE-1662 Change-Id: I2d6cce02063fab6746d2cdbc7c8c8701fad7e937 Reviewed-by: Christian Tismer <tismer@stackless.com>
* doc: update qml tutorialsCristián Maureira-Fredes2021-09-178-69/+102
| | | | | | | | | | | | - Add screenshot and updates to the 'first qml application' - Update 'context properties' for 'python-qml interaction' tutorial - Remove the 'Real use-cases' subsection - Update the snippets from QML application tutorial - Update the QML SQL integration tutorial Change-Id: I9c6a1bedb66b130e9c28d340b236e778f7c109b8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Add support for built-in typesFriedemann Kleint2021-09-178-3/+67
| | | | | | | | | Add a built-in flag to TypeEntry and fix the duplicate type entry checking logic to handle built-in types with a different warning. Task-number: PYSIDE-1660 Change-Id: I22b0fc92b0f19b4163a4311441638176ff6a4bfb Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix Qt Quick painteditem example to workFriedemann Kleint2021-09-172-2/+2
| | | | | | | | | | | | | | | - Fix the rightAligned property setter to have the same name as the getter - Fix the anchor property of the delegate Fixes warnings examples/quick/painteditem/main.qml:102:TypeError: 'NoneType' object is not callable examples/quick/painteditem/main.qml:65: TypeError: Cannot read property 'right' of null Pick-to: 6.1 Fixes: PYSIDE-1662 Change-Id: Iebd7a9632954fcc2b48e8a56f6e1c20d62b34468 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Streamline the check function helpersFriedemann Kleint2021-09-173-5/+21
| | | | | | | | | Move the check for a check function specified in the type system from guessCPythonCheckFunction() to the calling functions. Task-number: PYSIDE-1660 Change-Id: I6d4eb30cfd98abe0aef5e49b1a54b5324b81bf7c Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Remove unused parameter from the check function helpersFriedemann Kleint2021-09-172-8/+7
| | | | | | | | bool genericNumberType appears to be unused. Task-number: PYSIDE-1660 Change-Id: Icc3f51fb3776199756328234de026bd289dc6f04 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Fix some code related to removed argumentsFriedemann Kleint2021-09-162-8/+2
| | | | | | | | Remove an unused variable and fix an overflow. Task-number: PYSIDE-1660 Change-Id: I951da3c647f45bda0e905f5621f3a53843487567 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Adapt documentation to the removal of SbkObjectTypeFriedemann Kleint2021-09-161-11/+2
| | | | | | | | Complements a4311711eb89e3f9833a05edf3debdf7563a104f. Task-number: PYSIDE-535 Change-Id: I88f4de71aa22b378ef82e71121bec13814af9cc8 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Simplify CppGenerator::getArgumentType()Friedemann Kleint2021-09-152-38/+16
| | | | | | | | | | | | | | | | The function took an argument position where a value of 0 means return type. The return type code branch was not used; it is only ever invoked for arguments. Remove the return type code path and change the function to take the argument index. Failing to build a meta type for an argument is a hard failure; change the function to return the meta type and to throw on failure. Task-number: PYSIDE-1660 Change-Id: I0dd89ecde595c71b42df7464d03204bafe74d17c Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* shiboken6: Fix potential invalid memory readFriedemann Kleint2021-09-151-5/+4
| | | | | | | | | | | Do not store a reference to the (cached) function modifications in CppGenerator::writeVirtualMethodNative() as nested method calls may invalidate it. Pick-to: 6.1 Change-Id: Iac6b0f27649935c875603c6fff10a80d98824714 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Document QUiLoader restriction wrt signal/slot connectionsFriedemann Kleint2021-09-151-0/+7
| | | | | | | Fixes: PYSIDE-1659 Pick-to: 6.1 5.15 Change-Id: I9025e8454d7153faec8b49f0ae02bf175dae3fd8 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Fix function number in OverloadData graphFriedemann Kleint2021-09-151-3/+8
| | | | | | | | | | The function number refers to the root node. Amends 47885c3c9d1ca4eb13daf79a0f6c73c8fce350cc. Task-number: PYSIDE-1660 Task-number: PYSIDE-1653 Change-Id: I091872784f23ffc718205d9b8d4219f1505bf587 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Add a dot viewFriedemann Kleint2021-09-156-1/+153
| | | | | | | | | | shiboken uses directed graphs in a few places (class dependencies, overload order). Add a helper function to show the graphs for debugging purposes. Task-number: PYSIDE-1660 Change-Id: Ie760954ddf8cb7aa31db2c79854063159658ed4b Reviewed-by: Christian Tismer <tismer@stackless.com>
* PyPySide: Encapsulate type generation to be PyPy compatibleChristian Tismer2021-09-1510-83/+212
| | | | | | | | | | | | | | | | | | Type generation in PyPy is critical. When type creation calls PyType_Ready, PyPy freezes the current state of the type object. That has fatal effects, because with the Limited API, we need to patch some types a little _after_ creation. The functionality of this patch is still the same, but type creation is totally encapsulated, and we can do a different implementation for PyPy. [ChangeLog][PySide6] PyPySide: Type creation was completely encapsulated. The implementation can now be rewritten for PyPy. Task-number: PYSIDE-535 Change-Id: Iae0cadb15b631344ae76cea8c104d4b69941c2b0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken6: Fix wrong argument indexesFriedemann Kleint2021-09-152-22/+17
| | | | | | | | | | | | | AbstractMetaArgument::argumentIndex() was not updated in a few places when modifying function argument lists in the metabuilder. Extract a helper function to do that. Replace AbstractMetaBuilderPrivate::reverseList() in favor of std::reverse. Task-number: PYSIDE-1660 Change-Id: I585d29052e48c5d5cbe4b839cb8bd1eb7904244c Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Move AbstractMetaType factory functions into AbstractMetaTypeFriedemann Kleint2021-09-155-87/+83
| | | | | | | | They do not really belong to the generator. Task-number: PYSIDE-1660 Change-Id: I550643bb00cbb1af937f45de5a4820c883259802 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix build for non-limited APIFriedemann Kleint2021-09-142-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | e55c87131a66e1cd11b13663b66582412cd38788 broke the build for the non-limited API due to removing a C-style cast from a code snippet: %0 = PyBytes_GET_SIZE((PyObject *)%PYARG_0); in the overridden method of a C++ wrapper class. PyBytes_GET_SIZE(op) is defined to use PyVarObject*)(op)), which does not work when passing an AutoDecRef instance which is used for pyResult in that case. To fix this, make the placeholder a smarter; append .object() unless the code snippet invokes a member function itself. [ChangeLog][shiboken6] The replacement of %PYARG_0 in C++ wrapper classes (native) has been improved and no longer requires adding casts to PyObject *. Change-Id: Ia31b28d568603f96c93e564e5ef7554cb2468b04 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove some C-style castsFriedemann Kleint2021-09-138-16/+18
| | | | | Change-Id: Ib600eff6f4a2baa32dbda781c0c95286e9ba5c58 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Shiboken: Change type(SbkType_FromSpec) to PyType_ObjectChristian Tismer2021-09-1312-52/+28
| | | | | | | | | | | | 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>