aboutsummaryrefslogtreecommitdiffstats
path: root/sources
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash checking base type for QObject* when checking QGraphicsObject ↵HEADdevFriedemann Kleint5 days1-3/+5
| | | | | | | | | | | | | hierarchies Amends 6f996ff3439e69b3938e617135b266974802d5b1. Fixes: PYSIDE-3158 Task-number: PYSIDE-3115 Task-number: PYSIDE-3069 Pick-to: 6.9 6.9.2 Change-Id: I66bbc9d79d850c108411f9dcbe7e3090ad15b0b3 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Shiboken6Tools: Use shiboken6-generator from CMake easilyShyamnath Premnadh5 days4-5/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Inspecting the `samplebinding` example, much of the code to effectively call `shiboken6-generator` can be moved into CMake function `shiboken_generator_create_binding` and shipped with `Shiboken6Tools` cmake package enabling users to easily use `shiboken6-generator` in their CMake projects. This also helps to get rid of the `pyside_config.py` script which is used to query certain required paths. - This `Shiboken6Tools` CMake package is packaged with the `shiboken6-generator` wheel and can be used easily in CMake projects by using the `find_package(Shiboken6Tools)` command by adding the Python site-packages directory to the CMake module path. - The `shiboken6-generator` path installed into the Python site-packages is different from the one used by the consecutive setup.py build/ super project build. Hence, we create a new export set `Shiboken6ToolsWheelTargets` just for the wheel package. When copied into `package_for_wheels` this export set is used. - Add a special condition to the `Shiboken6ToolsConfig.cmake` file to skip the dependency checking when building PySide which would otherwise lead to a circular dependency. Task-number: PYSIDE-3138 Change-Id: I199b8d9fe743adee4e3b12e8a7e1ad01f3c277de Reviewed-by: Alexandru Croitor <[email protected]>
* Add QRangeModelFriedemann Kleint6 days6-0/+343
| | | | | | Task-number: PYSIDE-3011 Change-Id: I64048d9263c529ccb41ee70eb6766f5e02507011 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Adapt to 6.10Friedemann Kleint6 days13-4/+64
| | | | | | Task-number: PYSIDE-3011 Change-Id: I0c09b222e68ee0563dc4b0bf07f798f800a63371 Reviewed-by: Shyamnath Premnadh <[email protected]>
* Revert "type-hints: Use Iterable instead of Sequence"Friedemann Kleint6 days1-2/+2
| | | | | | | | | | | | | | | | | This reverts commit d563bfbd200ecd1ae538479b5031e88272c9ed37. For 6.10, it creates an ambiguous signature for QDBusArgument::operator<<(QList<QVariant>)->QDBusArgument& QDBusArgument::operator<<(QStringList)->QDBusArgument& and using iterable for containers other than QStringList and numpy is incorrect. Pick-to: 6.9 6.8 Task-number: PYSIDE-3140 Change-Id: Id0732ac483b6b2928fe5a3943dfd61e03885d5fb Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Expose QNativeInterface::QWaylandApplicationFriedemann Kleint8 days6-2/+42
| | | | | | | | | | [ChangeLog][PySide6] Bindings for QNativeInterface.QWaylandApplication have been added. Initial-patch-by: Mark Harfouche <[email protected]> Fixes: PYSIDE-2787 Change-Id: I3484fbd37cb4cd0ae70fde770eb9195a78f4b061 Reviewed-by: Shyamnath Premnadh <[email protected]>
* type-hints: Use Iterable instead of SequenceEce Cinucen12 days1-2/+2
| | | | | | | Pick-to: 6.9 6.8 Fixes: PYSIDE-3140 Change-Id: Ic88ad2b7afbf485c31ff71ccefb51b83731a609d Reviewed-by: Shyamnath Premnadh <[email protected]>
* PySidePlugin: Fix non-limited API build on windowsShyamnath Premnadh12 days1-1/+4
| | | | | | | | | | | - Amends eddb03bdc152a95ef7c161c0270e7da9001b327c to add a condition for windows. - For Windows builds, the default is the limited API build for Shiboken as seen in ShibokenSetup.cmake and ShibokenHelpers.cmake. Change-Id: I5c3823166969e3e7fc6306a2a32c5d82d2e9139d Reviewed-by: Cristian Maureira-Fredes <[email protected]> Reviewed-by: Ece Cinucen <[email protected]>
* Fix reference count tests (1) to pass in Python 3.14 (simple cases)Friedemann Kleint2025-08-0516-86/+92
| | | | | | | | | | | | As of 3.14, the interpreter will sometimes just borrow references and newly created objects may have different initial reference counts. Fix the test cases where a base ref count of a new object is compared against. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Change-Id: I698be2309362fc65f6727971a5cec4fc4f40cf2e Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* libshiboken: Add warning for multiple meta typesFriedemann Kleint2025-08-051-0/+8
| | | | | Change-Id: I0df7e1365b130433fda670e3a7f7ea8fb93378b1 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Lazy Load: Remove exclusion for testbindingFriedemann Kleint2025-08-052-5/+3
| | | | | | | | | Use .value to compare against the Enum value in a hidden namespace. Task-number: PYSIDE-2404 Change-Id: I2a7bda2aeac6aa69b3d38d2e377ac9b1127e1fee Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* libshiboken: Remove cast in Shiboken::Module::create()Friedemann Kleint2025-08-052-6/+8
| | | | | | | | Pass the moduleDef directly. As a drive-by, add error handling. Task-number: PYSIDE-2221 Change-Id: Ifd8698fb2ddf4acb12207fa96e6107266b7d6597 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* shiboken6: Factor out module initialization codeFriedemann Kleint2025-08-051-12/+23
| | | | | | | | Correct the variable naming to camel case. Task-number: PYSIDE-2221 Change-Id: I6241730b8be703e224104f19828d16cf08a3287e Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Doc: Design Studio Drumpad TutorialShyamnath Premnadh2025-08-041-2/+18
| | | | | | | | | - Amends efd8944b263a099e901ab588bc2d9357554f6ead to add a section on preliminary setup for running/deploying the application by running `pyside6-project` command. Change-Id: I2a0c96ede0e7100f54f7081b4dc7c04b7fc49e3c Reviewed-by: Friedemann Kleint <[email protected]>
* Deployment: Use relative pathsShyamnath Premnadh2025-08-042-6/+16
| | | | | | | | | | | - For input_file and project_dir, use relative paths instead of absolute paths so that it can be checked in to version control. - Fix tests accordingly. Fixes: PYSIDE-3146 Pick-to: 6.9 6.8 Change-Id: I4260a4844edc71964d5c2ab907915e5fbbcf4e41 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* libshiboken: Fix some clang-tidy warningsFriedemann Kleint2025-08-016-16/+15
| | | | | | Pick-to: 6.9 6.8 Change-Id: I10cd7e2c160b649fa52ba395b70bd59f19171256 Reviewed-by: Shyamnath Premnadh <[email protected]>
* Move native interfaces out of the QtGui type system fileFriedemann Kleint2025-08-016-27/+69
| | | | | | | | | | | | It is bound to grow as more interfaces with more modifications are added. Rename the code snippet used for int conversion. Also add a test for X11. Task-number: PYSIDE-2787 Change-Id: Ia5f5cf7f0fbb551c38367d80e9fdb4b004db9085 Reviewed-by: Shyamnath Premnadh <[email protected]>
* doc: Add documentation about type hintsEce Cinucen2025-08-012-0/+178
| | | | | | Pick-to: 6.9 Change-Id: I030593a9feed8a2f1eaa4c7f3e22f15ef9ccdb7e Reviewed-by: Shyamnath Premnadh <[email protected]>
* libpyside: Fix corruption connecting several signals to one non-QObject receiverFriedemann Kleint2025-07-313-41/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The deletion of the weak ref in ~TrackingMethodDynamicSlot() did not reliably stop the notification from being triggered, causing corruption later on since the address of the dynamic slot was used as user data. Use the Python receiver object as user data instead (which is only used for map look up) to delete the connection to protect against multiple invocation. Remove the deletion of the weakref since it is removed in the notification. Remove class TrackingMethodDynamicSlot as it does not really have any functionality any more. The comment about releasing the weakref in case DynamicSlot outlives Python is apparently not an issue since otherwise the deletion of the function in ~MethodDynamicSlot() would have caused issues. Amends 33bd61d13d8d9e3794b6049891be62f3351313d9. Pick-to: 6.9 6.8 Fixes: PYSIDE-3148 Task-number: PYSIDE-2810 Change-Id: Idc07d0774afaf99df93185c90e975291a42ffeaf Reviewed-by: Shyamnath Premnadh <[email protected]>
* type-hints: Adapt typing.Union to Python 3.14Ece Cinucen2025-07-311-3/+2
| | | | | | | | | | | | Update type check, typing.Union is now a type (not typing._SpecialForm) in Python 3.14. Previous workaround that only checks a certain string removed. Amends c22dd4fb11f8279b1946094e057988b7b40ea07c. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Change-Id: I648626aeeddf6b2b05a745d7db688cd48aa2b0f6 Reviewed-by: Friedemann Kleint <[email protected]>
* Documentation: Update libclangShyamnath Premnadh2025-07-314-8/+10
| | | | | | | | - The current version mentioned in the documentation is outdated. - Updated to the latest version available. Change-Id: Ia25d8fd648ab437833ef87263d19badbd02b1885 Reviewed-by: Friedemann Kleint <[email protected]>
* PySidePlugin: Use limited API correctlyShyamnath Premnadh2025-07-311-1/+1
| | | | | | | | | | | | | - PYTHON_LIMITED_API variable is specific to Shiboken build and is not available during the configuration of PySidePlugin because it is not a global variable. Instead, FORCE_LIMITED_API should be used which is the correct variable passed from setup.py to CMake. - The issue was specifically noted in Windows where PySidePlugin tries to link to the wrong Python library even when PYTHON_LIMITED_API is passed. Change-Id: I1d272d27053cdbc1c754b7e0fb6cfe49d37ff4ce Reviewed-by: Friedemann Kleint <[email protected]>
* QUiLoader: Move Q_IMPORT_PLUGIN(PyCustomWidgets) to file scopeFriedemann Kleint2025-07-302-2/+3
| | | | | | | | Adapt to qtbase/82eb0fc09e048b6074a9205e371a8c17576b421a. Task-number: PYSIDE-3011 Change-Id: Id6aeab28948c54572069bca676c944327282a7ba Reviewed-by: Shyamnath Premnadh <[email protected]>
* type-hints: Temporary fix for typing.UnionEce Cinucen2025-07-301-0/+2
| | | | | | | | | Added a workaround to handle where 'typing.Union' is represented as '<class 'typing.Union'>' during signature parsing. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Change-Id: I285e65dbf09a5f15429bcd279d89db173f2dff49 Reviewed-by: Friedemann Kleint <[email protected]>
* Add Qt Design Studio tutorialJaime Resano2025-07-295-0/+218
| | | | | | | | | | | | Add a new Qt Design Studio tutorial to the documentation. The "Drumpad" example is added to the examples/tutorials folder, with both initial and final projects. The required Sounds are in a directory at the same level as both tutorials in order to reduce space. Change-Id: I59fdd662775ae48ee04e663d4aa5aa8cb333fcd5 Reviewed-by: Shyamnath Premnadh <[email protected]>
* type hints: Fix some return typesEce Cinucen2025-07-292-6/+3
| | | | | | | | | | | | | | Use Optional[...] to reflect that these functions may return None for functions QGuiApplication.screenAt, QGuiApplication.modalWindow and QCompleter.popup mapping.py file had already a list for functions missing optional return, the function names added to the this list and removed from typesystem. Amends da0f2625bf368e7d8ebd643cc303c8b7e6a6805d. Task-number: PYSIDE-3139 Pick-to: 6.8 6.9 Change-Id: Id6331862d7b0894a3e97b95e2e825533eca1896f Reviewed-by: Cristian Maureira-Fredes <[email protected]> Reviewed-by: Friedemann Kleint <[email protected]>
* Fix crash of test qpaintengine_test.py when using Python 3.14Friedemann Kleint2025-07-281-2/+2
| | | | | | | | | | | | | Shiboken::AutoDecRef must not be used for return values, it causes a missing reference. Amends e3631c3322d28447068de3a874055ff937b237c4. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Task-number: PYSIDE-3002 Change-Id: Ib011b35562947d45b997e35ca45a2f55d16348b3 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Fix detection of star imports for lazy loading for Python 3.14Friedemann Kleint2025-07-281-2/+24
| | | | | | | | | | Adapt the op codes for detecting a star import. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Task-number: PYSIDE-2404 Change-Id: I54abb289e7beff519a0087af6e5b96c7a3df5880 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Enumerations: Enable the forgiveness feature ENOPT_NO_ZERODEFAULT for 3.14Friedemann Kleint2025-07-282-23/+63
| | | | | | | | | | | Adapt the op codes for detecting a parameterless __init__() call in enum code to 3.14. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Task-number: PYSIDE-1735 Change-Id: I7dcaaae82b4c136db5dbd9ef36519783b73c15ce Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Tests: Fix remaining flake 8 warningsFriedemann Kleint2025-07-2821-46/+48
| | | | | Change-Id: I3eae10ca459eae88632357ae5334c93fa2d0254f Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Tests: Fix flake 8 warning F841 local variable is assigned to but never usedFriedemann Kleint2025-07-2834-37/+38
| | | | | | Pick-to: 6.9 6.8 Change-Id: Idff689832a68fadf6c4492032df3ed94b9343389 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Tests: Fix flake 8 warning E402 module level import not at top of fileFriedemann Kleint2025-07-2827-82/+83
| | | | | | Pick-to: 6.9 6.8 Change-Id: Ibcd0ee3190638ac224c6dd770de0dffe93ed9dda Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Deployment: sort list values before filling values into pysidedeploy.specYoung Lee2025-07-252-1/+7
| | | | | | Task-number: PYSIDE-3146 Change-Id: I2c23e8ae3302bafc31a1a65013e2f3ed342d22ed Reviewed-by: Friedemann Kleint <[email protected]>
* shibokenmodule: Output id() (PyObject *address) in dump()Friedemann Kleint2025-07-241-1/+2
| | | | | | Task-number: PYSIDE-3143 Change-Id: I2a7467e32adc180a41ba4ed992644a943194161b Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Fix leaking QStandardItem instances returned from QStandardItemModel functionsFriedemann Kleint2025-07-241-26/+0
| | | | | | | | | No longer add a parent-child relationship in functions that return QStandardItem (non-owning wrappers). Task-number: PYSIDE-3143 Change-Id: I7d48d9fbd149010fde0f42347af5b47c84855657 Reviewed-by: Shyamnath Premnadh <[email protected]>
* libshiboken: Add a warning when attempting to re-add a childFriedemann Kleint2025-07-241-1/+7
| | | | | | | | | The warning can be triggered by return value heuristics, so restrict it to verbose mode. Task-number: PYSIDE-3143 Change-Id: Id6935893af5a4ae57a0c6bf4dfb0c3d2b9a8f383 Reviewed-by: Shyamnath Premnadh <[email protected]>
* PySide6: Suppress warning when doing first signal connection from a threadFriedemann Kleint2025-07-241-1/+17
| | | | | | | | | | Explicitly move the tracker helper object to the thread. Fixes: PYSIDE-3137 Task-number: PYSIDE-2221 Task-number: PYSIDE-2810 Change-Id: I308467ca9ef8acab35d30578ca694136855c2d1a Reviewed-by: Shyamnath Premnadh <[email protected]>
* Add developer documentation on thread sanitizerFriedemann Kleint2025-07-241-0/+34
| | | | | | | | | Complements 7b8592161d6c4d63c511a352fdf25d49ab0a1906. Task-number: PYSIDE-2221 Change-Id: Iceef71b8cf9b85f9f41c91e34638184848d4f653 Reviewed-by: Shyamnath Premnadh <[email protected]> Reviewed-by: Ece Cinucen <[email protected]>
* Brush up developer documentation (extras.rst)Friedemann Kleint2025-07-241-4/+7
| | | | | | | Pick-to: 6.9 Change-Id: I5199c2780b108aa1dacb7a3f352e3e7a2f9220b3 Reviewed-by: Shyamnath Premnadh <[email protected]> Reviewed-by: Ece Cinucen <[email protected]>
* shiboken6: Fix crash occurring when no source class can be found for typedef ↵Friedemann Kleint2025-07-221-4/+12
| | | | | | | | | entries Task-number: PYSIDE-3144 Pick-to: 6.9 6.8 Change-Id: I8696b9559f7ebe42048e7e8611834db61b7d5948 Reviewed-by: Shyamnath Premnadh <[email protected]>
* shiboken6: Add platform version optionFriedemann Kleint2025-07-225-2/+48
| | | | | | | | | | As observed for iOS, libclang falls back to a too-old OS version. Make it possible to override using a command line option. Task-number: PYSIDE-3105 Task-number: PYSIDE-2352 Change-Id: I251dca3e45e9bbc1737e54e0e9799595ab680ff9 Reviewed-by: Shyamnath Premnadh <[email protected]>
* shiboken6: Add platform version to the triplet parsingFriedemann Kleint2025-07-223-19/+59
| | | | | | | | | Complements 244b5dd5e1869ea85c5b78d27259965f7ca2c7bb. Task-number: PYSIDE-3105 Task-number: PYSIDE-2352 Change-Id: I0cb197a1683b8a4d5a7c7babbfc900180005a723 Reviewed-by: Shyamnath Premnadh <[email protected]>
* type hints: Fix return types of QGuiApplication.screenAt and modalWindowEce Cinucen2025-07-181-0/+6
| | | | | | | | | Use Optional[...] to reflect that these functions may return None. Fixes: PYSIDE-3139 Pick-to: 6.8 6.9 Change-Id: Iea6da03b7f39ce0090804c58f0906863266fc87a Reviewed-by: Shyamnath Premnadh <[email protected]>
* type hints: Fix QLocale.toString methodEce Cinucen2025-07-161-0/+3
| | | | | | | | | | fix format parameter, type 'str' is correct instead of 'int' . Fixes: PYSIDE-3134 Pick-to: 6.8 6.9 Change-Id: I9a05ce730489a2d6a71867b21c70543f30d924cc Reviewed-by: Shyamnath Premnadh <[email protected]>
* Potential fix for stabilizing QtRemoteObjects cpp_interop testFriedemann Kleint2025-07-112-5/+14
| | | | | | | | | | | | | | The test sometimes fails, reporting an empty URL. Change the harness to use stdout for printing the URL so that the flushing can be controlled. Amends 19abd816e73bebdd489408d0a3b7676822bff39c. Pick-to: 6.9 Task-number: PYSIDE-862 Change-Id: Ie85ad5a4eb092f91add01905b711ff1db86e3a8f Reviewed-by: Shyamnath Premnadh <[email protected]> Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Fix OpenGL-Related error in iOS buildFriedemann Kleint2025-07-111-0/+1
| | | | | | | | | | Use the special casing from macOS. Task-number: PYSIDE-3105 Task-number: PYSIDE-2352 Change-Id: I43bc2268bcd07c5e124c08875bf1a4da56476a53 Reviewed-by: Ece Cinucen <[email protected]> Reviewed-by: Shyamnath Premnadh <[email protected]>
* Fix QtMultimedia::audio_test to runFriedemann Kleint2025-07-111-1/+2
| | | | | | | | QMediaDevices needs allow-threads for the query functions. Pick-to: 6.9 6.8 Change-Id: Ieff9e9191491e6294232a0509d675ffa5a93d386 Reviewed-by: Shyamnath Premnadh <[email protected]>
* Avoid using typing.Self due in versions < 3.11Cristián Maureira-Fredes2025-07-102-2/+8
| | | | | | | | | | | | | | | | When typing.Self doesn't exist (< 3.11) we were monkey-patching the attribute to the typing module, in order to use 'typing.Self' for our constructors stubs. This was affecting the behavior of another module, that was performing a similar check on the typing.Self attribute. Amends 1ef1fefc26038a80ba81a860cff5024db44dca37 Change-Id: I5bacbb3db6a7ecd7c10fcbf08f702172e5163868 Fixes: PYSIDE-3135 Pick-to: 6.9 6.8 Reviewed-by: Friedemann Kleint <[email protected]>
* Build: Fix super project buildShyamnath Premnadh2025-07-093-22/+29
| | | | | | | | | | | - af9721d92e393529016f8eccf4a23cc95da8b021 caused the super project build to break because now cmake detects two exports sets for each target. For super project builds, when configuring cmake, we restrict it to one target considering the super project build is useful only to configure the IDE. Change-Id: Ie37871369622034b5ca07f74b38c064982b12a90 Reviewed-by: Friedemann Kleint <[email protected]>
* PySide6: Make qobjectNextAddr thread_localFriedemann Kleint2025-07-091-1/+4
| | | | | | Task-number: PYSIDE-2221 Change-Id: I72e4a5fa239653bc69da190b5b506119889d5a8f Reviewed-by: Shyamnath Premnadh <[email protected]>