Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Rename PySide2 to PySide6Friedemann Kleint2020-11-021604-292941/+0
| | | | | | | | Adapt CMake files, build scripts, tests and examples. Task-number: PYSIDE-904 Change-Id: I845f7b006e9ad274fed5444ec4c1f9dbe176ff88 Reviewed-by: Christian Tismer <tismer@stackless.com>
* replace **locals by f-strings where possibleChristian Tismer2020-11-025-38/+34
| | | | | | | | | This change affects mostly only my own sources which were prepared for the migration to Python 3.6 . Task-number: PYSIDE-904 Change-Id: I0c2cd59f6f625f51f876099c33005ac70ca39db9 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Remove version suffixes from the example documentationFriedemann Kleint2020-11-027-14/+14
| | | | | Change-Id: Ia59b552467a58c1e7b791f5cafee571cd3c867bb Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Clean up PySide2/global.hFriedemann Kleint2020-11-021-11/+1
| | | | | | | | After 62c21af778b7bff6c86e7f89ef03a87efa6c51cb, the annotation defines for Qt are no longer required. Change-Id: Ib3746257992073850a324fb1de77a484aa36d6b6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Declare some missing functions in QListFriedemann Kleint2020-10-302-4/+13
| | | | | | | | | | | | | | | | QList<T> member functions taking a T parameter are no longer seen by the code parser since they take a parameter_type which is specialized to be T or const T & depending on T. Declare them instead. Similar, change QPolygon::operator<<(T) to add-function. This fixes several PySide tests that rely on those functions (qpolygon and others). Task-number: PYSIDE-904 Task-number: PYSIDE-1339 Change-Id: Ic1157f384f86b796cc5c7bc06a934a63649d74be Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide2: Fix the doc buildFriedemann Kleint2020-10-281-4/+12
| | | | | | | | | | QT_INCLUDE_DIR obtained from Qt6::Core's INTERFACE_INCLUDE_DIRECTORIES contains a ';'-separated list of directories, which caused the shiboken doc run to fail. Iterate over the list to determine the root include directory. Change-Id: I5c639b59fc614e92430999fdbb800063131f7d6d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pyside/doc: remove python 2 referencesCristian Maureira-Fredes2020-10-287-30/+8
| | | | | | Change-Id: Ife968831c695f1982f9d0ed1157f9128331a700e Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Rename shiboken2 to shiboken6Friedemann Kleint2020-10-2824-71/+71
| | | | | | | | Adapt CMake files, build scripts, tests and examples. Task-number: PYSIDE-904 Change-Id: I4cb5ee4c8df539546014b08202a7b1e98ed3ff07 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* remove traces of Python2 from C codeChristian Tismer2020-10-275-53/+4
| | | | | | | | | | | | It will be assumed that Python is always Python 3. All checks for Python 2 are removed. This is the second part of cleaning up the C code from references to Python 2. Task-number: PYSIDE-904 Change-Id: I3006412c2a5bb65402101b0aac5a5f2fc79ce2f8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* remove traces of Python2 from Python codeChristian Tismer2020-10-278-31/+8
| | | | | | | | | | | | It will be assumed that Python is always Python 3. All checks for Python 2 are removed. This is the first part of cleaning up the Python code. We will then also clean the C code. Task-number: PYSIDE-904 Change-Id: I06050a8c1a18a19583f551b61775833a91673f4e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Remove deprecated QVariant::TypeFriedemann Kleint2020-10-272-47/+0
| | | | | | | | | Usage of the enum causes deprecation warnings. In addition, it is not clear why the type was there given that QVariant is not exposed. Remove the converters. Change-Id: I5b1f12ee0f869a63e6b7d82afdcb58a5d7062ce6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Bump the version.py filesFriedemann Kleint2020-10-271-2/+2
| | | | | Change-Id: I0e84b56ce354f3c88cb05a5818e80a28210d888b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* feature-select: implement class propertiesChristian Tismer2020-10-276-21/+299
| | | | | | | | | | | | | | | | | | | After implementing property objects for PySide, the static properties (properties for static functions) were quite missing, for instance from QtCore.QCoreApplication and QtWidgets.QApplication . This implementation uses the normal Python properties and derives a PySide.ClassProperty class which works almost the same on classes. The static methods had to be mutated to class methods explicitly. That would be automated by PyType_Ready, but here we are doing this after class initialization. Task-number: PYSIDE-1019 Change-Id: Iabe00be18e25881cc7a97507b6fdae3e2d57ff7a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide snippets: Fix deprecation warnings about constructing a QVariant from ↵Friedemann Kleint2020-10-271-34/+28
| | | | | | | | | a type id Rewrite the helper QVariant_resolveMetaType() to return a QMetaType. Change-Id: Ifa3994ea0c23149bd925e4a422f19e98e742d97f Reviewed-by: Christian Tismer <tismer@stackless.com>
* libpyside: Fix deprecation warnings about constructing a QVariant from a type idFriedemann Kleint2020-10-272-5/+5
| | | | | | | | | Build the QVariant from the QMetaType, fixing warning like: libpyside/pysidemetafunction.cpp:186:64: warning: ‘Type’ is deprecated: Use QMetaType::Type instead. [-Wdeprecated-declarations] /libpyside/pysidemetafunction.cpp:186:77: warning: ‘QVariant::QVariant(QVariant::Type)’ is deprecated: Use the constructor taking a QMetaType instead. [-Wdeprecated-declarations] Change-Id: I5c9c4d775ef58ecf17326c112c5130c43fe1a09b Reviewed-by: Christian Tismer <tismer@stackless.com>
* pysideproperty.cpp: Fix warning about offsetofFriedemann Kleint2020-10-261-13/+15
| | | | | | | | | Return the functions directly, fixing (g++ 9.3.0): sources/pyside2/libpyside/pysideproperty.cpp:331:42: warning: offsetof within non-standard-layout type ‘PySidePropertyPrivate’ is conditionally-supported [-Winvalid-offsetof] Pick-to: 5.15 Change-Id: I98f57d05c4c4163e06431c579537b4db01c656e6 Reviewed-by: Christian Tismer <tismer@stackless.com>
* QtQml: Implement QmlElementMaximilian Goldstein2020-10-226-4/+130
| | | | | | | | Equivalent to QML_ELEMENT in C++, this enables users to register classes for use in QML by using the QmlElement decorator. Change-Id: I697e486ef58b18cce4c310e4b556e28735a16d45 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devFriedemann Kleint2020-10-2114-183/+236
|\ | | | | | | Change-Id: I8831b840fa7816b8919ecbaab17b41822a0a6012
| * Add some missing enumerations and classesFriedemann Kleint2020-10-215-1/+8
| | | | | | | | | | | | Task-number: PYSIDE-487 Change-Id: Ic5d15d67b821eff5cb59727ce2d749e6aa848441 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
| * doc: update versions and comandsCristian Maureira-Fredes2020-10-219-181/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add new way of building rst-only documentation * Updating recommended libclang for 5.15 * recommending python 3.5+ * link commercial license * Show videos as grid * changing title of a tutorial to be more specific * add missing step to build only shiboken * add venv as an option before virtualenv * add problem on windows and python 3.8.0 * add section to create a virtual environment * only show titles of tutorials to avoid having a long page Change-Id: Iebb99d2cd776c3d5b72dc44153f325f74a1626cc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devFriedemann Kleint2020-10-204-0/+34
|\| | | | | | | Change-Id: Iaabea628351fac9da88b5779b537f62262ff82a7
| * Add some more classes from QtConcurrentFriedemann Kleint2020-10-164-0/+34
| | | | | | | | | | | | | | | | | | This lays the foundation for adding further specializations of QFuture and QFutureWatcher to dependent modules. Task-number: PYSIDE-1202 Change-Id: I82f9940db9d50ced95d4e1388c6460c6efc0469b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Fix QMutexLockerFriedemann Kleint2020-10-204-24/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/d4b206b246caf9b49110526585693ab629609d99 split QMutex and QRecursiveMutex which inherited from each other in Qt 5 into separate classes and changed QMutexLocker into a template. This could only be represented by separate types in Python. To work around this, reconstruct a QMutexLocker with the common API into an invisible namespace for generating the bindings. Task-number: PYSIDE-1339 Task-number: PYSIDE-904 Change-Id: I776250f91dfed9985f2a8a5705b26f782a20bbd9 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Remove obsolete OpenGL function modificationsFriedemann Kleint2020-10-151-5/+0
| | | | | | | | | | | | | | | | | | | | They were removed by qtbase/bf5d52020b348d77a8968e39ca36dea7cbcef0e5. Task-number: PYSIDE-1339 Task-number: PYSIDE-904 Task-number: QTBUG-86475 Change-Id: I340bee1743d8817f6a476e0aac00f71c066c4c02 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devFriedemann Kleint2020-10-145-53/+410
|\| | | | | | | Change-Id: I46f5d2dc758d0e1f23377c91ba7496793461771e
| * property_python_test.py: Restrict exceptFriedemann Kleint2020-10-131-1/+1
| | | | | | | | | | | | | | | | | | Catch ImportError when trying to import support from test. Amends d3883e9186892e673e8a66ad6651409d5eaf7cf3. Task-number: PYSIDE-1402 Change-Id: I9fc77f6311596f1e52872d5ffbb491e01c207b73 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Update QtCore.Property to the current standardChristian Tismer2020-10-125-53/+410
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WAS: Feature-select: Use QtCore.Property instead of Python's property When successfully trying to use QtCore.Property for feature-select's property, I suddenly realized that the implementation only works with QtCore derived classes. This is the reworked version of Property that behaves correctly. The exhaustive Python test was adapted and is used to check the full compatibility of this implementation. In a later update, this implementation might be changed to no longer be restricted to QObject. Change-Id: If87b7b633a2c45e23a15c4d956f63e21d33af3dd Task-number: PYSIDE-1402 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.15' into devFriedemann Kleint2020-10-121-3/+76
|\| | | | | | | Change-Id: I7f16e4f178bff9c37af3b7a9d536c5d6f42c66fb
| * feature_select: finish properties and postpone static propertiesChristian Tismer2020-10-091-3/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Static properties are not easy to support. They need an extra property subtype and support in the meta-class. A problem is that the implementation needs to go deeply into the innards of things and need to use `_PyType_Lookup`. That is hard to circumvent when the limited API is used. Therefore, the current implementation will be it for 5.15 . At most we might add a few missing properties through XML. Task-number: PYSIDE-1019 Change-Id: I56a9eabe5f774c1ff04c149227e06318c8bf4f29 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Fix some testsFriedemann Kleint2020-10-062-34/+15
| | | | | | | | | | | | | | | | | | | | - QOpenGLBuffer has been moved to QtOpenGL - QPrinter no longer has API for the margins taking tuples Task-number: PYSIDE-1339 Task-number: PYSIDE-904 Change-Id: I8cc6661f754f0cda3fecc56a9a7243f7501e56b9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.15' into devFriedemann Kleint2020-10-065-0/+101
|\| | | | | | | Change-Id: I89aa3d4c4a3fa274e2c5ccd8b5facb9531137e80
| * Generate flags operator methods for QFlags on hidden top level namespaceRenato Araujo Oliveira Filho2020-10-065-0/+101
| | | | | | | | | | | | | | | | | | | | Factor out method to write the operator functions and call it for the module wrapper, too. Fixes: PYSIDE-1326 Change-Id: I5b6faf19d253d5828474dec36b454aa20753123c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devFriedemann Kleint2020-10-0617-60/+103
|\| | | | | | | Change-Id: I7b4ff138799ee81940c36e68a105cb42bb38a3ff
| * Documentation: Fix virtualenv URLFriedemann Kleint2020-10-051-1/+1
| | | | | | | | | | | | Fixes: PYSIDE-1391 Change-Id: I48e8878cca28831eb881383a31d4b4b87236c85d Reviewed-by: Christian Tismer <tismer@stackless.com>
| * doc: remove qApp importCristian Maureira-Fredes2020-10-055-5/+5
| | | | | | | | | | | | | | Fixes: PYSIDE-1382 Change-Id: I84dbd296093f38642922b3642e866e77224a58f2 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Add Network as dependency for WebEngineCoreCristian Maureira-Fredes2020-10-042-1/+5
| | | | | | | | | | | | | | | | | | This enable to expose types like QNetworkCookie which is required for the setCookie, and deleteCookie methods. Fixes: PYSIDE-644 Change-Id: I28d0b81e59a6ca411f22e1f9afd7f4139927b1a2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Move the annotations for parsing Qt-based headers to shiboken2Friedemann Kleint2020-10-021-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is one of the lesser known things that any project generating bindings for Qt-based code needs to include pyside2_global.h in order for signals, slots and properties to be recognized, since the annotation macro definitions are in this file. Move the definitions over to shiboken2 to remove the need to include it. [ChangeLog][shiboken2] Projects generating bindings for Qt-based code no longer need to include pyside2_global.h. Change-Id: I531bb7444561ccfc352f3be09ecdf854f9f7dd3d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
| * Consolidate export/import macrosFriedemann Kleint2020-10-019-52/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the 3 libraries that need to export symbols, (libshiboken, libpyside, pysidetest), fix up the export/import macros to follow the Qt convention: - Define generic export/import macros LIBSHIBOKEN_EX/IMPORT equivalent to Q_DECL_EX/IMPORT. Remove definitions for the ancient g++ 4.X. - Reuse those in libpyside, pysidetest as PYSIDE_EX/IMPORT and PYSIDETEST_EX/IMPORT. - While building, define some BUILD_ macro indicating export. - Define the _API macros depending on the BUILD_ macro to be export or import, respectively as is done in Qt. Remove the ugly hack in pysidetest that tried to re-use the PYSIDE_API macro. - Brush up the headers a bit. Change-Id: I635891b7eec5a52a1dcf45022f7bfb6a9cfee83f Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Adapt to recent changes in qtbaseFriedemann Kleint2020-10-028-26/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove QProcess::pid(), adapt test (qtbase/0f8848b7e25e4d8fb9265ff6e0aa31946addd741) - Remove enum from QPrinter - Add enum GrabTransition to QPointingDevice - Remove deprecated functions from QByteArray, QXmlStreamAttributes - Adapt Qml tests - Remove fake property from QLayout Task-number: PYSIDE-1339 Task-number: PYSIDE-904 Change-Id: I98cc90723cbeda15b23c5b22d026cb2ab9a358ff Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Fix QBitArray-related tests of QDataStreamFriedemann Kleint2020-10-021-55/+19
| | | | | | | | | | | | | | | | | | | | | | | | The tests were relying on the serialized format of QBitArray in Qt 5, which has changed in Qt 6. Introduce a helper function to create the serialized format and use that. Remove the corrupted data test since it could not be recreated. Task-number: PYSIDE-1339 Task-number: PYSIDE-904 Change-Id: I6331c96e5b4d6657a515b82db77f2c5c5da62d71 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Add QStringView/QByteArrayViewFriedemann Kleint2020-09-304-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | View types as function parameters cannot be converted in the standard way shiboken does it: QStringView cppArg0; pythonToCpp(pyArg, &cppArg0); since they reference some other data. Introduce a new "viewOn" member to type system entry for them. It causes the function arguments to be replaced by their viewed-on types (stringview->string) via metatype. Add a test in libsample and a test for QUuid::fromString(QStringView). Test returning QStringView via QRegularExpressionMatch::capturedView(). Task-number: QTBUG-84319 Task-number: PYSIDE-1339 Task-number: PYSIDE-904 Task-number: PYSIDE-487 Change-Id: Iddb4ea268a54928d290e29012e2738772fae83f0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devFriedemann Kleint2020-09-303-102/+90
|\| | | | | | | Change-Id: I13721e13d2fab13945385fe529afe4ab431e0532
| * Add command to build rst documentation onlyCristian Maureira-Fredes2020-09-292-73/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the process to get the documentation built is to build the whole project, that is too time consuming. Additionally, using qdoc on the Qt API takes a lot of time. This patch introduces the setup.py option called 'build_rst_docs' which skip the general build, and only generates HTML documentation based on all the .rst files we have for shiboken and pyside. To use it: python setup.py build_rst_docs The build will throw warnings related missing directories, and files, which are generated on the 'qdoc' process, but since they are skipped they are not present. Some missing references warnings are skipped due to also come from the qdoc-based step. Task-number: PYSIDE-1106 Fixes: PYSIDE-1390 Change-Id: I4118fd3b64e217717df6cae093138f6951d37094 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Feature-select: Implement signature-awareness of snake_caseChristian Tismer2020-09-291-29/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After implementing selectable features, support from the signature module was quite much missing. It was not clear for some time what to do the best. It turned out to have the smallest impact and runtime penalty to use the Python parser output dictionaries and create copies with snake case naming. That has almost no overhead. Also, it was necessary to augment the internal map_dict with snake_case versions. It may be possible to simplify that map_dict further in another check-in. Remaining is the problem of static properties. This will be tried using the PySide Property objects which can be improved. Change-Id: Ied83ccb197a3c15932c4202b5f1ade772416e17b Task-number: PYSIDE-1019 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devFriedemann Kleint2020-09-2913-23/+28
|\| | | | | | | Change-Id: Ie6da3938b82f5ebe96dd12bd65a3ccc4180d2fba
| * doc: fix more sphinx warningsCristian Maureira-Fredes2020-09-295-6/+9
| | | | | | | | | | Change-Id: I07a87ad49546534f3492b534b2a2dd4945304de7 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Fix some sphinx warnings in Pyside2 documentationFriedemann Kleint2020-09-282-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | sources/pyside2/doc/deployment-briefcase.rst:163: WARNING: Title underline too short. sources/pyside2/doc/deployment-briefcase.rst:178: WARNING: Title underline too short. sources/pyside2/doc/deployment-briefcase.rst:178: WARNING: Title underline too short. sources/pyside2/doc/modules.rst:4: WARNING: toctree glob pattern 'PySide2/Qt*/index' didn't match any documents sources/pyside2/doc/tutorials/qmlsqlintegration/qmlsqlintegration.rst:103: WARNING: Unexpected indentation. sources/pyside2/doc/tutorials/qmlsqlintegration/qmlsqlintegration.rst:104: WARNING: Block quote ends without a blank line; unexpected unindent. sources/pyside2/doc/tutorials/qmlsqlintegration/qmlsqlintegration.rst:209: WARNING: Unexpected indentation. sources/pyside2/doc/tutorials/qmlsqlintegration/qmlsqlintegration.rst:211: WARNING: Block quote ends without a blank line; unexpected unindent. Change-Id: I06900906584644ed585a386803ff33939fd11103 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
| * Signature: Revert SbkSpecial_Type_Ready to PyType_ReadyChristian Tismer2020-09-246-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The early signature module tried to minimize the visible changes to the code base. It replaced the `PyType_Ready` call by a special version which did other things as well. We replace that special call by a more intuitive function `InitSignatureStrings` that does exactly that and nothing more. The functionality of the module is unchanged. Change-Id: Ic2f9cd29b0352f0a24daa55b01420c77d103c0b2 Task-number: PYSIDE-510 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.15' into devFriedemann Kleint2020-09-246-5/+26
|\| | | | | | | Change-Id: I7e4c7f9378706438715362b1e2da9a3cd2794562
| * add wiki link to doc indexJimmy Girardet2020-09-231-0/+4
| | | | | | | | | | | | | | Change-Id: I52f429fcc091d54b4eb409af121a1afa2f0dceae Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit a0a7b1fe8c976683832d0305e7e2cdf02faac928) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>