aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash checking base type for QObject* when checking QGraphicsObject ↵HEADdevFriedemann Kleint12 hours1-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 Premnadh14 hours7-13/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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 Kleint38 hours6-0/+343
| | | | | | Task-number: PYSIDE-3011 Change-Id: I64048d9263c529ccb41ee70eb6766f5e02507011 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Adapt to 6.10Friedemann Kleint40 hours14-5/+65
| | | | | | Task-number: PYSIDE-3011 Change-Id: I0c09b222e68ee0563dc4b0bf07f798f800a63371 Reviewed-by: Shyamnath Premnadh <[email protected]>
* Revert "type-hints: Use Iterable instead of Sequence"Friedemann Kleint41 hours1-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]>
* Port widgetgraphgallery to QRangeModelFriedemann Kleint3 days7-268/+48
| | | | | | | | Adapt to qtgraphs/467bcff49d9733ef7c564b6ee0ceffb66a03292d. Task-number: PYSIDE-3011 Change-Id: I875631e17411ca1804854eabad8ef4a0d8be7cea Reviewed-by: Shyamnath Premnadh <[email protected]>
* Add QRangeModel exampleFriedemann Kleint3 days3-0/+95
| | | | | | Task-number: PYSIDE-3011 Change-Id: I36d115fd150419bc631e3ea4706e217500d00152 Reviewed-by: Shyamnath Premnadh <[email protected]>
* Expose QNativeInterface::QWaylandApplicationFriedemann Kleint4 days7-3/+44
| | | | | | | | | | [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]>
* widgetgraphgallery: Fix crash in textured surface graphFriedemann Kleint4 days1-8/+8
| | | | | | | | | | | | | | Some invalid Python code caused the highlight series to be empty and a subsequent crash. Also, adapt to qtgraphs/98029f9d71c7ae8c5c8f052b03f350ad23e8759c by swapping coordinates. Pick-to: 6.9 6.8 Fixes: PYSIDE-3153 Task-number: QTBUG-116785 Change-Id: I6366cb4858fad29e46fac01efbb6c26675c743b8 Reviewed-by: Shyamnath Premnadh <[email protected]>
* type-hints: Use Iterable instead of SequenceEce Cinucen8 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 Premnadh8 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]>
* doc: move sounds to qtds tutorialCristián Maureira-Fredes8 days13-16/+11
| | | | | | | | | | In order to enable the deployment tool, we need to have the Sounds in the same directory. Ammends efd8944b263a099e901ab588bc2d9357554f6ead Change-Id: Idd89ba3b1624f24ed2c36d45af3d09802eb9b22d Reviewed-by: Shyamnath Premnadh <[email protected]>
* build: add missing 3DQuickLogic pluginCristián Maureira-Fredes9 days1-1/+4
| | | | | | | Fixes: PYSIDE-2956 Pick-to: 6.9 6.8 Change-Id: Id8f9d2fb1b5c623e2d449b9362088ba581dd3788 Reviewed-by: Friedemann Kleint <[email protected]>
* Update changes-6.9.2Friedemann Kleint9 days1-0/+4
| | | | | | | | Amends 857c8ba006b44c51aa45967fea966b9f813b5a91. Pick-to: 6.9 Change-Id: I90871779252e93d9b67a1ac6f9109b8349ef96b9 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Fix reference count tests (1) to pass in Python 3.14 (simple cases)Friedemann Kleint10 days16-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 Kleint10 days1-0/+8
| | | | | Change-Id: I0df7e1365b130433fda670e3a7f7ea8fb93378b1 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Lazy Load: Remove exclusion for testbindingFriedemann Kleint10 days2-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 Kleint11 days2-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 Kleint11 days1-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 Premnadh12 days1-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 Premnadh12 days2-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-017-27/+70
| | | | | | | | | | | | 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]>
* Add changelog 6.9.2Friedemann Kleint2025-07-311-0/+55
| | | | | | Pick-to: 6.9 Change-Id: I579001734a451959592dfeef39e04aacfcf07fbd Reviewed-by: Shyamnath Premnadh <[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]>
* type hints: Fix some return typesEce Cinucen2025-07-300-0/+0
| | | | | | | | | | | | 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: Friedemann Kleint <[email protected]>
* testrunner: Fix deprecation warning about =argparse.FileTypeFriedemann Kleint2025-07-301-6/+6
| | | | | | | | | | | | | Open the files directly as advised, fixing: testing/command.py:170: PendingDeprecationWarning: FileType is deprecated. Simply open files after parsing arguments. type=argparse.FileType("r"), testing/command.py:198: PendingDeprecationWarning: FileType is deprecated. Simply open files after parsing arguments. "filename", type=argparse.FileType("w"), help="write the build dir name into a file" Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Change-Id: I78949168309b8939d9dd2db5bedb277b6a679d28 Reviewed-by: Shyamnath Premnadh <[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-2961-0/+2100
| | | | | | | | | | | | 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]>
* Update the quicknanobrowser example from C++Friedemann Kleint2025-07-285-41/+143
| | | | | | | | | | | | Fixes warnings: Unknown File>: QML WebEngineProfile: Please use WebEngineProfilePrototype for profile creation from 6.9, as this function will be deprecated in the future releases <Unknown File>: QML WebEngineProfile: Please use WebEngineProfilePrototype for profile creation from 6.9, as this function will be deprecated in the future releases Storage name is empty. Cannot change profile from off-the-record to disk-based behavior until a proper storage name is set Switching to disk-based behavior Pick-to: 6.9 Change-Id: Ie46aefdd522cbdb47bd8a0ac152ab61e7c69f50c 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]>
* qfp_tool: Add an option to uninstall the PySide packagesFriedemann Kleint2025-07-241-1/+33
| | | | | | Pick-to: 6.9 Change-Id: Idb9354fa8e443fc0ea4aea72851163b9908a5e3f Reviewed-by: Shyamnath Premnadh <[email protected]>
* qfp_tool: Add a way to install via wheelsFriedemann Kleint2025-07-241-7/+31
| | | | | | | | | Add a boolean config key for wheel installation so that it can be configured by directory. Pick-to: 6.9 Change-Id: I2c245bd7746c13b2ed66159f3d95eed2ef6ceda1 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]>