aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* shiboken6/AbstractMetaBuilder: Split class/namespace functionsHEADdevFriedemann Kleint3 days2-93/+114
| | | | | | | | | | Split the code paths between namespace and classes for clarity. Add AbstractMetaBuilderPrivate::traverseClassFunction() to move the function parsing code out of the loop. Task-number: PYSIDE-3245 Change-Id: I3c616567df87d0408d5a6567343cdd8e3dfbefaa Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Fix warnings about unmatched comparison operator modificationsFriedemann Kleint3 days2-21/+10
| | | | | | | | | | | | | | | | | | | | | After change dd8440dff6ecb7af812a3fb4d7a3f54c4de6f99a, reverse free comparison operators are ignored to suppress duplicated code generation. This causes some warnings about unmatched comparison operator modifications. Fix them by using member function signatures and removing duplicated entries. [ChangeLog][shiboken6] Non-homogeneous reverse free comparison operators (trailing class argument) are now ignored by the code generator, potentially causing warnings about unmatched comparison operator modifications. The warnings can be ignored, or, the modification signatures can be rewritten to be const member operators, which is the recommended way to ensure compatibility with C++ 20 operator synthesis. Task-number: PYSIDE-3245 Change-Id: I74ea0613c774497ab41f6b19d5f3749846b7e8ec Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Make synthesized comparison operator functions constFriedemann Kleint3 days2-0/+3
| | | | | | Task-number: PYSIDE-3245 Change-Id: I9ea4bb01bc07a7a8d32aeb35829893fbccdf84f0 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Clear the cached function signatures on modificationsFriedemann Kleint3 days2-12/+19
| | | | | | | | Fix code handling adding functions to properly store the signature. Task-number: PYSIDE-3245 Change-Id: Ia17c4b8cae7addd1a84f2c621cb46cbb532539db Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Restrict warning about const mismatch in function modificationsFriedemann Kleint3 days1-1/+9
| | | | | | | | | | | Prevent it from triggering for operators synthesized from free operators using some heuristic (',' in parameter list indicating several parameters). Amends 7c358ca13760c9e422c38d8c28e56b197663debf. Task-number: PYSIDE-3245 Change-Id: If5e9c283bff6fe2a26350f6781cdef9684d8a1ca Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* qrc tutorial: Add a note about rcc compression levelsFriedemann Kleint3 days1-0/+5
| | | | | | | Task-number: PYSIDE-3251 Pick-to: 6.10 Change-Id: Ib1c5a1f8de4237be84b43fa05a2ad830c2169596 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Indicate user added/user declared functions in signature commentFriedemann Kleint4 days1-0/+4
| | | | | | | | | Complements e9479562e91cf71a700a999fc7a443ea53a0fb6e. Task-number: PYSIDE-3245 Change-Id: I14487bbd39db2492e62b41fb4da334a0da914f47 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
* shiboken6: Fix clang-tidy warnings about QString::fromLatin1()Friedemann Kleint4 days7-23/+26
| | | | | | | | | Replace by literals/additions, fixing: - warning: QString::fromLatin1() being passed a literal [clazy-qstring-allocations] Pick-to: 6.10 6.8 Change-Id: I60be74c4f4b86c943a02392734aadf406567e338 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Fix a few clang-tidy warningsFriedemann Kleint4 days2-8/+8
| | | | | | | | | - std::as_const in for loops - avoid copy Pick-to: 6.10 6.8 Change-Id: Iccf2b7a30b676a228af074c2f804e7b4a6ef11f7 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Documentation: Fix sort order/Jira links generated by the release_notes toolFriedemann Kleint5 days1-10/+20
| | | | | | | | | | | | | | The 6.10.X changelogs appeared at the bottom since the versions were sorted by strings. Fix by using a tuple of ints to sort. As a drive-by, make the regular expressions class variables to avoid rebuilding them for each class instance. Use the new Jira URL. Pick-to: 6.10 6.8 Task-number: PYSIDE-2853 Change-Id: Ic09b4a1f5af04509451274685e625c7e512f4357 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Remove redundant operator declarationFriedemann Kleint9 days2-4/+0
| | | | | | | Pick-to: 6.10 Change-Id: Ie3007e3d0e5baf0440788ee9a89133ea4a003f70 Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Split out the spaceship operator testsFriedemann Kleint10 days11-39/+124
| | | | | | | | | On this occasion, add a test for a free operator<=>() behind guards. Task-number: PYSIDE-3245 Change-Id: Ife8f17add0a8f1c3bd1194a5dfabce4f97c78006 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Move comparison operator enum type out of AbstractMetaFunctionFriedemann Kleint10 days7-69/+97
| | | | | | | | | Turn it into a flag to be able to specify masks to be synthesized. Add a function checking for ordering comparisons for later use. Task-number: PYSIDE-3245 Change-Id: Ibab47528f92ff8859677a85cccdcad50a767ccac Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Do not generate reverse comparison operatorsFriedemann Kleint10 days1-1/+7
| | | | | | | | | | This leads to duplicated code in Py_tp_richcompare since CppGenerator::writeRichCompareFunction() does not handle it and CPython swaps the arguments itself. Task-number: PYSIDE-3245 Change-Id: I39e9bf6adb2f737ad5f66327cd5a6f9447e86c9d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Move argument manipulation functions from AbstractMetaBuilder ↵Friedemann Kleint10 days3-25/+31
| | | | | | | | into AbstractMetaFunction Task-number: PYSIDE-3245 Change-Id: If3590dd1fa54c45de0295973cad37bce74ea682f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Refactor signature formatting for overload decisor commentsFriedemann Kleint10 days2-30/+41
| | | | | | | | | | | | | Separate the overload decisor comment code path from the minimal signature and use in all relevant places in the generated code. Remove the Qt signature normalization. Add more information about operators. Task-number: PYSIDE-3245 Change-Id: Id023d36a3b9112fccb36c9f8a03e13fac6628b75 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Add messages about synthesized functionsFriedemann Kleint10 days8-6/+106
| | | | | | | | | | Extend the internal flags of AbstractMetaFunction by C++ 20 operator information and add helpers to format messages based on that. Task-number: PYSIDE-3245 Change-Id: I65311e973f8995cd2535e4b936e9f576fa312b1b Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Move AbstractMetaFunction::Flags out of the classFriedemann Kleint10 days7-35/+39
| | | | | | | | This enables using them for messages and other things. Task-number: PYSIDE-3245 Change-Id: If2acccbfdbc53d28f84cfe5341898347a9938c53 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Rename traverseOperatorFunction() to traverseFreeOperatorFunction()Friedemann Kleint10 days2-10/+13
| | | | | | | | | | Make it clear that the function is meant to be called for the global namespaces or other namespaces, not for classes. Add assert and comment. Task-number: PYSIDE-3245 Change-Id: I0e5e07c7822286ff148c5b76ff292d45d799165d Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Add tests for non-homogeneous comparisonFriedemann Kleint10 days2-0/+16
| | | | | | Task-number: PYSIDE-3245 Change-Id: I84bac9ef5afdbb4356884a7933ed8209d886d836 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libshiboken: Fix crash when multiple threads attempt to retrieve the same ↵Friedemann Kleint10 days1-0/+4
| | | | | | | | | | | | | | | override Re-check for None on the cache passed in by reference after acquiring the GIL in case another thread set it in the meantime. Amends eeacd90bdb71cebcdfb8d285254d7e42ddc4ff79. Fixes: PYSIDE-3246 Task-number: PYSIDE-2916 Pick-to: 6.10 Change-Id: I9c1b9ac465a36ca885c5f7c0ee1b6f58e91dcf4d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* CI: Remove RHEL 8.10 from configsSimo Fält10 days1-1/+1
| | | | | | | | | RHEL 8.10 has 'Packaging' feature set, so it will export unnecessary wheels for release. Pick-to: 6.10 Change-Id: If7f01fc408ea3b6b74c80d0a522af3d0ec56e3d9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6-Android: Add QtWebViewShyamnath Premnadh11 days1-2/+6
| | | | | | | | | - QtWebView was previously missing from the Android build configuration. Pick-to: 6.8 6.10 Fixes: PYSIDE-3248 Change-Id: I11230b9bff6a45bee3af0dba498e7d76ca678e61 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Type hints: Add missing optional return typesEce Cinucen12 days1-0/+25
| | | | | | | | | | | | | | | | | Several functions can return None, but the generated stubs used non-optional return types. Added these functions to the missing_optional_return list so the typing information matches actual behavior. Fixes: PYSIDE-3225 Fixes: PYSIDE-3218 Fixes: PYSIDE-3203 Fixes: PYSIDE-3197 Fixes: PYSIDE-3196 Fixes: PYSIDE-3195 Fixes: PYSIDE-3189 Pick-to: 6.10 Change-Id: I3ccb4285755f647cb9925156940ce878408fb099 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6-Android: Fix WebView buildShyamnath Premnadh12 days1-1/+2
| | | | | | | | | - Amends 6e6488f86942482f990993938b5d3520a2e9fadd Pick-to: 6.8 6.10 Fixes: PYSIDE-3248 Change-Id: I9cf9cb92d2d92eb586c4bafd6939ede51078519d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Docs: VSCode Extension for PySide6Shyamnath Premnadh2025-11-284-1/+117
| | | | | | | | | | - Docs for the `Qt Python` extension for Visual Studio Code and its features for PySide6 development. Pick-to: 6.10 Change-Id: I9dfc80b8dab651d3615fcdf4878c674222a74dee Reviewed-by: Ben Cho <ben.cho@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix top-level configuration for IDEAlexandru Croitor2025-11-271-0/+3
| | | | | | | | | | | | | | | | Shiboken6Config.abi3.cmake checks to include Shiboken6Targets.cmake if the Shiboken6::libshiboken does not exist, but it should always exist in a top-level build. Re-add the Shiboken6::libshiboken alias. It is unclear why it was removed in the first place, so just to be safe, only create the alias if it does not already exist. Amends 39bf64f845d6b759ebc726e85949e82dab678d37 Change-Id: I1d5f29cd770fde7288dcd27703304b8fa5d1f2f5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside: Add categorized debug output of names of @QEnum meta typesFriedemann Kleint2025-11-271-0/+3
| | | | | | | Pick-to: 6.10 Task-number: PYSIDE-2840 Change-Id: I5dbc5187efc327fd81e84f4a26a03a23b797df25 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Add translation to some examplesFriedemann Kleint2025-11-252-1/+10
| | | | | | | | For some examples, it might make sense to load the Qt translations. Pick-to: 6.10 Change-Id: I2c3fcc9980809a3f107800e369845c2019dabad7 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Remote Objects: Enable tests on macOS / ARMFriedemann Kleint2025-11-251-3/+0
| | | | | | | | Amends 19abd816e73bebdd489408d0a3b7676822bff39c. Task-number: PYSIDE-862 Change-Id: Icf499f17eb7cf0e4b3805efbfc98ab462063574e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libshiboken: Remove PepErr_GetRaisedException()Friedemann Kleint2025-11-254-18/+4
| | | | | | | | | | | | | | The function was wrongly implemented, it is actually meant to clear the error state and be used along with PyErr_SetRaisedException() to replace the deprecated PyErr_Fetch()/Restore(). It cannot really be implemented in terms of PyErr_Fetch()/Restore(). Partially reverts 9aabb3a509594f59306a96679938f2f43a9830e6. Task-number: PYSIDE-2747 Change-Id: I5ee57112c905e9112b758e27904bbf4fa768aeea Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix passing named tuples in QVariantsFriedemann Kleint2025-11-252-1/+50
| | | | | | | | | | | | | Prevent them from being converted to QVariantList by checking the exact type. Amends c47c5bdbc8e844c2c3c99e2b5e594b5615d5ae4f. Fixes: PYSIDE-3244 Task-number: PYSIDE-3206 Pick-to: 6.10 Change-Id: I26656d871accc868cb77d95b7b8567e380f46390 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Update documentation on porting examplesFriedemann Kleint2025-11-251-2/+8
| | | | | | | | | List useful environment variables and remove the snake case point since it causes maintenance problems. Pick-to: 6.10 Change-Id: I5c3d5e182b471ab3983e3a124ad95389d0d9bc7f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Enum forgiveness mode: Move option checks upFriedemann Kleint2025-11-251-2/+5
| | | | | | | | | | In lookupUnqualifiedOrOldEnum(), move the option checks up so that the function does unnecessarily loop over the MRO to resolve enumerations when they are disabled. Task-number: PYSIDE-1735 Change-Id: Ifc5c869b21e2f1d291784beaf192e8e328f4966b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix the type hint of QMetaObject.className() to be strFriedemann Kleint2025-11-251-0/+3
| | | | | | Pick-to: 6.10 Change-Id: I8e428c5b1cb1c57cc628b4113fa58dd7889117c8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Split off shibokengeneratorFriedemann Kleint2025-11-2423-128/+170
| | | | | | | | | | | | Split the generator executable off to a new directory shiboken6_generator. Adapting the build scripts and cmake configuration. Task-number: PYSIDE-962 Task-number: PYSIDE-1587 Change-Id: I301f96daace0331b0abc17bc59b44cd2396b9953 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move the shiboken-generator source aroundFriedemann Kleint2025-11-24284-0/+0
| | | | | | | | | THIS COMMIT WAS GENERATED BY A SCRIPT Task-number: PYSIDE-962 Task-number: PYSIDE-1587 Change-Id: I58b05c3d05606efb6303193f2d7f907a0ab5741b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Extend target triplet test by aarch64-poky-linuxFriedemann Kleint2025-11-211-1/+7
| | | | | | | Task-number: PYSIDE-3235 Task-number: PYSIDE-3105 Change-Id: If2a30172bdb5544d221e5cb713ec9336600c18cc Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Add a triplet classFriedemann Kleint2025-11-2111-348/+504
| | | | | | | | | | | Extract the architecture/platform information from compilersupport.cpp into a separate Triplet class which can be tested independently and is not tied to the shiboken logic (initialization to host defaults, etc). As a result, compilersupport.cpp becomes much cleaner. Task-number: PYSIDE-3105 Change-Id: I3ea709a02184c73814dc34686be75017fa1391fa Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpysideqml: Extract QmlListPropertyMixinFriedemann Kleint2025-11-214-61/+205
| | | | | | | | | | Extract a mixin class handling registration of a QQmlListProperty<> and providing virtuals for the list functionality. It can be used by Bridges or when migrating some Bridges functionality into PySide (for example, list properties wrapping a Python list). Change-Id: I18db0a8196b0f8529e6d438744429a5630ee297c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Re-port the player exampleFriedemann Kleint2025-11-219-175/+1054
| | | | | | | | | | | | | Adapt to the current state of C++ example, which adds the audio level meter and meta data display. The playlist handling was again removed since it still relies on a copy of the QMediaPlaylist class from Qt 5. Simplify the mime type handling to default to MP4 always, which should work when using FFMPEG. Task-number: PYSIDE-2206 Pick-to: 6.10 Change-Id: I6215c4bcff5a3ca83606e33da6da475caf6494d8 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* create_wheels.py: Add optional warning about non-existent filesFriedemann Kleint2025-11-211-10/+14
| | | | | | | | | | | Turn the existing verbose flag into an int verbose level with command line option and check the files. Redirect warnings to stderr. Pick-to: 6.10 Change-Id: I12fbc9dbc6da27010b0a072c3b377eb94784d9df Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* COIN: Use mirror for pyenvFriedemann Kleint2025-11-211-0/+6
| | | | | | Pick-to: 6.10 6.8 Change-Id: Iaef1f5971ff4f3d04b2a9eb958fced7bde4857eb Reviewed-by: Simo Fält <simo.falt@qt.io>
* shiboken6/compilersupport: Fix building on Yocto using clang++Friedemann Kleint2025-11-191-8/+1
| | | | | | | | | | | | | | Remove the option -nostdinc, which causes it to complain about "'type_traits' file not found". The option was apparently added for historic reasons and is apparently no longer needed. Fixes: PYSIDE-3235 Pick-to: 6.10 Change-Id: I3ab4bd9bf1e523e2c6ab6e655ef8d2cc4e865599 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6/compilersupport.cpp: Remove values that are only used for loggingFriedemann Kleint2025-11-193-33/+4
| | | | | | | | | Remove the getters/setters and make them function-local as they unnecessarily clutter the code. Task-number: PYSIDE-3105 Change-Id: Ia56f65ae169e1e9e7b96ca2d98b6694ae9f3f208 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix metatype JSON files missing in wheels (Windows)Friedemann Kleint2025-11-181-0/+1
| | | | | | | | | | | | Re-add parts of a line removed by 86e7c9e7674cc7bce872f2ec58bd1eeaf536b41d that preprend the metatype directory. Task-number: PYSIDE-3241 Pick-to: 6.10 Change-Id: Ic76d90a394ccd1309c0011c9008a5fb29bb0978d Reviewed-by: Simo Fält <simo.falt@qt.io> (cherry picked from commit 42be1cc7d9973b7da44c048981001b823b329704) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix metatype JSON files missing in wheels (Linux/macOS)Friedemann Kleint2025-11-171-78/+75
| | | | | | | | | | | | | In Qt, the files were renamed from "qt6core_relwithdebinfo_metatypes.json" to "qt6core_metatypes.json" as has always been the case for Windows. Fixes: PYSIDE-3241 Pick-to: 6.10 6.10.1 Change-Id: I12735c32504432ddffafa55e6c9ed209902f0554 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix the QtCharts/callout exampleFriedemann Kleint2025-11-171-1/+2
| | | | | | | | | | - Set a black pen for the callouts to be visible when using a dark theme - Fix misspelt method name Pick-to: 6.10 6.8 Fixes: PYSIDE-3239 Change-Id: I9b9941b6f0377250ce23c30ee932ddd2974624e7 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* draggabletext example: Remove hard-coded paletteFriedemann Kleint2025-11-171-5/+1
| | | | | | | | | The palette was once added for S60 phones. Pick-to: 6.10 6.8 Fixes: PYSIDE-3240 Change-Id: I8cc61f0910e428890abf320159a621b841da031b Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Output the host OS in mjb_shiboken.logFriedemann Kleint2025-11-171-0/+2
| | | | | | | | | Complements 91d0ec1e864c5c657e351c32af1f8d78a26c543d. Task-number: PYSIDE-3235 Pick-to: 6.10 Change-Id: Ib106f2d9e0804125a434da7119aff8c7d317316e Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>