summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets
Commit message (Collapse)AuthorAgeFilesLines
* winrt: make dialog auto tests passOliver Wolff2018-06-224-2/+21
| | | | | Change-Id: I2d31c2e9513944ba722b59ac69e91973a7aabba5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QTreeWidget: Keep items hidden even if their parents are reparentedAndy Shaw2018-06-151-0/+30
| | | | | | | | | | | When an item is explicitly hidden, then it should stay that way even if its parent is reparented. The item itself needs to be explicitly shown for it to be made visible. Task-number: QTBUG-54843 Change-Id: I0c6eea9a936f82d5874e3246292bd16365440411 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Blacklist tst_QMenuBar::check_menuPositionJoni Jantti2018-06-151-0/+1
| | | | | | | | This autotest fails on Ubuntu 18.04 builds. Task-number: QTBUG-68865 Change-Id: Ia245f72826be071e5617c417e3d9f50bdcc689a9 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* Blacklist tst_QWidget_window::setWindowStateJoni Jantti2018-06-151-0/+1
| | | | | | | | This autotest fails on Ubuntu 18.04 builds. Task-number: QTBUG-68864 Change-Id: Ib4baa458b80eea5861e89145b85d865e9a78989c Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* Blacklist tst_QWidget::updateWhileMinimizedJoni Jantti2018-06-151-0/+1
| | | | | | | | This autotest fails on Ubuntu 18.04 builds. Task-number: QTBUG-68862 Change-Id: Ib02c28ede135c9ba4303dbf0224b32b080762a31 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* tst_QWidget: Don't use qWaitForWindowActive when exposed is enoughJohan Klokkhammer Helsing2018-06-151-5/+5
| | | | | | | | | | It's not possible to ask for window activation on Wayland, and some Wayland compositors—such as Weston—don't give window focus to newly created window either. Task-number: QTBUG-62188 Change-Id: Ibebb2a14e03127fec703d79498627fccf65b2f88 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Add itemAlignment property to QListViewAlexander Volkov2018-06-081-0/+24
| | | | | | | | | | | | | | | | This property allows to change the default behavior in which list items occupy the entire width of their column. Setting it to Qt::{AlignLeft,AlignRight,AlignHCenter} will reduce their widths to the minimum values, thus allowing to have intermediate free space. Then the user will be able to begin selections by mouse from this space. [ChangeLog][QtWidgets][QListView] Added itemAlignment property. Task-number: QTBUG-56606 Change-Id: Iae55c251379be4e45d0c0d69175ff4388b5785b4 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-06-087-17/+17
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-06-077-17/+17
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/kernel/qeventdispatcher_cf.mm src/gui/kernel/qguiapplication_p.h src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/qioseventdispatcher.mm src/plugins/platforms/windows/qwindowsdrag.h src/plugins/platforms/windows/qwindowsinternalmimedata.h src/plugins/platforms/windows/qwindowsmime.cpp src/plugins/platforms/winrt/qwinrtscreen.cpp Change-Id: Ic817f265c2386e83839d2bb9ef7419cb29705246
| | * Make sure we can build with -no-feature-draganddropJoerg Bornemann2018-05-297-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | We move QInternalMimeData to a separate file, because this class is used, even if draganddrop is disabled. From now on, include qinternalmimedata_p.h instead of qdnd_p.h for QInternalMimeData. Change-Id: I594e08e2e90d574dc445119091686b4b69e4731b Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | tst_QWidget: Don't skip tests that are passing on WaylandJohan Klokkhammer Helsing2018-06-071-7/+0
|/ / | | | | | | | | | | Task-number: QTBUG-66849 Change-Id: I35f5bc557fca5289570a6e907c0fd80f17a3aa0f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QLineEdit: Emit inputRejected() when part of the input is rejectedAndy Shaw2018-06-061-0/+12
| | | | | | | | | | | | | | | | | | | | | | When pasting text, it is possible that part of the text is still pasted but part of it is not. For example, if there is a maximum length set then only the first part of the text is pasted and the rest is dropped. In this case it should still emit inputRejected() as not all of the input was accepted. This amends c901cdadc0a6ec65eddfe4f181274e56567f9973. Change-Id: If7906767be27e88ed9914c50bf0427833de5b8fa Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QLineEdit: Add an inputRejected() signal for when a key is not allowedAndy Shaw2018-06-011-1/+40
| | | | | | | | | | | | | | | | | | | | [ChangeLog][QtWidgets][QLineEdit] Added inputRejected() signal for when a key press is not accepted by the QLineEdit. For instance, when an invalid key is pressed for a validator set. Task-number: QTBUG-57448 Change-Id: I39182a78b07b37c6da01905b8da4c57930e3454b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Eliminate an un-needed #includeEdward Welbourne2018-05-311-1/+0
| | | | | | | | | | | | | | Nothing in this test references date-times. Change-Id: I4005cda550d54abe46370963b1e91fab9829298d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Tests: replace deprecated QDesktopWidget::screenGeometry()Christian Ehrlicher2018-05-286-25/+25
| | | | | | | | | | | | | | | | QDesktopWidget::screenGeometry() and similar was deprecated in 5.11 and replaced by QScreen::geometry() Change-Id: Ic630d022bc6461af78f49684c8ac9d1836d738bc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | winrt: Skip/blacklist failing opengl testsOliver Wolff2018-05-281-1/+1
| | | | | | | | | | | | Task-number: QTBUG-68297 Change-Id: I1396b658b49baf5a8d4b97e35c22ddc25727b68a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Fix tst_qtextedit for configurations with builtin testdataOliver Wolff2018-05-281-0/+2
| | | | | | | | | | Change-Id: Ic692acd8053a02270416deb1be3d58a5f0424526 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Fix tst_qcombobox for configurations with builtin testdataOliver Wolff2018-05-281-0/+2
| | | | | | | | | | Change-Id: Id3a1166428873618b253989da98ccdbe13afd1a0 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: make graphicsview auto tests passOliver Wolff2018-05-284-1/+24
| | | | | | | | | | | | Task-number: QTBUG-68297 Change-Id: I627f9be20670d8e00f824ae85139fb1c4088033c Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: Remove qfiledialog and qmessagebox auto tests for nowOliver Wolff2018-05-281-0/+1
| | | | | | | | | | | | Task-number: QTBUG-68297 Change-Id: Ie126d07edfcdcec179c38d03e79079339d29020b Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | tst_qapplication: Fix test for configs without process supportOliver Wolff2018-05-251-0/+2
| | | | | | | | | | Change-Id: If591183cd246b852821fcf8e354f5247aa7ba373 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: Make widgets/util auto tests passOliver Wolff2018-05-251-0/+9
| | | | | | | | | | | | Task-number: QTBUG-68297 Change-Id: I12d2a431f927b29c4df2b3a6ddd3e5978916e136 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | tst_qapplication: Fix auto test for configs with builtin_testdataOliver Wolff2018-05-252-1/+7
| | | | | | | | | | Change-Id: Ie5b4dad19387c18e0d11d44b9b1a735269ec5e04 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: Make widgets/styles auto tests passOliver Wolff2018-05-251-2/+8
| | | | | | | | | | Change-Id: I5224d1cb4bb9ccc82d6c36ccacbd8af7a9bec0ad Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-246-84/+61
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt_common.prf src/corelib/tools/qstring.cpp src/plugins/platforms/windows/qwindowsmousehandler.cpp src/widgets/widgets/qmainwindowlayout_p.h Change-Id: I5df613008f6336f69b257d08e49a133d033a9d65
| * Fix tst_QDoubleSpinBox::editingFinished failing after other testsKari Oikarinen2018-05-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Wait for the spinbox to show become active in the previous test. Also use QWidget::activateWindow() instead of QApplication::setActiveWindow(). Use of the latter seemed to result in some confusion where QWidget::isActiveWindow() returned true but QWindow::isActive() on the underlying window returned false, leading qWaitForWindowActive() to fail. Also remove superfluous setting of focus. It was just set and verified. Change-Id: I023cdc2d272e23b2537b32606b7a3bf35bf671ac Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * tst_QCommandLinkButton: Add back wait to the beginning of setAutoRepeat()Kari Oikarinen2018-05-161-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setAutoRepeat() is failing on macOS and Windows when run together with defaultAndAutoDefault(). It succeeds when run on its own. Adding the wait allows it to succeed when run with the other tests as well. Amends 0cb940b1d3b9a1ba50f2d1973fca411706da266d, which removed the wait. The comment is the same as before. I couldn't see a better way to replace the wait (QApplication::topLevelWidgets() already returns only the testWidget and testWidget->isActiveWindow() returns true). Another theory I had was something waiting for the KeyRelease so I changed QApplication::sendEvent() uses to QTest::keyClick(). It did not help but that still seems preferable. Change-Id: If87d1e6e018751f3068ea4c913ae6731aba41ff0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * tests/auto/widgets/dialogs: Avoid unconditional qWait()sKari Oikarinen2018-05-144-76/+50
| | | | | | | | | | | | | | | | Task-number: QTBUG-63992 Change-Id: I679a0f482ec2c3ed5d896f1c40c67d9932c6fc18 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Apply Qt::ControlModifier to all spin box interactionsNathan Collins2018-05-243-28/+1247
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A step modifier already existed when scrolling with the Qt::ControlModifier held. This patch applies this functionality to other methods of stepping a spin box. Holding the modifier increases the step rate when: - scrolling; - pressing the up/down keys; - pressing the spin box up/down buttons. [ChangeLog][QtWidgets][QAbstractSpinBox] The Qt::ControlModifier increases the number of steps a QAbstractSpinBox takes for the following interactions: scrolling, up/down keyboard keys and the spin box buttons. Previously, Qt::ControlModifier only affected scrolling. Task-number: QTBUG-67380 Change-Id: Icc8754d5c007da0771bfaef113603a2f334dd494 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix build with --no-feature-wheeleventNathan Collins2018-05-231-0/+4
| | | | | | | | | | | | | | | | tst_QListView::horizontalScrollingByVerticalWheelEvents failed to compile with this qmake argument. Change-Id: I35dd4ad4c9ee92c06c94b21dd7325aee00fc98d4 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add attribute to indicate a widget was the target of a style sheetAaron Kennedy2018-05-231-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt already has the widget attribute WA_StyleSheet to which indicates that a widget was subject to a style sheet, but it doesn't indicate that the widget was actually affected by the style sheet. For example, an application style sheet will set the WA_StyleSheet attribute on all widgets, even if it only targets QPushButtons. The WA_StyleSheetTarget new attribute pairs with WA_StyleSheet to give this extra information. [ChangeLog][QtWidgets] Added the Qt::WA_StyleSheetTarget attribute to indicate that a widget was affected by a style sheet. Change-Id: I7cca18ddec8fbb69f294ae2ef990672a5f4f1d83 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
* | Stabilize tst_QFileDialog2::QTBUG4419_lineEditSelectAllKari Oikarinen2018-05-211-1/+1
| | | | | | | | | | | | | | | | | | | | On macOS the selected text was empty when run together with other tests. Change QApplication::setActiveWindow() to QWidget::activateWindow() to get keyboard focus as well. After that the expected temporary file name is selected. Change-Id: I3b0c2bfca8008cb89b7e666a362beb15a851d8e0 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | tst_QGraphicsEffect: Allow multiple paint events in itemHasNoContents()Kari Oikarinen2018-05-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Right now itemHasNoContents() is flaky when run together with others on macOS. The failing assertion seems to be just checking that an effect added to an item with the QGraphicsEffect::ItemHasNoContents flag is painted, so relax it to allow multiple repaints. Change-Id: Iecf445ce1bce672e7cd180a148cd53f9c60e40fe Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Windows: Add support for invisible window marginsAndre de la Rocha2018-05-181-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows 10 windows contain an invisible area within the NC window frame on which the mouse cursor is enabled to perform resizing. This change captures the geometry of the invisible margins and considers it when moving a window, so that, for instance, a move(0,0) does not generate gap between the window and the beginning of screen. [ChangeLog][Windows] The dimensions of invisible margins inside the frames of Windows 10 windows will now be disregarded in the positioning of Qt windows to avoid a misplaced look (offset by a few pixels from the expected position). Task-number: QTBUG-55762 Change-Id: I1f537756eb1a093f78b919de9d44992528199700 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-05-1417-353/+167
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-1417-353/+167
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt_module_headers.prf tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qwidget/BLACKLIST Change-Id: I2a08952d28d1d0e3d73f521a3d44700ce79ff16c
| | * tests/auto/widgets/graphicsview: Avoid unconditional qWait()sKari Oikarinen2018-05-146-188/+70
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-63992 Change-Id: Ibbcf5bf968fcf1b1c3a043c805bdcc23a4005f00 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * Blacklist tst_QWidget::raise on openSUSEKari Oikarinen2018-05-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The test occasionally gets an unexpected paint event on openSUSE. Task-number: QTBUG-68175 Change-Id: I998d79dd12aac1f924c14d7ff7e864c4f081983c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * Stabilize tst_QMdiArea::subWindowListKari Oikarinen2018-05-091-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | Flakily failed on openSUSE. Task-number: QTBUG-68170 Change-Id: Ic75e081238ccf4bad54de39e6bdaa892796b599e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * tests/auto/widgets/itemviews: Avoid unconditional qWait()sKari Oikarinen2018-05-099-170/+90
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-63992 Change-Id: Id4fcb0c2e4f83edd9508565468e16f57e100c780 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | QTableWidget: fix handling of Qt::EditRole/DisplayRole in setItemData()Christian Ehrlicher2018-05-141-1/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | QTableModel::setItemData() did not treat Qt::EditRole and Qt::DisplayRole as the same. This lead to inconsistencies between setItemData() and QTableWidgetItem::setData() [ChangeLog][QtWidgets][QTableWidget] Fix handling of Qt::EditRole and Qt::DisplayRole in setItemData(). Change-Id: I456f4c8e654de701dcd579236162b8aaa8ba1e53 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QTableWidgetItem: pass role to dataChanged() signalChristian Ehrlicher2018-05-121-6/+24
| | | | | | | | | | | | | | | | | | | | QAbstractItemModel::dataChanged() gained an optional role parameter with Qt5 which was not filled within QTableWidgetItem setData() function Task-number: QTBUG-48295 Change-Id: I82289b6db78eeef09d586da267046032984952da Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | tst_QHeaderView: replace custom waitFor() functionChristian Ehrlicher2018-05-101-13/+3
| | | | | | | | | | | | | | | | replace custom waitFor() function with QTest::qWaitFor() to avoid code duplication. Change-Id: I44ebcbfe4c6f6c6f787fb7dbaf958a245bc27fa1 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | QHeaderView: reset cached size hint on reset()Christian Ehrlicher2018-05-101-4/+40
| | | | | | | | | | | | | | | | | | QHeaderView::reset() did not reset the cached size hint which could lead to wrong geometries when the model was reset. Task-number: QTBUG-67927 Change-Id: I5100b28a741cc816133a229c422f9abf83f2187e Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | Enable checks for tst_QHeaderView::sectionSizeHint()Christian Ehrlicher2018-05-101-5/+3
| | | | | | | | | | | | | | | | tst_QHeaderView::sectionSizeHint() did set some values but did not check the return values. Change-Id: Id606d7a06935a3d6783bc9a8c10bf05d953adec6 Reviewed-by: David Faure <david.faure@kdab.com>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-031-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/graphicsview/elasticnodes/graphwidget.cpp examples/widgets/graphicsview/elasticnodes/node.cpp examples/widgets/graphicsview/elasticnodes/node.h src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_drawing.mm src/widgets/kernel/qmacgesturerecognizer_p.h Change-Id: I13cf06bac75d48d779d8ee7b5c91bfc976f2a32c
| * Tests: Fix clang warnings about unused variables and capturesFriedemann Kleint2018-05-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | tst_qline.cpp(170,12): warning: unused variable 'baseB' [-Wunused-variable] ^ tst_qline.cpp(169,12): warning: unused variable 'baseA' [-Wunused-variable] tst_qheaderview.cpp(3329,14): warning: lambda capture 'this' is not used [-Wunused-lambda-capture] waitFor([this, &header, defaultSectionSize]() { return header.sectionSize(0) == defaultSectionSize; }); qheaderview.cpp(3338,14): warning: lambda capture 'this' is not used [-Wunused-lambda-capture] waitFor([this, &header, defaultSectionSize]() { return header.sectionSize(0) == defaultSectionSize; }); Change-Id: I0245a7b66d15b896e864b488f7a58e8513fbdc6c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-023-8/+48
|\| | | | | | | Change-Id: Ia082e20e2eb4b76afd4c1a1584ff4e5514655d7a
| * tst_QTabWidget: Add unconditional qWait() backKari Oikarinen2018-05-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | paintEventCount() is currently flaky on macOS. It gets extra paint events after qWaitForWindowExposed() returns, which causes the following assertions to fail. Add the wait that was removed in 0cb940b1d3b9a1ba50f2d1973fca411706da266d back to fix those failures. Task-number: QTBUG-68032 Change-Id: I68e0b6008de40922ec740291dfdd1842e0f62f89 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
| * tst_QLineEdit: Use correct keys to move to Start/End of LineDaniel Teske2018-04-301-7/+17
| | | | | | | | | | | | | | | | | | Home/End don't actually work on macOS. The "select all and delete" key was not actually testing anything at all. Change-Id: I44d3e9dd27da418afd699bf8720d5369325d20df Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>