aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* pytest: Fix a small glitch in _mod_uses_pyside: revisitedChristian Tismer2025-03-271-5/+2
| | | | | | | | | | | | | | | | | | | | This was a regression concerning feature.py where a problem in _mod_uses_pyside led to an all Exception case. This had the bad effect that an infinite recursion in Python 3.13 was never seen until this was discovered my Bernhard Dietermayr. The handling of the feature import has recently been greatly improved so that recursion is no longer possible. Unfortunately, the Pytest problem could not be reproduced, but this catch-all exception must be removed urgently. Task-number: PYSIDE-2393 Task-number: PYSIDE-3054 Change-Id: I0fb42752dacd882b313ceacf7d591cd9c8ce16a6 Pick-to: 6.8 6.9 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* type hints: Add optional to QTreeWidget.setItemWidgetEce Cinucen2025-03-271-1/+1
| | | | | | | | Fixes: PYSIDE-3057 Pick-to: 6.8 6.9 Change-Id: Iceced6c84fbfabfb484663a71ccdf13c2f69ab0a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Desktop Deployment: Upgrade Nuitka to 2.6.8Shyamnath Premnadh2025-03-273-4/+4
| | | | | | | | | | - There were some updates with respect to PySide6 support - See changelog here: https://nuitka.net/changelog/Changelog.html#nuitka-release-2-6 Pick-to: 6.8 6.9 Task-number: PYSIDE-1612 Change-Id: If091184a2661f81d3d57342ba48edc35e748fc70 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* type hints: Add optional to QProgressDialog.setCancelButtonEce Cinucen2025-03-271-1/+1
| | | | | | | Fixes: PYSIDE-3050 Pick-to: 6.8 6.9 Change-Id: Ic200e75717518b2363e0aca6fe4cfc31e5fe6256 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* type hints: Add optional to QTabBar.setTabButtonEce Cinucen2025-03-271-0/+5
| | | | | | | | Fixes: PYSIDE-3055 Pick-to: 6.8 6.9 Change-Id: I5b3ee124b57643991afcb70cd9293f0cd30ff83d Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6: Port to Qt include styleFriedemann Kleint2025-03-2739-97/+96
| | | | | | | | | Replace the Qt forwarding headers by the .h files. This brings down the dependency list by approx 6%. Pick-to: 6.9 Change-Id: Iae7640ccbdf6a8be68137922d4191522d914d790 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Port to Qt include styleFriedemann Kleint2025-03-27209-461/+494
| | | | | | | | | Replace the Qt forwarding headers by the .h files. This brings down the dependency list by approx 6%. Pick-to: 6.9 Change-Id: Iaa57400fd20600b940119a6016041b885a68d207 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Rename cacheSize() to wrapperCount() for clarityFriedemann Kleint2025-03-272-11/+11
| | | | | | Pick-to: 6.9 6.8 Change-Id: I85820ef691ad8e08ccbb1d7a4c3dea6d3f364c1a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Doc: Fix encoding error building base docsJaime Resano2025-03-261-1/+1
| | | | | | | | | | | | Please check the JIRA ticket for the description and crash report. I guess that this issue can be easily fixed by explicitly setting the encoding to utf-8 when opening a doc file. Fixes: PYSIDE-3063 Pick-to: 6.9 6.8 Change-Id: I80f7505947c73badb21d4d04fae2928aa2f3e4ea Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix includes of libshibokenFriedemann Kleint2025-03-2624-46/+83
| | | | | | | | | Remove the global header <shiboken.h> in favor of the respective headers. Pick-to: 6.9 Change-Id: I08ee39fbd5abb15741fa5746bb82f9ddcd32ed7f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Add support for std::chrono::secondsFriedemann Kleint2025-03-263-4/+18
| | | | | | | | | | | Introduced by qtnetworkauth/58c92af6e870fde2718a2aa9a6631a9c7ab40fad. Complements 2c3c5c0db5f1dbaafd23befc07633382b86e890d. Task-number: QTBUG-124332 Task-number: PYSIDE-2862 Pick-to: 6.9 Change-Id: I9857e2ee5cabde02469f8c3a32d8a12ba05971a3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libshiboken/Override handling: Retrieve wrapper correctly in case of ↵Friedemann Kleint2025-03-265-23/+25
| | | | | | | | | | | | | | | | | | colocated objects Move the finding of the wrapper with checks from BindingManager::getOverride() to Sbk_GetPyOverride() and use a type object. BindingManager::getOverride() can then be made static. As a drive-by, pass the bool cache member by reference. Complements 0b153865577c688ddf8adf1e2341cf80ab945109 , 6f558a0a515a332bd3f53f0a2481b4b64cd03b13 Task-number: PYSIDE-2854 Task-number: PYSIDE-2701 Pick-to: 6.9 Change-Id: I1fb97620c8e7f52d34339f3019cbfa501b825942 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* type hints: Correct type signature for qtTrIdEce Cinucen2025-03-261-0/+1
| | | | | | | | Fixes: PYSIDE-3056 Pick-to: 6.8 6.9 Change-Id: I811d00a58a7a60baf365d03d4ce5fb62c05a2409 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* type hints: Fix the return value for QTreeWidget.topLevelItem and ↵Ece Cinucen2025-03-261-0/+2
| | | | | | | | | | | QTreeWidget.takeTopLevelItem Return value None added by modifying the return value as Optional[PySide6.QtWidgets.QTreeWidgetItem] Pick-to: 6.8 6.9 Fixes: PYSIDE-3058 Change-Id: I4c4a045b1e00be9989f81680796305e004f75a1d Reviewed-by: Christian Tismer <tismer@stackless.com>
* Android: Upgrade Android NDK to r27cShyamnath Premnadh2025-03-263-4/+8
| | | | | | | | | | | | - Upgrade Android NDK to r27c, similar to Qt base. - Api level 35 is the new default. - Remove the option mpopcnt for QT_COMPILER_FLAGS for arm64, because this option does not apply to arm64 and errors with api-level of 35. Pick-to: 6.8 6.8.3 6.9 Task-number: PYSIDE-1612 Change-Id: Icf8f2853ba23fd7d4c83c275947efbee0a54198d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* type hints: Fix the type parameter in findChild and findChildrenChristian Tismer2025-03-262-7/+17
| | | | | | | | | | | | The PlaceholderType is needed to make the type parameter concrete. This led to further generalization of the supported constructs in the XML specs. Change-Id: Ic5ae4416a187f7f8527c86349f731e1b4e36b964 Fixes: PYSIDE-3045 Pick-to: 6.8 6.9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
* Fix qlocale_test.py to pass after QLocale changeFriedemann Kleint2025-03-241-1/+1
| | | | | | | | | | | Floating point output now uses lower case after qtbase/05c8a48612be38a3c50bb5ed9daf1adfc221b9f2. Task-number: QTBUG-134785 Task-number: QTBUG-134768 Pick-to: 6.9 6.8 6.5 Change-Id: If6c6463b3828374a2399f6bd9d26cafebc6edaf1 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* feature: Fix regression when PySide is imported with trace setChristian Tismer2025-03-241-4/+14
| | | | | | | | | | | | | | | | | | The feature switching redirects imports in order to support the "from __feature__ import" construct. When no feature is involved, the original function and some post processing is called. When settrace is used before the Shiboken import, we see infinite recursion in Python 3.13. An optimization in updatecache now calls import itself, which then runs the feature machinery recursively. Instead of only calling the original import, temporarily switch the whole import redirection back to the original. Change-Id: Ie3c2e24467ca456b0e731db2696a0b2ab80c6174 Fixes: PYSIDE-3054 Pick-to: 6.9 6.8 6.8.3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix QtRemoteObjects tests to pass for non-unity buildsFriedemann Kleint2025-03-203-6/+7
| | | | | | | | | | | | | pysidedynamiccommon_p.h declared a static variable that is instantiated in each compilation unit in a non-unity build. Move it out of the header. Amends 19abd816e73bebdd489408d0a3b7676822bff39c. Pick-to: 6.9 Task-number: PYSIDE-862 Change-Id: I8f3ef392c50c8e2f443f1eb027bb7c54ee1c7975 Reviewed-by: Brett Stottlemyer <brett.stottlemyer@gmail.com>
* Move helper function isCompiledMethod() to libshibokenFriedemann Kleint2025-03-208-10/+23
| | | | | | | Pick-to: 6.9 Task-number: PYSIDE-2916 Change-Id: I6e72977bfcf95c3c28cc160e07febb84220fa505 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* pyi_generator.py: Add missing importFriedemann Kleint2025-03-201-0/+1
| | | | | | | Fixes: PYSIDE-3053 Pick-to: 6.9 6.8 Change-Id: Ib442cdd0f3793323eb8e16fd2a48c46699a36d71 Reviewed-by: Christian Tismer <tismer@stackless.com>
* type hints: Fix an old typo in typesystem_core_common.xmlChristian Tismer2025-03-194-16/+20
| | | | | | | | | | | | | | | | | | | Instead of typing.Iterable, typing.List must be used in the return type of QtCore.findchildren. As a drive-by, the name "PlaceholderType" was corrected because "placeholder" is only one word. The new calculation of Optional replacement was also fixed to handle return types. Note: The Optional[PlaholderType] is special, and typing refuses to use "|" here. Change-Id: I9f7d89027496f3cae58710595d7bcaafb0e51915 Fixes: PYSIDE-3045 Pick-to: 6.8 6.9 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Type system: Add missing "const" to some signaturesFriedemann Kleint2025-03-192-8/+8
| | | | | | | | This is matched by a fallback mechanism at the moment. Pick-to: 6.9 6.8 Change-Id: I9247fc512eb26007a88172d9c2a66b10e916d423 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Improve messages about unmatched function modificationsFriedemann Kleint2025-03-193-42/+74
| | | | | | | | | | | | | | Extract a check function for the modification checks. Improve the message formatting and skip added/declared functions. Add a message about const-mismatches. [ChangeLog][shiboken6] "const" is now also matched for function modifications for all signatures. Warnings will be emitted when it is missing. Pick-to: 6.9 Change-Id: I2c2c7a4004ce91a0d432e24fafeb4a119bc0948f Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Match "const" for unresolved signatures with legacy handlingFriedemann Kleint2025-03-193-27/+45
| | | | | | | | | | | | | | | | | | Change 50d0c3c94ff66c104de269f09c08109eb9d0eb3a enabled specifying unresolved signatures for function modifications, but the helper function did not consider "const". This caused rejection and modification signatures with trailing "const" to not match. To fix this while keeping the legacy behavior, change AbstractMetaFunction::unresolvedSignature() to use a string list and add a const signature besides the non-const one. On this occasion, also use the raw signatures before QMetaObject::normalizedSignature() for modification matching. Pick-to: 6.9 Change-Id: I99f9d99a4378ef6e63b94fc8fc52e9211f9a6853 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Introduce convenience API AbstractMetaType::basicPrimitiveName()Friedemann Kleint2025-03-197-19/+21
| | | | | | | | It removes the need to resolve it via TypeEntry. Pick-to: 6.9 Change-Id: I20230078a8d87d4be3af21127fac111c5c04eec9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* libpysideremoteobjects: Fix build with 6.10Friedemann Kleint2025-03-191-1/+1
| | | | | | | | | | | Amends 19abd816e73bebdd489408d0a3b7676822bff39c. Task-number: PYSIDE-862 Task-number: PYSIDE-3011 Task-number: QTBUG-87776 Pick-to: 6.9 Change-Id: Iba8afb9f963c34ef5bdfef4168cabcb82bf9dd3b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* type hints: Make str Optional in QLineEdit.setTextCristián Maureira-Fredes2025-03-191-0/+3
| | | | | | | Change-Id: I0565751f0189fea3e59cea7aa953d205527dd8b2 Pick-to: 6.8 Fixes: PYSIDE-3041 Reviewed-by: Christian Tismer <tismer@stackless.com>
* MetaObjectBuilder: Export the class symbolShyamnath Premnadh2025-03-191-2/+2
| | | | | | | | | - This enables the class to be used in libpysideqml to support the `AutoQmlBridge` function. Task-number: QTBUG-134668 Change-Id: I9c639c76ce23117dc259a811a7c4257fc79179a7 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Use new API for the wrapper multimap in the generated codeFriedemann Kleint2025-03-195-74/+47
| | | | | | | | This allows for removing a lot of complicated checking code. Task-number: PYSIDE-2854 Change-Id: Ib2334437cf23862b7ca527b667525ef750ea8801 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* libshiboken: Change wrapper map to be a multimap to allow for colocated objectsFriedemann Kleint2025-03-192-12/+61
| | | | | | | | | | | | | | In the case of objects that have the same address in C++ (which happens for example for the first field of a struct or unions), entries in the wrapper map would overwrite each other, which requires complicated handling in libshiboken and the generated code. Change the wrapper map to be a multimap and add functions searching by type and instance. This also makes addding support for C++ unions (like QQuickItem::ItemChangeData) easier. Task-number: PYSIDE-2854 Change-Id: If8fb5ee43d3285fd25e471ce8c9a3e6ae37ae311 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Enable using the _TypeF() function from the virtual wrapperFriedemann Kleint2025-03-195-8/+21
| | | | | | | | Move it to the top of the generated wrapper source. Task-number: PYSIDE-2854 Change-Id: Id8fb6312199c48235a11d5ab683cbf4ebd835ace Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* PySide6: Add qmllint plugins to wheelsShyamnath Premnadh2025-03-181-0/+5
| | | | | | | | | | - Currently, these plugins only have quicklintplugin which provides QtQuick specialized warnings when QtQuick is run. Fixes: PYSIDE-3049 Pick-to: 6.8 6.9 Change-Id: Ieea5e57f3f0a990484daa144ed66de8178a92c5f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment Test: Remove modules for windows win_arm64Shyamnath Premnadh2025-03-151-0/+14
| | | | | | | Pick-to: 6.8 Task-number: PYSIDE-1612 Change-Id: Iac8406d6e49c83c8f5aa1be757cf4c7fbfcf01bc Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add changelog 6.9.0Friedemann Kleint2025-03-151-0/+98
| | | | | | Task-number: PYSIDE-2862 Change-Id: I34df057c40f0b655e31a30ffd8b5c6290dc466af Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* CI: Enable Windows on Arm configSimo Fält2025-03-158-13/+58
| | | | | Change-Id: I66aa36d69b41afb86a6278304a231b97eabc5270 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* type hints: add explicit optional to setItemWidgetCristián Maureira-Fredes2025-03-141-1/+1
| | | | | | | | Change-Id: I9d14b23d9fe2e084ffdacd66560c84c8c0d54764 Fixes: PYSIDE-3042 Pick-to: 6.8 Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* type hints: remove QModelIndex.constInternalPointerCristián Maureira-Fredes2025-03-141-0/+2
| | | | | | | Change-Id: I204fe9a3716de359a5d75629c6757d2045e78f43 Fixes: PYSIDE-3036 Pick-to: 6.8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Log the command line arguments into mjb_shiboken.logFriedemann Kleint2025-03-143-2/+19
| | | | | | | Complements 91d0ec1e864c5c657e351c32af1f8d78a26c543d. Change-Id: I7f86d6723680b582011549d7fb30b6d17c6a10f4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6/Documentation: Fix warnings about non-existing class reference filesFriedemann Kleint2025-03-141-8/+13
| | | | | | | | | | | | Only add top level classes to the file list, unless the module uses flat documentation mode. Amends a8b0954cae4b4322ee8a206875f942977174b826. Pick-to: 6.8 Task-number: PYSIDE-1106 Change-Id: I0d89980f896177b7d5ce162c32067eb38a52401b Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* tests: Fix warning about QBackingStore::flush() being called without handleFriedemann Kleint2025-03-143-17/+21
| | | | | | | | | | | Call qApp->quit() delayed from the paint event. This fixes crashes on macOS and warnings: QBackingStore::flush() called for QWidgetWindow(0x600003a22460, name="MyWidgetClassWindow") which does not have a handle. Pick-to: 6.8 Change-Id: I2e5d8aa1cfc36c4c247f681b4219f52c1a618737 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Install libclang for Windows arm configSimo Fält2025-03-142-0/+35
| | | | | | | | There is only static libs provisioned on VM and it seems that we can't build shiboken6 with those. Change-Id: I04fd633405cda0c11efab5d1f2cbd532a0f2b3c9 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build: reflect licenses in the wheel descriptionCristián Maureira-Fredes2025-03-135-6/+8
| | | | | | | | | | | | | | | | Qt is released under LGPLv3 or GPLv2 or GPLv3 and PySide as well, but for the simplicity of writing the description in the README and package description, LGPL/GPL or LGPLv3 has been written, which has caused confusion when dealing with GPL-only dependencies. To avoid this problem, we now reflect the licenses that has been in the repository and each file in the package description (PEP 639). Change-Id: I1e24c39ac415e635f5c44b57ccac0175e13b3736 Pick-to: 6.8 6.5 6.2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Make Remote Objects usable beyond ModelsBrett Stottlemyer2025-03-1331-5/+3337
| | | | | | | | | | | | While present, the Qt Remote Objects bindings to Python have not been very useful. The only usable components were those based on QAbstractItemModel, due to the lack of a way to interpret .rep files from Python. This addresses that limitation. Fixes: PYSIDE-862 Change-Id: Ice57c0c64f11c3c7e74d50ce3c48617bd9b422a3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Brett Stottlemyer <brett.stottlemyer@gmail.com>
* type hints: Correct type signature for QObject.inherits()Ece Cinucen2025-03-131-0/+1
| | | | | | | Pick-to: 6.8 Fixes: PYSIDE-3046 Change-Id: I0b33149fba73c41552fc9b4b131ba7b5ade302ec Reviewed-by: Christian Tismer <tismer@stackless.com>
* pyproject.toml: 4. Update pyside6-project documentationJaime Resano2025-03-123-26/+115
| | | | | | | | | | This patch modifies the existing pyside6-project documentation to include the new pyproject.toml file format. The .pyproject file format is announced as deprecated. Task-number: PYSIDE-2714 Change-Id: I1efd715babd3f288532b2bbc9d36897fcfc2e2a2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pyproject.toml: 3. Add pyside6-project tests for pyproject.toml changesJaime Resano2025-03-1226-56/+525
| | | | | | | | | | | | This patch adds tests for the pyside6-project CLI tool to validate the pyproject.toml changes. The tests ensure that the existing behavior is preserved and that the new features work as expected. Task-number: PYSIDE-2714 Change-Id: I096188c1d6d931a3970787f2906b83d2a987f4ed Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pyproject.toml: 2. Add pyproject.toml support for pyside6 toolsJaime Resano2025-03-129-45/+268
| | | | | | | | | | | | | | | | | This patch adds support for pyproject.toml files to the pyside6-project tool. A new command argument is added to migrate a .pyproject JSON file to the new pyproject.toml file: `pyside6-project migrate-pyproject` The new features are tested and it is guaranteed that the current behavior is preserved. A new flag is added to the project creation operations, "--legacy-pyproject", in order to generate a .pyproject file instead of a pyproject.toml file. Note that the tomlkit library is added to the requirements.txt file. https://github.com/python-poetry/tomlkit Task-number: PYSIDE-2714 Change-Id: If33956dea73b79df0a52d4dcda3934c85e57182d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* type hints: Fix a few minor logic errorsChristian Tismer2025-03-122-9/+8
| | | | | | | | | | Some logic in create_signature_union was incorrect, also some oversight caused a useless function call. Task-number: PYSIDE-3012 Change-Id: Id5e446679056ec68ae2868cf7ccea787f6df5629 Pick-to: 6.8 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Docs: Fix the finance manager tutorial part 3Shyamnath Premnadh2025-03-121-5/+5
| | | | | | | | | | | - A description was wrong along with the emphasized code. This is now fixed. Pick-to: 6.8 Task-number: PYSIDE-2850 Change-Id: I44f2b4c9a89496a96c974e78611b30f4dcec6cf6 Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>