aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.7' into 5.8v5.8.0-beta1Liang Qi2016-10-276-28/+41
|\ | | | | | | | | | | | | Conflicts: tests/auto/quick/qquicktextedit/BLACKLIST Change-Id: I0b9e5bea5da5d2666887c202e62d889b4aa56900
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-275-8/+6
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickwindow.cpp tests/auto/quick/qquicktext/BLACKLIST tests/auto/quick/qquicktextedit/BLACKLIST Change-Id: I8bd68b0b5e853b7908791d2cbddd18dd527c76ae
| | * Fix documentation for dragFinished signalAndy Shaw2016-10-261-1/+1
| | | | | | | | | | | | | | | Change-Id: I9a38ab8ff60921e6d5ff6c2fa476b24d28781feb Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Fix TextInput::selectByMouse documentationMitch Curtis2016-10-191-2/+2
| | | | | | | | | | | | | | | Change-Id: I41ef6b38e74162434c397535f9d73fff80e29c78 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| | * QQuickWindow: don't discard timestamps for wheel eventsJ-P Nurmi2016-10-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noticed while debugging QTBUG-56075 on XCB. QQuickFlickable did not receive timestamps for wheel events provided by XI2. This alone does not fix the flicking speed issue with high-precision trackpads, but is needed to be able to calculate the appropriate velocity. Task-number: QTBUG-56075 Change-Id: I458e6302aee72863cdc1f8e8f7d99449016905a9 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * Remove superfluous warning statement in QAccessibleQuickItem::rect()Alexandru Croitor2016-10-131-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning statement is printed whenever a successful hit test (essentialy a hover) happens on a QML item which is accessible (e.g. a Label) and also not visible. The message looks like "QQuickText QVariant(Invalid) QRect(0,0 0x0)". The information serves no real purpose though: 1) The property accessibleText is not set anywhere 2) The warning happens in a valid use case when an item is invisible, and the user mouse accidentally hovers over its position Change-Id: I8d20f7842d92c7944bb5e3b614ecd6fad500102a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | * Check qgl_current_fbo_invalid before using qgl_current_fboAlexandru Croitor2016-10-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSG24BitTextMaskShader::useSRGB() on macOS accesses the current context qgl_current_fbo member without first checking if it is valid. Make sure it also checks qgl_current_fbo_invalid, thus not accidentally dereferencing a dangling pointer. Change-Id: I56a77de23ee3b4b271bd848506ff26e14d7b6d15 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | QQuickShortcut: allow setting a custom context matcherJ-P Nurmi2016-10-261-20/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows Qt Quick Controls 2 to register a shortcut context matcher that makes shortcuts behave well with QQC2's item-based popups, which QQuickShortcut is not aware of. Task-number: QTBUG-56562 Change-Id: Ia2518fd6ac7140f60aa38c7d9af557007e9db23b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | | Doc: better example explaining use of tx.executeSql with parametersNico Vertriest2016-10-261-7/+24
| | | | | | | | | | | | | | | Change-Id: I79ab2cc4c0525dbc285b04b3867220f6943dc9e6 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | | Windows: Fix distance field rendering with fonts with broken cmapEskil Abrahamsen Blomfeldt2016-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the CMAP table of a font is not present on Windows, then the font will not be counted as a ttf file, likewise if the CMAP table has a bug in it. An effect of this is that the glyphCount() will be returned as 0 since we will bail out before fetching the maxp table, and the distance field renderer assumes the glyph count is valid. While the font in question is obviously broken and may have other issues, it is possible to still support using it for rendering text by bypassing the check when we cannot get a reliable glyph count from the font. [ChangeLog][Windows][Text] Worked around an issue with fonts that have corrupt cmap tables. Task-number: QTBUG-45321 Change-Id: I9cfd7809661ae6b902f6b9d47ffb18bfbc06bcd4 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Add "We mean it" comment to qquickdesignercustomparserobject_p.hFriedemann Kleint2016-10-211-0/+11
| | | | | | | | | | | | | | | | | | | | | Amends 54765de17916948ef56a3fd1111e8c765c07155a Change-Id: I30b9e31326d20f176a01ff625fbe8597b43cbc62 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-10-204-12/+103
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickitemsmodule.cpp tests/auto/quick/rendernode/tst_rendernode.cpp Change-Id: I90582df69feb95a4e4aafb0b9793c23714654f19
| * | Row/Column/GridLayout: add missing margins properties to documentationMitch Curtis2016-10-141-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | 52e1044a1a22525b960d9e1d336ac06c4f39e6d5 in qtquickcontrols missed this. Change-Id: Ie104c421e34d4d2a13a88864a279eb65738bd5a8 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * | QQuickItem: eliminate repeated access to QQmlV4Function::v4engine()J-P Nurmi2016-10-131-10/+10
| | | | | | | | | | | | | | | Change-Id: Ifc33c17d125ca794a157a87dc5cc1be51c2aaefb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Item: sort out mapFromGlobal() and mapToGlobal()J-P Nurmi2016-10-133-2/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit message of 08327da, and the change log of Qt 5.7.0 promised that mapFromGlobal() and mapToGlobal() were available in QML. But since the revision 7 of QQuickItem was not registered, this was not entirely true. Due to a little quirk in the QML engine's handling of revisioned methods, mapFromGlobal() and mapToGlobal() were only accessible via an identifier or property, but not directly: // works MouseArea { id: ma; onClicked: console.log(ma.mapToGlobal(Qt.point(mouse.x, mouse.y))) } // ReferenceError: mapToGlobal is not defined MouseArea { onClicked: console.log(mapToGlobal(Qt.point(mouse.x, mouse.y))) } Furhermore, this is inconsistent with how mapFromItem() and mapToItem() are exposed to QML. Even though the C++ versions of these methods take QPointF and QRectF, the QML versions take 2-4 number specifying x, y, width and height: object mapFromItem(Item item, real x, real y) object mapFromItem(Item item, real x, real y, real width, real height) object mapToItem(Item item, real x, real y) object mapToItem(Item item, real x, real y, real width, real height) Therefore the signature of mapFromGlobal() and mapToGlobal() should be: object mapFromGlobal(real x, real y) object mapToGlobal(real x, real y) This change implements the QML versions of these methods using QQmlV4Function, and adds the missing documentation for the QML API. NOTE: This is QML-only API. Change-Id: I2ced4836d274c7d1e644ea29fc25dbdd2045001b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-124-10/+22
| |\| | | | | | | | | | Change-Id: Ib31008e593442ca5813fb14ae6b02f7ab2577395
* | | Doc: minor typo in doc TextInput QML typeNico Vertriest2016-10-191-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: Ia04ea9a6afefcc1acda3eb6fb466a1faddfb3309 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Revert "Temporarily provide old Type enums in QSGGeometry"Laszlo Agocs2016-10-191-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 186e442 in QtLocation migrated to the new XxxxType naming convention, the temporary old names can be removed. This reverts commit 73c2e2395025b7d17cad0fc97d4a09b2adf46fc2. Task-number: QTBUG-56519 Change-Id: Icf9aa5e16e6590a631f65bc669cf7b8d0acc6996 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | | Search for configure tests in the correct directoryLars Knoll2016-10-141-0/+1
| | | | | | | | | | | | | | | Change-Id: I32a0c0357c1c83a889be7ac8f35844840084d8ae Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Temporarily provide old Type enums in QSGGeometryLaszlo Agocs2016-10-131-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unblock qt5.git integration of dependent modules like qtlocation. 6df6c10e1af827d06a387e7422176dd310cf83be changes the names of the new-in-5.8 type enums from TypeXxxx to XxxxType as per API review. However QtLocation already uses the TypeXxxx variants. So provide a temporary solution by offering both. Change-Id: Id23db0044f09654bd61b64f401b683a7944cf245 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | Merge remote-tracking branch 'origin/5.6' into 5.8Simon Hausmann2016-10-134-10/+22
|\ \ \ | | |/ | |/| | | | Change-Id: I175b27337b534c0b8f46a4a792d2c43cde73ffc4
| * | Fix FastFBOResizing hint for QQuickPaintedItemYoann Lopes2016-10-062-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | The item updates the node in an order that would never actually take that flag into account. We now makes sure the FBO size is updated when the flag is set. Change-Id: I7aaaf64ed802ec0b53a3b47a39bbdea8195b4092 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | QQListView: use dot for property syntaxFrederik Schwarzer2016-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | Additionally, that way the braces are not needed anymore. Change-Id: I5afc8fa738211f884ac011079a2ee63613a46d08 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * | focus.qdoc: fix grammar in documentationFrederik Schwarzer2016-10-061-1/+1
| | | | | | | | | | | | | | | Change-Id: I9b8d0158346e432e44758ae153e9ea02a9513c7e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | Fix some minor issues in documentationFrederik Schwarzer2016-10-061-5/+5
| | | | | | | | | | | | | | | Change-Id: I19f1a75b2e1a1096077df7ea109fd70be9d3c759 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Fix enums in QSGGeometryLaszlo Agocs2016-10-127-97/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Minor fixes based on comments from the 5.8 API changes review: Revert to using Qt-style enum values (POSITION -> PositionAttribute). Use ByteType, FloatType, etc. instead of TypeByte, TypeFloat, ... Add comments about magic GL values. Add missing docs for Attribute::createWithAttributeType(). Change-Id: I1b8242efd3936f000ce8df6c11ff9ab7affb5713 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Use d3d12 feature in rendernode exampleLaszlo Agocs2016-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Migrate the example away from config_d3d12 and make the feature public. Task-number: QTBUG-56327 Change-Id: I88809b8c41282cd75952d085cfd539a5d80f3f38 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.7' into 5.8" into refs/staging/5.8Liang Qi2016-10-1018-103/+94
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-10-1018-103/+94
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/quick/quickwidgets/quickwidget/main.cpp src/qml/jsruntime/qv4jsonobject.cpp src/qml/jsruntime/qv4qobjectwrapper.cpp src/qml/jsruntime/qv4qobjectwrapper_p.h src/qml/qml/qqmlengine.cpp src/qml/qml/qqmlpropertycache.cpp src/qml/qml/qqmlpropertycache_p.h src/quick/items/qquickanimatedsprite.cpp src/quick/items/qquickitem.cpp src/quick/items/qquickitem.h src/quick/items/qquickitem_p.h src/quick/items/qquickview_p.h src/quick/scenegraph/qsgcontext.cpp src/quick/scenegraph/qsgdefaultrendercontext.cpp Change-Id: I172c6fbff97208f21ed4c8b6db3d1747a889f22b
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-055-8/+17
| | |\| | | | | | | | | | | | | Change-Id: I081d9b15796b4133d2ba6f1a862f15b873a4846d
| | | * Canvas: Implement high-DPI render modeMorten Johan Sørvig2016-10-051-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scale the canvas image and texture buffer by the target devicePixelRatio. Task-number: QTBUG-37095 Change-Id: Ic432b278caa5c85cf3487d3108967cf3fcd2fa48 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | | * QQuickPositioners: fix sentence structure in apidocFrederik Schwarzer2016-10-041-4/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: I14eb860386dfad57ab8cf492cb782970497756b9 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| | | * QQuickRectangle: fix typo in apidocFrederik Schwarzer2016-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib026302143df82196fdfd70b9ea9923098adbc7c Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| | | * Fix crash on cancel QQuickImageResponseAlbert Astals Cid2016-10-032-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need to deleteLater here, we can not be sure that the response won't continue for a bit after this, and it's not even needed since documentation says you need to emit finished in all cases and this will call deleteLater on the response anyway. Task-number: QTBUG-56056 Change-Id: I7cc90620f499beaaaaa61aac77d72d067308838c Reviewed-by: Michael Brasser <michael.brasser@live.com>
| | * | Doc: add spec on parameter imageNico Vertriest2016-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Error message: Undocumented parameter 'image' in QQuickTextureFactory::textureFactoryForImage() Change-Id: If7cb1e63091c23304b64c5688af0abe55fc37ff4 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-046-67/+43
| | |\| | | | | | | | | | | | | Change-Id: I48764527fa1ab6d8d59c24552394459b1cdc58ee
| | | * Fix crash with window-less QQuickItemsSimon Hausmann2016-09-306-67/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark QQuickItem visual children directly in QQuickItem instead of relying on the item being a (grand) child of a window. [ChangeLog][QtQuick] Fix crash with QQuickItems created via JavaScript being garbage collected sometimes when they're not assigned to a window. This may happen even in qmlscene when between the creation of the root item and the assignment to the QQuickWindow the garbage collector runs. The previous approach of a persistent in QQuickView marking the visual item hierarchy relies on the existence of a view. The only thing left to do in the view and qml window implementation is enforcing the CppOwnership policy set on the content item in QQuickWindow by ensuring the presence of the JS wrapper, replacing the persistent with a weak value. This also introduces a new internal mechanism for QObject sub-classes to provide their own V4 JS wrapper types. Task-number: QTBUG-39888 Change-Id: Icd45a636a6d4e4528fc19165b13f4e1ca7967087 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| | * | Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7J-P Nurmi2016-09-306-20/+31
| | |\ \
| | | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-306-20/+31
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/quick/qquicktext/tst_qquicktext.cpp Change-Id: I241cd418bb7e7b95e0a0a2ee4c465d48be2a5582
| | | | * Fix incorrectly aligned text whose size depends on its implicit sizeMitch Curtis2016-09-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The if statement in QQuickTextPrivate::setupTextLayout() was missing an OR clause for the case where the line width is neither greater nor less than the old width/natural width, but has actually changed. If that sounds confusing, it's because it is. Basically, the outer layouting loop in that function needs to run twice for this scenario, so that's what this patch makes it do. Change-Id: I13777667eb13506d50f05e9766785a1c2c46125c Task-number: QTBUG-50738 Task-number: QTBUG-50740 Reviewed-by: Liang Qi <liang.qi@qt.io>
| | | | * QQuickText: fix paddings when wrapping or eliding is usedJ-P Nurmi2016-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8ec8c8eff41e77225ef42f7bd9e52f4558d00130 Task-number: QTBUG-55779 Reviewed-by: Liang Qi <liang.qi@qt.io>
| | | | * Flickable: do not emit movementEnded until it really doesShawn Rutledge2016-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was occurring when using a physical mouse wheel: movementEnded was emitted, then contentYChanged would still be emitted a few more times. Task-number: QTBUG-55886 Change-Id: Ib5e833d5d84633bb07b8c240ea3ccc9977e443f8 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | | | * Flickable: don't activate velocityTimeline if scroll phase availableShawn Rutledge2016-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The velocity timeline does not need to drive the movement if we can be sure that there are enough wheel events coming from the OS to move the flickable smoothly. And when the velocityTimeline is not active, the movementEndingTimer will emit the movementEnded signal, as it should. Task-number: QTBUG-55871 Change-Id: I5569be3aa6335d43ba162967ee03d08de3ba8096 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | | | * QSGRenderContext: Add null-checks for stringsFlorian Bruhin2016-09-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some systems, glGetString returns null for some reason, which causes a segfault here. Let's assume it's not one of the broken configurations and hope for the best instead. Task-number: QTCREATORBUG-15992 Task-number: QTBUG-56165 Change-Id: I83867e42f0fd8f576bf51ac0a2213e1348111ffd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | | | * Quick: Do not send SG updates when AnimatedSprite is not visibleErik Verbruggen2016-09-232-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-55935 Change-Id: I475c1bb3e7aae9499b1b07a52f3c10f54c8b3481 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| | | | * Fix MouseArea sticky grab with drag.filterChildren enabledMartin Jones2016-09-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-56036 Change-Id: Iad776f42cc776e0d397173b3d2f3922eb7914392 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
| | * | | Remove dead codeJake Petroules2016-09-301-4/+0
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt 5.7 only deploys to macOS 10.8, so this code is never executed. Also, QSysInfo will be deprecated in Qt 5.9 so this will fix a warning. Change-Id: Iecebdb2aed3b0e31b0540621b16aa958031a8e81 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Fix Flickable state being reset when it replays a delayed press.Andrew den Exter2016-09-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore mouseUngrabEvents() triggered by giving mouse grab to a child item when replaying a delayed press event. Change-Id: I6c8db61167e21bf10d533b17f7cc65e4754bd432 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
* | | | Make the designer support configurableLars Knoll2016-10-102-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I2c6cb57fbd6add3afe465dcc02c651ee9e96fbc7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Don't build view transitions if nobody uses themLars Knoll2016-10-104-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I162d2ff5e34aecf63f78c3ca49b99a84986c24ed Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>