summaryrefslogtreecommitdiffstats
path: root/examples
Commit message (Collapse)AuthorAgeFilesLines
* torrent example: fix stripping of file extensionMarc Mutz2020-04-271-1/+1
| | | | | | | | | | | Due to QChar being convertible from almost any integral type, the old code actually called QString::remove(QChar). Fix by using QString::chop() instead. Change-Id: I345b018aa137ecff608a130e69ade5d37ef0805c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* SslSocketClient - fix example not to crashTimur Pocheptsov2020-04-221-0/+1
| | | | | | | | | | | | | | Due to the bug related to the 'new syntax' signal/slot connections, it's unfortunately possible to have a connection not deleted properly by the moment children objects get deleted. Then, as a result, in e.g. QSslSocket's destructor the socket will change its state, triggering the (now deleted) UI elements' access. Note - the original bug was reported, the patch (only possible?) was not accepted. Fixes: QTBUG-83659 Change-Id: I2965532485bcd46f93f8449e4d0a30da92b572c5 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Stop using obsolete TouchPoint rect accessors in tests and examplesShawn Rutledge2020-04-101-5/+7
| | | | | | | | | | Followup to cf4a8b12fa277c2ea218f022607934f60fed1a06 68916fede41d1eca5d07eb6b1db518d41a007616 and 3c159957f863cf8d367a9261e7016e52cd0348c1. Task-number: QTBUG-83403 Change-Id: Ieaf418860c565dbe883384e7f296a829fbfa1e33 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* macOS: Remove all use of deprecated Q_OS_OSX defineTor Arne Vestbø2020-04-035-7/+7
| | | | | Change-Id: I49c285604694c93d37c9d1c7cd6d3b1509858319 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* More qOverload cleanups in qtbaseTimur Pocheptsov2020-03-241-2/+1
| | | | | | Task-number: QTBUG-82605 Change-Id: I1c3c14ed82911ed5483258c11e76f5dd7744fa12 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QAbstractSocket: Fix usage of deprecated error signal in exampleMårten Nordheim2020-03-241-1/+1
| | | | | | Task-number: QTBUG-82605 Change-Id: I83a8777d32302607d48dd670b6c787ac05db88d2 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Doc: replace deprecated references to QGLWidgetChristian Ehrlicher2020-03-203-13/+13
| | | | | | | | Remove references to the deprecated QGLWidget and replace it with QOpenGLWidget. Change-Id: Ia31df42ab61c25e9ce46f4491267d2c64910f55c Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Mandelbrot Example: Use High DPI scalingFriedemann Kleint2020-03-125-21/+47
| | | | | | | Create the pixmap with a device pixel ratio set. Change-Id: I7f7e90aec4d117304852f050be70e14a0c6bf69d Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-116-17/+30
|\ | | | | | | | | | | | | | | | | Conflicts: src/corelib/plugin/qlibrary.cpp src/corelib/plugin/qlibrary_unix.cpp src/corelib/plugin/qpluginloader.cpp Change-Id: I866feaaa2a4936ee5389679724c8471a5b4b583d
| * examples: Fix build for configurations that do not have printsupportOliver Wolff2020-03-056-17/+30
| | | | | | | | | | | | | | | | | | printsupport features are only available if the module is available for the configuration. Every printer feature check has to be coupled with a check for the module itself. Change-Id: Id2ca84e71d5d74463d0ff35e8b18b252a779a883 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Polish the Mandelbrot ExampleFriedemann Kleint2020-03-103-33/+29
| | | | | | | | | | | | | | | | | | | | | | Fix warnings about float constants and comparison. Use member or constructor initialization. Introduce some const for clarity. Use Qt_CONFIG. Task-number: QTBUG-81254 Change-Id: I71a6ebfba397c0f8e1dd2e61167233c8e5c137af Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Add default arguments to QPainterPath methods using transformJarek Kobus2020-03-065-0/+5
| | | | | | | | | | | | | | Fixes: QTBUG-82602 Change-Id: Id82f145ffb33e6d4ef9b81282ad14657b1c8fbd0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Doc: Let SQL Drill Down example show correct use of qgraphicsitem_castPaul Wicking2020-03-062-0/+6
| | | | | | | | | | | | | | | | | | | | For qgraphicsitem_cast to work correctly with custom items, one must reimplement the type() function for each custom QGraphicsItem subclass. Do that in the example code. Fixes: QTBUG-7357 Change-Id: Ibf221817908355f0347cddfc46747b6955958f5f Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Examples: add scrollbar to allow viewing all options on AndroidAssam Boudjelthia2020-03-032-12/+33
| | | | | | | | | | | | | | | | | | | | This fix is most relevant for Android for affine and gradients examples. Currently, if the screen size is small the settings will show cramped and not usable. Thus, adding a scrollbar to fix that. Task-number: QTBUG-80717 Change-Id: Ic25460e5ce37a5c53bbcae48e11b6b787c45e999 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Examples: enable HighDPI scaling for examples on AndroidAssam Boudjelthia2020-03-0316-1/+49
| | | | | | | | | | | | | | | | | | These examples show very tiny UI elements on Android devices, thus enabling HighDPI. Task-number: QTBUG-80717 Change-Id: I813801d5249dc1fcfc6f61a8d146f60dd19901f6 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | QNetworkReply: Deprecate 'error' signal, use 'errorOccurred' insteadMårten Nordheim2020-03-031-1/+1
| | | | | | | | | | | | | | [ChangeLog][Deprecation Notice] QNetworkReply::error() (the signal) is deprecated; superseded by errorOccurred() Change-Id: I4f1ef410fd22d34ddf87e89cc5709cc60703af95 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Examples: use QDialog::showMaximaized() for AndroidAssam Boudjelthia2020-03-033-1/+14
| | | | | | | | | | | | | | | | | | Examples that use QDialog as main window should be maximized on Android to avoid a black view on most of the screen. Task-number: QTBUG-80717 Change-Id: I933c1a01d95d53da009c190c37fa32f27be5af5e Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Docs: Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-02-289-10/+12
| | | | | | | | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Applied suitable wrapping round various char and string literals, since docs are meant to show best practice. Change-Id: Ie061905fad26f9b4dda3eedba4612704f0a19126 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Revert "QNetworkReply: deprecate the 'error' getter"Alexander Akulich2020-02-287-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ccb2cb84f535b0bfce19a95d7f3a36803480cae8 and commit 0f568d0a671e9f0667a1b47ffa6fbb9f7a10d9f5. The patches fix ambiguity between a getter and a signal by changing the getter name, but we still have to rename the signal to follow the signals naming convention. Revert the commits to keep the getter as is and change the signal name instead. Change-Id: Iddbab7c33eea03826ae7c114a01857ed45bde6db Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | QAbstractSocket: deprecate 'error' signal, use 'errorOccurred' insteadAlexander Akulich2020-02-277-13/+11
| | | | | | | | | | | | | | [ChangeLog][Deprecation Notice] QAbstractSocket::error() (the signal) is deprecated; superseded by errorOccurred() Change-Id: I11e9c774d7c6096d1e9b37c451cf0b99188b6aad Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Examples: request Android storage permissions when using QStandardPathsAssam Boudjelthia2020-02-262-1/+24
| | | | | | | | | | | | | | | | | | http example uses QStandardPaths, on Android permissions might need to be explicitly requested to write the downloaded file. Task-number: QTBUG-80717 Change-Id: Icd377254ad77cac661c5ae37e9081e0463493d8b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Revert "QAbstractSocket: deprecate 'error' member-function"Alexander Akulich2020-02-263-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 94b3dd77f29a00ebbd1efdc66d75f57e1c75b152. The patch fixes ambiguity between a getter and a signal by changing the getter name, but we still have to rename the signal to follow the signals naming convention. Revert the commit to keep the getter as is and change the signal name instead. Change-Id: I0dd60cf1ae9d1bd95beeb8ad58661ca4b1fb63b9 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Remove bearer management from remaining network examplesMårten Nordheim2020-02-196-139/+9
| | | | | | | | | | | | | | | | Because bearer management is going away Change-Id: I60439c1714e0350b0f2bbef6afc8d2015886135f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Remove the bearermonitor exampleMårten Nordheim2020-02-1910-2012/+0
| | | | | | | | | | | | | | | | Because bearer management is going away Change-Id: I64311895c347b3e63df75d10db1673bcfe54f52d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Remove usage of bearer management from lightmaps exampleMårten Nordheim2020-02-192-46/+0
| | | | | | | | | | | | | | | | Because bearer management is going away Change-Id: I82f2e67a052fdcdf0dde337f9f69b414681511c4 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-02-181-5/+1
|\| | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qlinkedlist.h src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/wasm/qwasmscreen.cpp Change-Id: Iefca7f9f4966bdc20e7052aca736874861055738
| * Doc: remove link to Qt Quarterly in examplePaul Wicking2020-02-141-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | Qt Quarterly 31 was the last edition of Qt Quarterly to be published exclusively as a PDF. We cannot fix the typo in the PDF. As the content is >10 years old an in an unmaintained archive section, remove the reference to it from this example. Fixes: QTBUG-81972 Change-Id: I41a82487ff89dbe8ea5701c02c51e7f7c79bf73d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Deprecate QTabletEvent::device() in favor of deviceType()Shawn Rutledge2020-02-171-4/+4
| | | | | | | | | | | | | | | | | | The idea is to reserve device() to return a pointer to a QInputDevice in the future, which is in sync with QQuickPointerEvent::device() and with QTouchEvent::device(). Change-Id: Ifda6e8aea72d5121955b31bdcbd91bf1bfa4cec4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Deprecate one overload of QInputDialog::getDouble() for 5.15Jan Arve Sæther2020-02-121-1/+2
| | | | | | | | | | | | | | ...and merge the two overloads of getDouble() in Qt6 Change-Id: I55faa2ff222b41e48889a0ef14dd00a6da691c36 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | QLocalSocket: Deprecate 'error' signal, use 'errorOccurred' insteadv5.15.0-alpha1Alexander Akulich2020-02-111-2/+1
| | | | | | | | | | | | | | [ChangeLog][Deprecation Notice] QLocalSocket::error() (the signal) is deprecated; superseded by errorOccurred() Change-Id: I579c07564f5c470cf2867864755e0a26e6afce3b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Remove unused variableJan Arve Sæther2020-02-101-1/+0
| | | | | | | | | | Change-Id: I774b1647eff5fcfa0de5bcc50ca2638644b03613 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-0421-33/+39
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/widgets/widgets/imageviewer/imageviewer.cpp src/corelib/text/qchar.cpp src/corelib/time/qdatetime.cpp Change-Id: I9762f5c4ff650799219729d6aee79ac07ce9024a
| * Markdown importer: use Unicode decodingGiuseppe D'Angelo2020-02-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given we feed UTF-8 data into the importer, it must be able to cope with Unicode. Build md4c with UTF-8 support, advertise it at usage site, and change a couple of broken decodings. Driveby: the textedit example used the wrong codec to decode a Markdown file. While the Markdown spec doesn't deal with encodings, using the default one for HTML is certainly wrong. Port the loading of both markdown and plaintext to UTF-8, as that what _saving_ via QTextDocumentWriter would use by default. Change-Id: I51c6214cfe45ebfc5a67a7366f7866a5328366ec Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Examples: fix compile without printsupportChristian Ehrlicher2020-01-3110-11/+11
| | | | | | | | | | | | | | | | | | | | | | Checking for QT_CONFIG(printdialog) is not enough when printsupport is completely disabled since then the macro will throw an error. Therefore add an additional check 'defined(QT_PRINTSUPPORT_LIB)' before using the QT_CONFIG macro. Fixes: QTBUG-81626 Change-Id: Ie9898f057cdd6bf9daf4ba9135987cb6e901e7bf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Change examples and snippets to pass QDate and QTime by valueEdward Welbourne2020-01-306-18/+19
| | | | | | | | | | | | | | They're value types, so we should show them being used as such. Change-Id: If9f0c366fac66306b7861f04e2f047540d444acc Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
| * Doc: Specify install path for Vulkan examplesTopi Reinio2020-01-305-0/+5
| | | | | | | | | | | | | | | | | | | | Vulkan examples, although part of the Qt GUI documentation project, live under their own directory under /examples. Mark the correct install path for these using the \meta command. Fixes: QTBUG-81360 Change-Id: I0b98a19bf56d5b1953dbd90c0d5103be9041689a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Examples: Replace deprecated QLabel APISze Howe Koh2020-02-015-11/+11
| | | | | | | | | | | | | | Task-number: QTBUG-48701 Change-Id: I6fc875a35dfc3bf4d906d0f0e495c18ef566d1e1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | QButtonGroup: deprecate overloaded signalsChristian Ehrlicher2020-01-284-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Deprecate the overloaded signals buttonClicked/buttonPressed/buttonReleased/buttonToggled taking an int to avoid to need to use QOverload<> when connecting the signal. The id of a button in a button group can be easily fetched with QButtonGroup::id(). Task-number: QTBUG-80906 Change-Id: Idaaab54bbcb25cba543fc99f305b9f4743ee3ed8 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Deprecate all methods that use QMatrixJarek Kobus2020-01-285-9/+9
| | | | | | | | | | | | | | | | | | | | | | Don't use QMatrix in implementation classes anymore. Task-number: QTBUG-46653 Fixes: QTBUG-81627 Change-Id: I4806c1302e42645dc6a608062c8d9c336ae8629b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Doc: Replace some usages of 0/zero/null with \nullptrSze Howe Koh2020-01-271-1/+1
| | | | | | | | | | Change-Id: Ibe7de11fc6fc41477c35e7d653c6a911855deabb Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Fix some qdoc-warningsFriedemann Kleint2020-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | src/corelib/tools/qmap.cpp:1199: (qdoc) warning: Can't link to 'QMultiMap::unite()' src/gui/kernel/qevent.cpp:949: (qdoc) warning: Unknown command '\see' src/gui/painting/qpaintengine_raster.cpp:344: (qdoc) warning: clang found diagnostics parsing \fn Type QRasterPaintEngine::type() const error: unknown type name 'Type' src/gui/doc/src/qtgui.qdoc:45: (qdoc) warning: Can't link to 'Build with CMake' examples/widgets/doc/src/gallery.qdoc:28: (qdoc) warning: Cannot find file 'widgets/gallery/gallery.pro' or 'widgets/gallery/gallery.pyproject' src/widgets/kernel/qwidget.cpp:5950: (qdoc) warning: Can't link to 'setFilePath' src/widgets/kernel/qshortcut.cpp:542: (qdoc) warning: No such parameter 'context' in QShortcut::QShortcut() Change-Id: I2395af854efebef719d4762da466f69f7c5aab9e Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Replace most use of QVariant::type and occurrences of QVariant::TypeOlivier Goffart2020-01-2310-89/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I made a clazy automated check that replaced the use of QVariant::Type by the equivalent in QMetaType. This has been deprecated since Qt 5.0, but many uses were not yet removed. In addition, there was some manual changes to fix the compilation errors. Adapted the Private API of QDateTimeParser and QMimeDataPrivate and adjust QDateTimeEdit and QSpinBox. QVariant(QVariant::Invalid) in qstylesheet made no sense. But note that in QVariant::save, we actually wanted to use the non-user type. In the SQL module, many changes were actually reverted because the API still expects QVarient::Type. Change-Id: I98c368490e4ee465ed3a3b63bda8b8eaa50ea67e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-182-18/+11
|\| | | | | | | Change-Id: I12148e7b20bcdb72d9b328035d528c99633b1e92
| * Pad Navigator example: Remove duplicated property animationsTopi Reinio2020-01-162-18/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | The example created two QPropertyAnimation instances that controlled the same property; this caused a clash for some transitions. Remove the smoothFlipXRotation and smoothFlipYRotation animations; they are not needed as equivalent animations are already set as defaults for the state machine. Fixes: QTBUG-28081 Change-Id: Ifa7a09d48cd4905df720e3327914320ed74ebae6 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-151-5/+5
|\| | | | | | | Change-Id: I8dbcf23835d52d3aa7d018ed250814d60c68aa83
| * Fix Mandelbrot Example documentation with regards to qRegisterMetaType()Friedemann Kleint2020-01-131-5/+5
| | | | | | | | | | | | | | | | | | | | | | The call to qRegisterMetaType() has been removed since the type is registered as a meta type in Qt 5. Assert on the meta type id instead. Adapt the documentation accordingly. Fixes: QTBUG-81254 Change-Id: I0cb459d0dda7a82fc37871605ff634004af0f9f9 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Add documentation for the widget galleryFriedemann Kleint2020-01-141-0/+36
| | | | | | | | | | | | Task-number: PYSIDE-1112 Change-Id: I35fe85d8ac9c2dab9f1260d3736c7f65e8e45d8e Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Build the securesocketclient example for other SSL backendsMårten Nordheim2020-01-141-1/+1
| | | | | | | | | | Change-Id: I06b8361c116d2ae2aa2a64f63ac90b6ff1982008 Reviewed-by: Jesus Fernandez <jsfdez@gmail.com>
* | Unify application palette handling between QGuiApplication and QApplicationTor Arne Vestbø2020-01-132-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic is now mostly handled in QGuiApplication, with QApplication only dealing with the widget-specific palettes and interaction between the style and the palette. The application now picks up changes to the platform theme and will re-resolve the current application palette appropriately. This also works even if an explicit application palette has been set, in which case any missing roles are filled in by the theme. The palette can now also be reset back to the default application palette that's fully based on the theme, by passing in the default constructed palette (or any palette that doesn't have any roles set). This is also correctly reflected in the Qt::AA_SetPalette attribute. Conceptually this means QGuiApplication and QApplication follow the same behavior as QWidget, where the palette falls back to a base or inherited palette for roles that are not set, in this case the theme. Behavior-wise this means that the default application palette of the application does not have any roles set, but clients should not have relied on this, nor does QWidget rely on that internally. It also means that setting a palette on the application and then getting it back again will not produce the same palette as set, since the palette was resolved against the theme in the meantime. This is the same behavior as for QWidget, and although it's a behavior change it's one towards a more sane behavior, so we accept it. [ChangeLog] Application palettes are now resolved against the platform's theme palette, the same way widget palettes are resolved against their parents, and the application palette. This means the application palette reflected through QGuiApplication::palette() may not be exactly the same palette as set via QGuiApplication::setPalette(). Change-Id: I76b99fcd27285e564899548349aa2a5713e5965d Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | QNetworkReply: deprecate the 'error' getterTimur Pocheptsov2020-01-137-8/+8
| | | | | | | | | | | | | | | | | | | | To disambiguate &QNetworkReply::error expression. [ChangeLog][Deprecation Notice] QNetworkReply::error() (the getter) was deprecated; superseded by networkError(). Task-number: QTBUG-80369 Change-Id: I545f963788bce0800c9e0f0c94d5f1029946effe Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>