aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpysideqml
Commit message (Collapse)AuthorAgeFilesLines
...
* PySide6: Fix CMake UNITY_BUILD (jumbo) builds of the librariesFriedemann Kleint2022-12-162-2/+4
| | | | | | | | | Prevent clashes of the slots keyword and rename duplicated static variables. Task-number: PYSIDE-2155 Change-Id: I68fd004a595d7ed21f23c71d6635441aba85fd60 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside/libpysideqml: Update list of headers to be installedFriedemann Kleint2022-11-161-1/+11
| | | | | | | | Task-number: PYSIDE-802 Task-number: PYSIDE-962 Pick-to: 6.4 Change-Id: I6a9ea15a89630453600b44b3f22d2944f047622b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build: drop the version from the installed cmake directoryCristián Maureira-Fredes2022-10-121-5/+5
| | | | | | | | | | | | | | | | | | | | This will replace the structure of installed cmake directories, for example: cmake/PySide6-6.2.4/PySide6Config.cmake to cmake/PySide6/PySide6Config.cmake Shiboken files under the cmake/ directory are affected as well. [ChangeLog][pyside6] the version was drop from the cmake installed directory. Fixes: PYSIDE-2009 Change-Id: I778063a615f123e4398f8d776704302465cd0b76 Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix build error on Windows caused by macro copysign in CPythonFriedemann Kleint2022-08-011-0/+6
| | | | | | | | | | Remove the define, fixing: qjsprimitivevalue.h(805): error C2039: '_copysign': is not a member of 'std' Pick-to: 6.3 6.2 Change-Id: Iad9b467decc81a3eed534f49d26e30237eef23de Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Build with lean Qt headersFriedemann Kleint2022-06-291-0/+2
| | | | | | | | | This should speed up compilation time. Task-number: QTBUG-97601 Change-Id: Ibd25739dfe5032113ff9c1df5ff5da4cf9effc2d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Adapt to Qt 6.4Friedemann Kleint2022-06-291-3/+1
| | | | | | Change-Id: I46f6291c1c363b1e509ef458e635f97f4423f81b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Use SPDX license identifiersLucie Gérard2022-05-2723-874/+46
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: I065150015bdb84a3096b5b39c061cf0a20ab637d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix include conventionsFriedemann Kleint2022-04-221-1/+1
| | | | | | | | | Reorder includes such that local includes are first, followed by Qt and C/C++ system includes. Pick-to: 6.3 6.2 Change-Id: Ib801d34de7242befce4be429bfb099ccabe1f987 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add QPyQmlParserStatusFriedemann Kleint2022-04-011-6/+20
| | | | | | | | | [ChangeLog][PySide6] class QPyQmlParserStatus for handling QML parser status changes has been added. Fixes: PYSIDE-1876 Change-Id: Ic1066924ec85dc8633f959342921c1d03da1aee4 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Strip libraries in release modeFriedemann Kleint2022-03-141-0/+2
| | | | | | | | | [ChangeLog][PySide6] Libraries are now stripped. Task-number: PYSIDE-661 Change-Id: I20ea056b8e91cca917017afa62811208c297d51d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* PySide6: Fix properties of type QQmlPropertyMap *Friedemann Kleint2022-03-101-0/+4
| | | | | | | | | Add a call to qRegisterMetaType(). Pick-to: 6.2 Fixes: PYSIDE-1845 Change-Id: I25df264fc13dc515cd6035df8e0b608a7dabaa74 Reviewed-by: Christian Tismer <tismer@stackless.com>
* libpysideqml: Fix size of QObjectFriedemann Kleint2022-03-041-4/+2
| | | | | | | | | | | Simply use int(sizeof(QObject)). The original code was written with a cross-build mindset, but libpysideqml is built on the target. Amends f017d4abe8199e203a5e625738d312932804601d. Task-number: PYSIDE-1709 Change-Id: Ie003b7a4733050d5bcd3f895d436bc0eb8c3bff1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Simplify special code handling Qt Quick type registrationFriedemann Kleint2022-03-032-46/+39
| | | | | | | | | | | | | | | | | The code used templates to ensure the QMetaTypes registered in QML matched the Qt Quick types (QQuickPaintedItem, QQuickFramebufferObject, QQuickItem). After fixing the metatypes, all that is left is to determine the correct values for QQmlPrivate::RegisterType::parserStatusCast, valueSourceCast and valueInterceptorCast by the template code. This will make the QmlAttached/QmlExtended work with Qt Quick, too. Task-number: PYSIDE-1836 Change-Id: Ic31587c9fd2dca46f6957757079b6abc56cc7416 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix grouped QML propertiesFriedemann Kleint2022-03-031-3/+10
| | | | | | | | | | | | | Register the meta type using QQmlMetaTypeInterface and use them when creating properties in the dynamic metaobject builder. This at least fixes grouped properties when decorators are used. It does not work when using plain qmlRegisterType() due to an ordering problem. Fixes: PYSIDE-1836 Change-Id: I06db020a1ccd169da7a745cc5ef42d38ce35f5f5 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Implement QQmlPropertyValueSourceFriedemann Kleint2022-02-281-2/+17
| | | | | | | | | | | | | | | As is done with the other interfaces, add a class QPyQmlPropertyValueSource inheriting from QObject and QQmlPropertyValueSource. Store its offset in QQmlPrivate::RegisterType::valueSourceCast if it is found as a base class. [ChangeLog][PySide6] class QPyQmlPropertyValueSource for implementing QML value sources for properties has been added. Task-number: PYSIDE-1709 Change-Id: Icd1bd57972f339f9839ccd8d9bf6ff9e5e16ec62 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Refactor handling of QmlListPropertyFriedemann Kleint2022-02-241-48/+39
| | | | | | | | | | | | | PySidePropertyPrivate had a function pointer for the meta call handler that was set to an internal function for most properties. QmlListProperty would set it to a different function along with user data. Turn this into a virtual function of PySidePropertyPrivate and override it in QmlListPropertyPrivate. The function pointer and the user data pointer can then be removed. Task-number: PYSIDE-1827 Change-Id: I9c6452e2d39d5fd9b14d4c74ab7ed2fad483af29 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add the QmlAttached decoratorFriedemann Kleint2022-02-168-3/+385
| | | | | | | | [ChangeLog][PySide6] The QmlAttached decorator has been added. Task-number: PYSIDE-1709 Change-Id: I0301ecc7a9bc7a1b798095e8972b2fe4addf2eaf Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add the QmlExtended decoratorFriedemann Kleint2022-02-167-2/+276
| | | | | | | | | [ChangeLog][PySide6] The QmlExtended decorator has been added. Task-number: PYSIDE-1709 Change-Id: I56d1c75f281f37e9d23c64362ce89c5f1f49723a Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add the @QmlForeign decoratorFriedemann Kleint2022-02-117-3/+202
| | | | | | | | [ChangeLog][PySide6] The @QmlForeign decorator has been added. Task-number: PYSIDE-1709 Change-Id: I7dbba47923efb6a1c3ac4accb2b3adcd3fb6fd9b Reviewed-by: Christian Tismer <tismer@stackless.com>
* libpysideqml: Use a shared pointer in the QmlTypeInfo hashFriedemann Kleint2022-02-114-17/+25
| | | | | | | | | | Preparing for the introduction of the @QmlForeign decorator, where another type is created by the QmlEngine, which requires an alias entry in the hash. Task-number: PYSIDE-1709 Change-Id: If0391e2f4cf629a1bead57d945d0effae3a3020a Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add the @QmlNamedElement decoratorFriedemann Kleint2022-02-096-5/+187
| | | | | | | | | | | Add the decorator and split the registration functions in order to be able to pass a different type name. [ChangeLog][PySide6] The @QmlNamedElement decorator has been added. Task-number: PYSIDE-1709 Change-Id: I081cd33313d7b9c19cb6403ee56ac9d8b1d9e606 Reviewed-by: Christian Tismer <tismer@stackless.com>
* libpyside: Factor out helpers for class decorators with parametersFriedemann Kleint2022-02-092-81/+38
| | | | | | | | | | | | | | | | | | | | Class decorators with parameters (as opposed to parameterless decorators which are simple functions) requires Python types with call operators to be registered. Add Decorator C struct with a pointer to a class derived from DecoratorPrivate that has virtual functions for the tp_init()/tp_call() functions. Provide templates that help to create the slot arrays for the type registration. Provide predefined types for decorators with string/type parameters. Task-number: PYSIDE-1709 Change-Id: I2946b4505c01b49532af534adcedff7a51634929 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* libpysideqml: Use SingletonInstanceFunctor instead of SingletonFunctorFriedemann Kleint2022-02-041-1/+1
| | | | | | | | | Adapt to qtdeclarative/9dc7a22b212c18215942b9a4bfa17bd16dd5151b. Task-number: QTBUG-95788 Change-Id: I024f27d8d20f4bc8376f6f4be5ee2dc23218e889 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PyPySide: Rename interface functions and classes to simplify debuggingChristian Tismer2022-02-033-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | The names of certain interface functions are not always following a simple scheme. Especially it is not easy to see immediately if we are dealing with a method of SbkObjectType or SbkObject Do a few renamings to simplify debugging and make the code easier to understand. When a function is used in a type spec and there is no other important reason, it should be named like {Py_<tpname>: reinterpret_cast<void *>(<TypeName>_<tpname>)}, Rename also all type functions ending on "TypeF()" to end in "_TypeF()". This is not always the case. Examples: SbkObjectTpNew -> SbkObject_tp_new SbkObjecttypeTpNew -> SbkObjectType_tp_new PyClassPropertyTypeF -> PyClassProperty_TypeF Task-number: PYSIDE-535 Change-Id: Icbd118852f2ee732b55d944ed57c7a8ef7d26139 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* libpysideqml: Introduce a hash for extra QML type infoFriedemann Kleint2022-02-026-38/+172
| | | | | | | | | | More information will be needed for further decorators, so, replace the existing global lists and hashes by a struct in a global-static hash per type object. Task-number: PYSIDE-1709 Change-Id: Ia8b46c461b8630463ac6b7113c6d64f851d6e2e3 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Move the mutex for locking QObject allocation helpers to libpysideFriedemann Kleint2021-12-081-5/+2
| | | | | | | | | | Qml and Quick were using 2 different mutexes, which does not make sense. Task-number: PYSIDE-1709 Change-Id: Id0ec0f780c1d24e40a7f072dea62964ecf92e9d2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Pyside6: Move the QuickRegisterItem helpers into libpysideqmlFriedemann Kleint2021-12-082-1/+28
| | | | | | | | | libpyside had some variables that were only used by Qt Qml/Quick. Move them into libpysideqml. Task-number: PYSIDE-1709 Change-Id: I8d794c1149bc35f5bd0d8c6aec9b222bb7f73bf5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpysideqml6: Use the namespace PySide::Qml consistentlyFriedemann Kleint2021-12-089-32/+46
| | | | | | Task-number: PYSIDE-1709 Change-Id: I03458bf72c2b2d37e71d16755c6a32470fb5f5e3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Move the QML registration code into a libraryFriedemann Kleint2021-12-0816-0/+1672
This makes the code easier to maintain. Task-number: PYSIDE-1709 Change-Id: Idb75143a7e6d218637ab75463db88b6135cd4086 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>