aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto
Commit message (Collapse)AuthorAgeFilesLines
* SwipeDelegate: fix animations when releasing from a drag5.7Mitch Curtis2016-11-301-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | 9812a9c changed the order in which the pressed and position state is set. Before, when releasing after swiping, it would be: set pressed to false => set position After 9812a9c, it became: set position => set pressed to false The original order is necessary to ensure that animations can rely on being enabled *before* position changes, as their enabled expression typically looks something like this: enabled: !control.down This patch duplicates the contents of QQuickAbstractButton::mouseUngrabEvent() for now, with a TODO comment to ensure that it's moved into a private helper that we can call later on. Task-number: QTBUG-57350 Change-Id: I31af7a665fb2d0e37548df31560ed7bbb0c3cadb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Merge remote-tracking branch 'origin/5.7.1' into 5.7Liang Qi2016-11-242-0/+122
|\ | | | | | | Change-Id: I74c00c0b5c36cc96db8bdbd7c1c2a77d6e37d6e7
| * Fix popups to close on click outsidev5.7.1J-P Nurmi2016-10-252-0/+122
| | | | | | | | | | | | | | | | | | | | | | | | When a popup closes itself on press outside, it accepts the press event so that it doesn't propagate to other popups or the content below. We must make sure that such closing popup does not become the mouse grabber, because it doesn't make sense to route the subsequent mouse events to the popup that was just closed. Change-Id: I80c6e26a1d94aa1526a61862f00af2fd0778aa82 Task-number: QTBUG-56697 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | SwipeDelegate: don't emit clicked when released outsideMitch Curtis2016-11-231-3/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there are no delegates and hence the mouse hasn't been grabbed, we should clear the pressed state when the mouse is dragged outside the control. We can do so by falling back to the event handling of the base class (QQuickItemDelegate) when we have no delegates. This also ensures that the canceled() signal is emitted. A similar thing is done for controls with delegates, except that only the vertical position of the mouse is checked, as we still want to initiate swipes horizontally. Change-Id: I7738f5b9e8e8b6ce4a733008fa4ff73596e854ea Task-number: QTBUG-56312 Task-number: QTBUG-57285 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickSpinBox: fix auto-repeatJ-P Nurmi2016-11-171-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't cancel auto-repeat on the tiniest mouse/touch move, but keep repeating until moved outside the button. The test has been written so that the exact amount of repeats does not matter, as long as it repeats. This is because waits are not reliable in a busy CI environment. Sometimes waits can take longer, timer events get queued, and we get an unexpected burst of repeats. Change-Id: Ibdcdd9e684bbcda032abfabb8a33ed892c7778df Task-number: QTBUG-57085 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickAbstractButton: fix auto-repeatJ-P Nurmi2016-11-171-33/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't cancel auto-repeat on the tiniest mouse/touch move, but keep repeating until moved outside the button. The test has been changed so that the exact amount of repeats does not matter, as long as it repeats. This is because waits are not reliable in a busy CI environment. Sometimes waits can take longer, timer events get queued, and we get an unexpected burst of repeats. Change-Id: Ic473e04c4d15a0826c8adf460c69507e64590d99 Task-number: QTBUG-57085 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Tests: de-couple SignalSequenceSpy from the testable controlsJ-P Nurmi2016-11-163-134/+158
| | | | | | | | | | | | | | | | | | | | This change allows running tests without the signal sequence spy, which expects an exact sequence of signals. It can create problems when combined with wait/tryCompare(), which may take longer than expected in a busy CI environment, and result to unexpected signals. Change-Id: I390aa3ddafed9122deaa822b241b3b9bba7841f6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Stabilize tst_drawerJ-P Nurmi2016-11-152-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test was using QTRY_COMPARE to test that the logical position of the drawer was 1.0, meaning that the drawer was assumed to be fully open. Then the test continued with touch move events and tested the logical position accordingly. The problem was that waiting (QTRY_COMPARE) for the logical position of 1.0 does not ensure that the open transition has been finished. Fuzzy compare might return true just before the transition finishes. We sent touch move events and tested the logical position accordingly, while the open transition was still running. This way, the transition ended up setting an unexpected position for the drawer in the middle of the touch move event tests. The solution is to wait for the opened() signal to ensure that the transition has been finished, before continuing to test touch move events. Change-Id: Ia48f4cedc97c09bb1ee064f3b535ad4fc7ae5c71 Task-number: QTBUG-56061 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | QQuickComboBox: key searchJ-P Nurmi2016-11-031-0/+43
| | | | | | | | | | | | | | | | | | [ChangeLog][Controls][ComboBox] Added missing keyboard search functionality. Change-Id: If132f2ca0bca8cdb09de03f584c07eec6fb384f6 Task-number: QTBUG-56884 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickComboBox: handle Home and End keysJ-P Nurmi2016-11-031-2/+115
| | | | | | | | | | | | | | | | [ChangeLog][Controls][ComboBox] Added handling for Home and End keys. Change-Id: I79ec0644f169503ab38a8e2bee18621a1f671478 Task-number: QTBUG-56884 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tst_accessibility: add all remaining controlsJ-P Nurmi2016-11-026-3/+33
| | | | | | | | | | Change-Id: I92522c861ccf1604d3d36bc8c132924050c24b8d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Popups: use "Dialog" accessible roleJ-P Nurmi2016-11-022-2/+6
| | | | | | | | | | | | | | | | | | LayeredPane is described as "an object that can contain layered children, e.g. in a stack". There is no plain "Popup" accessible role. The closest match is "Dialog". Change-Id: I3fca381a953231ff3339ce05e5a00c82f47ba6e7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | SwipeView: fix accessibility supportJ-P Nurmi2016-11-022-1/+5
| | | | | | | | | | | | | | | | | | Don't specify the role in QML, because using the Accessible attached property creates a hard dependency to the accessibility feature (the QML code won't run when QT_NO_ACCESSIBILITY is defined). Change-Id: Ie540c915547fae94705873292368652e3608c9e7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | StackView: provide accessible roleJ-P Nurmi2016-11-022-1/+5
| | | | | | | | | | | | | | | | | | | | QAccessible::LayeredPane: An object that can contain layered children, e.g. in a stack. The same accessible role is used by QStackedWidget. Change-Id: Ia1f96afd5e084958538356e3d9033a3d88cf03c3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Cleanup and speedup tst_accessibilityJ-P Nurmi2016-11-0240-388/+86
| | | | | | | | | | | | | | | | | | | | | | Before: Totals: 37 passed, 0 failed, 0 skipped, 0 blacklisted, 6919ms After: Totals: 37 passed, 0 failed, 0 skipped, 0 blacklisted, 599ms Change-Id: I8376d74a265d30956cba1f2e290333a8efd70067 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Frame: fix accessibility supportJ-P Nurmi2016-11-022-1/+13
| | | | | | | | | | Change-Id: I79f06e3a60151ab4e35b6290fbfe022ed20665e3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | ToolTip: fix accessibility supportJ-P Nurmi2016-11-022-1/+14
| | | | | | | | | | | | Change-Id: I4623b1f1ee1e10c4233e89bf42e6720bbf3a5c73 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tst_accessibility: add some missing controlsJ-P Nurmi2016-11-026-0/+70
| | | | | | | | | | Change-Id: Ice26b851009c1e0e457976d85c918d31dcf96dc5 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | GroupBox: fix accessibility supportJ-P Nurmi2016-11-022-1/+14
| | | | | | | | | | Change-Id: Ifbbc701a996ed9ddb13f7d16843d0af5ee480ca1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Page: fix accessibility supportJ-P Nurmi2016-11-012-0/+14
| | | | | | | | | | Change-Id: If7d15d914e35a675dcd456a4aa561a3280c2308a Reviewed-by: Liang Qi <liang.qi@qt.io>
* | ComboBox: fix accessibility supportJ-P Nurmi2016-11-012-0/+14
| | | | | | | | | | Change-Id: Icd196b3cd66b5b31a664c845e78953b4606022b7 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | QQuickPopup: use QShortcutMap to grab Back & Escape keysJ-P Nurmi2016-11-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes CloseOnEscape play well together with QML Shortcut, as illustrated by the Gallery example. For example, navigate to any control page, open the options menu, and hit escape twice. First, the options menu closes, and then the stackview navigates back. Another nice example is to open the style combobox in the settings dialog, while being navigated to one of the control pages, and hit escape three times. First, the combobox closes, then the settings dialog closes, and finally, the stackview navigates back. NOTE: tst_combobox had to be updated, because it was assuming that the popup is closed when escape is released. Now that the system is based on shortcut overrides, it gets closed on press instead. Task-number: QTBUG-56562 Change-Id: I8b8901bcba7deebd82b181af42f335d95a7cb469 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Scrollers: give control over layouting if parent != flickableJ-P Nurmi2016-10-282-0/+32
| | | | | | | | | | | | | | | | | | This allows utilizing the convenient attached properties of ScrollBar and ScrollIndicator, but positioning the scrollers outside of a clipping Flickable. Change-Id: I46fe79110658f4797469d042c56f51548eef6c70 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickPopup: fix binding loops with size-dependent positioningJ-P Nurmi2016-10-272-1/+32
| | | | | | | | | | | | | | | | | | | | Dependencies between popup's size and position easily lead to recursion into reposition(). Blocking recursive reposition() calls messes up the positioning, so schedule polish events instead. Task-number: QTBUG-56755 Change-Id: I72afd14573e5cd57f8162df04e193d4c42fd7236 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix tst_swipedelegateJ-P Nurmi2016-10-241-4/+4
| | | | | | | | | | | | | | | | These tests did not pass on my Chromebook Pixel 2. The value of Qt.styleHints.startDragDistance is 19. Change-Id: I8843803608fc4c8ca2f2c42790d648eb17c141fd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | ScrollBar::increase/decrease(): remember the previous active statusJ-P Nurmi2016-10-171-0/+25
| | | | | | | | | | | | | | | | | | These methods toggle the active status to flash the scrollbar. The active status must not be inactivated if the scrollbar was already active while increasing or decreasing eg. via buttons. Change-Id: I2902f58a26ab5e56ff89aa921cae7a7ae8404ee3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Clear hover when moved outside while pressingJ-P Nurmi2016-10-171-2/+19
| | | | | | | | | | | | | | | | | | | | As noticed in QTBUG-56269, QEvent::HoverLeave is not sent while there is an active mouse grabber item. Therefore we must hit test move events to figure out if the control is still effectively hovered. Task-number: QTBUG-56556 Change-Id: I8a5e3dbd77375aace7fc5594e4315288304d852f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | auto tests: prefer creating signal spies locally where neededJ-P Nurmi2016-10-0713-282/+92
|/ | | | | | | | | | | It is tedious to always add new static SignalSpy instances for each tested signal. Just create signal spies locally in the same place where they are used. This makes it much more convenient to create more signal spies to achieve better coverage. This practice has been already used in newly written tests. Change-Id: I7f56c4b3cea0c55c34b85254f69a88ec73b8607f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Move line number-dependent tests to the top of tst_swipedelegate.qmlMitch Curtis2016-10-041-100/+100
| | | | | | | | | We should try to limit the amount of changes that happen above these functions, so that the tests don't keep failing due to line numbers changing. Change-Id: If74ac88bfca99a343f8ddbb31374578b5e977012 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix ComboBox to scroll to the highlighted itemJ-P Nurmi2016-10-021-3/+60
| | | | | | Change-Id: I57fefd8ba47796118e71902c6882e9918d462920 Tasl-number: QTBUG-55030 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix QQuickToolTip's delay and visibilityJ-P Nurmi2016-10-021-5/+20
| | | | | | | | | | | | | | | | | | | | The imperative open() and close() methods used to be the only ways to open and close popups, but the visible-property was later made writable to allow declarative visibility bindings. Since then, it is no longer sufficient for QQuickToolTip to overshadow open() and close() in QML, because setting the visible-property would bypass these overshadowed method. There was a bit of duplicate code between setVisible(), open(), and close(). This change moves the logic to one place by changing open() and close() to call setVisible(). Furthermore, setVisible() has been made virtual to make it possible for QQuickToolTip to apply its delay properly. QQuickToolTip needs to control the delay and timeout timers before the effective visibility is applied on the popup. Task-number: QTBUG-55572 Change-Id: I5a109157f9ec5d0db145e710426665a9a8d7e870 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Popup: don't steal focus on close from another opening popupJ-P Nurmi2016-10-022-0/+101
| | | | | | | | | In the Gallery example, the settings dialog does not get focus (or to be exact, loses it immediately), because the closing menu incorrectly transfers focus back to the tool button that opened the menu. Change-Id: I5328d8e825de9a977619688dc4478e6592db654f Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix QQuickControl::setFocusReason()J-P Nurmi2016-10-022-0/+85
| | | | | | | | | | | There is a little behavior change in focus handling in Qt Quick after qdeclarative commit e7da97b. The order of QQuickItem::focusOutEvent() and QQuickItem::ItemActiveFocusHasChanged have changed. Now we need to emit visualFocusChanged() in setFocusReason() when losing visual focus to ensure that bindigs to visualFocus get re-evaluated as appropriate. Change-Id: I52e728c7df751a54b36f353415b2666cfedc73ad Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Make a plain AbstractButton calculate suitable implicit sizeJ-P Nurmi2016-10-021-0/+36
| | | | | | | | | | | | | | | | Just like commit 87b21a57 made Control do it, this applies the same logic to AbstractButton. The simple reasoning is that when customizing both the contentItem and the background, it is much better to use the AbstractButton type that does not have any default building blocks. Previously you would have to supply implicit size calculation as well, but this makes it much more convenient to use. [ChangeLog][Controls][AbstractButton] A plain AbstractButton now calculates its implicit size based on the implicit size of the content item plus paddings, and the implicit size of the background item. Change-Id: Ic380366b25940fbb9f28882c4622d58f4c042a07 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix style inheritanceJ-P Nurmi2016-10-021-3/+16
| | | | | | | | | When unable to find a parent item style on window change, use the window style as a fallback to avoid a parentless style. Task-number: QTBUG-52631 Change-Id: I5d31dc72075f06f865f01c3ee2411de6a1485677 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Cancel exit transition when the same tooltip is shown againMitch Curtis2016-09-301-0/+48
| | | | | | | Task-number: QTBUG-54206 Task-number: QTBUG-54532 Change-Id: I7e4d993e3b1e30d7d7956629604f948dd1c85e32 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Material: fix accent update on theme changeJ-P Nurmi2016-09-301-0/+15
| | | | | Change-Id: I9cb3fd6bdbedc0e7ca472b815502bce48dca00b7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Improve tst_tumblerMitch Curtis2016-09-301-30/+69
| | | | | | | | | | | | | | | | | - Don't create a tumbler indiscriminately in init(). Some tests don't use the tumbler, and it just creates more headaches for debugging, as there is extra, unrelated qDebug output for the unused tumbler. - Don't create the tumbler with createQmlObject(). Having code in a string is difficult to maintain and doesn't have the benefit of e.g. the static error checking that Creator can do. - Instead of only automatically cleaning up the tumbler item in cleanup(), introduce a "cleanupItem" that all dynamically created items can use as their parent so that they too can benefit from automatic cleanup. - Comment out incomplete test and mention that it's a TODO. Change-Id: I070fbb018bc9270555774bb0de2d72b7889edb35 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* TabButton: use Text's implicit size instead of content sizeJ-P Nurmi2016-09-301-0/+6
| | | | | | | | | | | | | | | | | | | Using content size was a workaround (applied in 5f5654f) that helped with mis-aligned tab labels, but broke the implicit size calculation of TabButton itself. Now that the mis-alignment issue in QQuickText has been fixed in qtdeclarative commit 79cfc87, we can restore the correct implicit size calculation. This makes it possible to create tabs that are not squeezed to fit in TabBar: TabBar { TabButton { text: "Foo"; width: implicitWidth } TabButton { text: "Bar"; width: implicitWidth } TabButton { text: "Baz"; width: implicitWidth } } Task-number: QTBUG-55129 Change-Id: If0dbb00794299e324b7a8d8ce1370fe0a3491fe8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* TabBar: fix mixing of fixed and implicitly resized tabsJ-P Nurmi2016-09-301-6/+20
| | | | | | | | | | Don't calculate the implicit item width based on the total width of the whole control, but based on the available width that is left after subtracting the items that have an explicit width and won't be resized. Change-Id: Iae18dd9c9756b6f2afa143baab7d2501ce9d4697 Task-number: QTBUG-56265 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix crash when flicking a ListView-based TumblerMitch Curtis2016-09-301-1/+44
| | | | | | | | | | | | | | This only happens in 5.7, and seemingly only when the delegate uses attached properties (like displacement). Other fixes required and/or relevant to the patch: - Fixed some instances of displacementChanged possibly not being emitted. - Use QPointer for the attached object's Tumbler pointer, as it was being accessed while null after this patch. Change-Id: I7d881d815faf57f1a8bc0ea8e73a7331523d2f9b Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix QQuickToolTipAttached parentJ-P Nurmi2016-09-281-1/+2
| | | | | | | | The parent must not be a null item. Change-Id: Ide71a69e8cde8114542fa97570e0e5f5d724a884 Task-number: QTBUG-56243 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* SpinBox: don't call valueFromText when non-editableJ-P Nurmi2016-09-281-0/+32
| | | | | | | | | | If there are custom values like 00:00:00 for time and valueFromText is not implemented, tab navigation sets the value to 0, because the default implementation cannot evaluate it. Change-Id: I0384a2015b2c2a4dc2ee0e57f1ece410c339838e Task-number: QTBUG-56215 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Refactor tst_snippets to make it easier to add non-screenshot snippetsMitch Curtis2016-09-262-46/+72
| | | | | | | | Add a separate test for non-screenshot snippets and move the screenshot snippets to their own folder. Change-Id: Ic3e7370321e346b83f7df42205e204d1265ce5b0 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix a crash in StackView::pop()J-P Nurmi2016-09-261-0/+18
| | | | | | | | | | | | | | | | | If an item is still activating (from a previous pop) when it gets already popped out, we must not set the deactivating status before calling prepareTransition(). This method cancels and finishes the ongoing activation transition, and if the status says that the item was deactivating, the item gets destroyed in the middle of preparing for the deactivation transition. Let prepareTransition() cancel any ongoing transition first, and then set the status after the preparation. The cleanest way is to pass the target status to startTransition() and completeTransition(). Task-number: QTBUG-56158 Change-Id: Id52752200b650ea9f84659bbf43431f8a8b22f1e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix nested popupsJ-P Nurmi2016-09-232-0/+91
| | | | | | Task-number: QTBUG-56136 Change-Id: I3ed7fae09c342c2c456b94fc0cfed781d8edf6aa Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix QQuickOverlay::childMouseEventFilter() to release the grabber popupJ-P Nurmi2016-09-232-0/+101
| | | | | | Change-Id: Id9d844d1fc75f4d254abaf1681747b7b521e881b Task-number: QTBUG-56131 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Drawer: allow interaction outside modal background dimmingJ-P Nurmi2016-09-232-1/+16
| | | | | | | | | If a drawer is positioned below a toolbar, for instance, it must be possible to interact with the buttons in the toolbar while the drawer is open (without the drawer closing due to the interaction). Change-Id: I5e07f66ad997ba6cf991a26fc6849ec51c9c0a22 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickDrawer: allow resizing and positioningJ-P Nurmi2016-09-212-8/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make QQuickDrawer re-use QQuickPopup's reposition() implementation. This way QQuickDrawer gains support for proper positioning and margins "for free". Now it is possible to place Drawer below the window header, for instance: import QtQuick 2.0 import QtQuick.Controls 2.0 ApplicationWindow { id: window visible: true header: ToolBar { } Drawer { y: header.height width: window.width * 0.6 height: window.height - header.height } } [ChangeLog][Controls][Drawer] Made it possible to control the vertical position of a horizontal drawer, and vice versa. This allows placing a drawer below a header/toolbar, for instance. Task-number: QTBUG-55360 Change-Id: I63621195efeefa2ea88935d676771b392e0a4030 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Drawer: reparent to the overlay by defaultJ-P Nurmi2016-09-213-0/+90
| | | | | | | | | | | | | | Drawer is a special type of popup that always resides at one of the window edges. Therefore it makes sense for drawers to operate on window coordinates. Re-parenting drawers to the window overlay achieves that. Now that the window overlay is guaranteed to always exist and the ApplicationWindow.overlay attached property works even with plain QML Window, we can reliably use it as a parent for Drawer. Task-number: QTBUG-53168 Change-Id: I37c727001350217ea1d2d9c52d73b4cae44d7c8d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>