aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/drawer
Commit message (Collapse)AuthorAgeFilesLines
* Drawer: fix drag-over-threshold calculationJ-P Nurmi2017-05-022-20/+45
| | | | | | | | | | Don't steal a horizontal drag if a flickable has been dragged a long distance vertically, and then later the flick happens to exceed the horizontal drag threshold. Change-Id: Idf39997aa20cc41da561f182119199f30c63ba32 Task-number: QTBUG-60521 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickPopopPositioner: fix reposition() callsJ-P Nurmi2017-05-022-0/+18
| | | | | | | | | | QQuickDrawer still overrides QQuickPopupPrivate::reposition(), so it must be called instead of calling QQuickPopupPositioner::reposition() directly. Task-number: QTBUG-60493 Change-Id: I45ba7364c32d89d2fd128c07f68274b962467ced Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickDrawer: fix flicking inside drawersJ-P Nurmi2017-04-282-22/+141
| | | | | | | | The pressPoint must be stored before rejecting a press event, to be able to calculate correctly when to steal/grab move. Change-Id: I4c9225fdaf730800fec30b3f37a2a0fe773e8b03 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickDrawer: don't jump when dragging openJ-P Nurmi2017-04-241-15/+25
| | | | | | | | | | | | | | | | Typically drawer's drag margin is so small that one can barely notice that it jumps when dragging begins. On systems with larger start drag distance, or when drawer's drag margin is manually increased, the jump was noticeable and disturbing. Unfortunately several tests had to be adjusted accordingly, because they were assuming that pressing at the edge and then dragging in the middle would immediately snap the drawer. Now the tests are sending a press at the edge, first moving past the start drag distance, and then moving to the actual tested position. Change-Id: Id8badf256fd4dd51f34db76ebe03bf6b15203cd9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* tst_Drawer: disable compression for touch eventsJ-P Nurmi2017-04-241-3/+10
| | | | | | | | | | Touch event compression makes auto tests unpredictable and is causing headache for the upcoming "smooth dragging" changes. Disable touch event compression and remove the manual flushing that is no longer needed. Change-Id: I1264203255d1c796829479026c84ba368f4758b3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* *.pro: osx -> macosJ-P Nurmi2017-04-201-1/+1
| | | | | Change-Id: I29b36eaa417986be24c917bc9c9b1f6441773e3d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Update license headers to silence qtqa/tst_license warningsJ-P Nurmi2017-02-2410-20/+120
| | | | | | | | | | Sync with the qtbase/header.XXX. The license headers were matching qtbase/header.XXX-OLD, which makes qtqa/tst_license flood warnings: Old license being used for foo.qdoc Change-Id: I199bf303a2d648e0d5f7bc01cb0814a5f945eeff Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2017-01-1111-11/+11
|\ | | | | | | Change-Id: If797ac58344b20e8de4379343131c097247ba2f2
| * Welcome to 2017J-P Nurmi2017-01-0911-11/+11
| | | | | | | | | | Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Drawer::interactiveJ-P Nurmi2016-11-251-0/+57
|/ | | | | | | | | | [ChangeLog][Controls][Drawer] Added interactive property that specifies whether the drawer reacts to swipes. This can be used to make drawer a non-closable persistent side-bar. Task-number: QTBUG-53169 Change-Id: I00a794b5ce47b86fcb28e0db784ca0488cd13a7d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-152-4/+9
|\ | | | | | | Change-Id: I4a3971034d8e6daf0285c4bc9e5612b5e6cdabf1
| * 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>
* | Avoid .qmlc files being picked up by Creator's locatorMitch Curtis2016-11-111-1/+1
| | | | | | | | | | Change-Id: Ic3764ca6ba70b3b9557a6c2088698c40456a93f5 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-311-1/+1
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/CheckIndicator.qml src/imports/controls/RadioIndicator.qml src/imports/controls/RangeSlider.qml src/imports/controls/Slider.qml src/imports/controls/SwitchIndicator.qml Change-Id: I32612d2f905ffa02dbaedbb1f84c8237fbd66db3
| * QQuickPopup: fix binding loops with size-dependent positioningJ-P Nurmi2016-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | Make hoverEnabled propagate to childrenJ-P Nurmi2016-10-171-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hover effects can be sometimes a bit disturbing. This change makes it possible to conveniently disable hover effects for a tree of controls in one go. For example, to disable hover effects for a page including its header, footer, and all list items: Page { hoverEnabled: false header: ... footer: ... ListView { delegate: ... } } [ChangeLog][Controls][Important Behavior Changes] Control::hoverEnabled has been made to inherit to children, to make it possible to disable hover effects for a tree of controls in one place. Change-Id: Ia87144f2cc04957a32f89d3313816b91d97db635 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-263-1/+117
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: examples/quickcontrols2/gallery/gallery.qrc src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc src/quicktemplates2/qquickstackview_p.cpp src/quicktemplates2/qquickstackview_p_p.h tests/auto/controls/data/tst_stackview.qml Change-Id: If451fe0e5653572d305b4de90a6d5cb878463e8d
| * 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>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-224-8/+246
|\| | | | | | | Change-Id: I37aab846346692fd4bff08b0dbab66db3a8e2716
| * 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-212-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Drawer: fix drag to close from the outside on touchJ-P Nurmi2016-09-192-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set mouseGrabberPopup in QQuickOverlay::childMouseEventFilter() the same way it is set in QQuickOverlay::mousePressEvent() to ensure that the consequent mouse move events are routed to the appropriate popup. This worked with "genuine" mouse move events that were caught by the same child mouse event filter and that way routed to the appropriate popup, but not with "synthesized" mouse move events that are caught by QQuickOverlay::mousePressEvent() instead. Change-Id: Ic59afd85e55c13ebec482bc4dc534accd1f92b2c Task-number: QTBUG-56010 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-143-0/+229
|\| | | | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquicktextarea_p_p.h src/quicktemplates2/qquicktextfield_p_p.h Change-Id: Ie7b4a114ad27a4cad337c91e8ebcf696b0e845d7
| * Fix modal overlays leaking wheel events throughJ-P Nurmi2016-09-133-0/+229
| | | | | | | | | | | | Change-Id: I1a3be5ef02cf73a153cebc030313f892fbb03d9f Task-number: QTBUG-55769 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-066-29/+521
|\| | | | | | | Change-Id: Ief98cd56abd13cfa4e30578e150207462a8243b8
| * QQuickDrawer: fix the internal transition stateJ-P Nurmi2016-09-061-0/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When QQuickDrawer was visible all the time, it did not emit the visibility related signals at all. Now the signals are emitted, but aboutToShow() and visibleChanged() were emitted twice when a drawer was manually dragged open. First time when the dragging begins (the drawer becomes effectively visible), and second time when the open transition begins after mouse/touch release. This change ensures that the signals won't be emitted again when the transition begins, in case they were already emitted. Change-Id: I2a175c9e86a480d5cd23e306f41f0d85e2416f75 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix drawer visibility and overlay event handlingJ-P Nurmi2016-09-063-3/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drawers were visible all the time, lurking at the window edges to be able to catch presses and drag themselves visible when appropriate. This change moves the handling of window edge presses from QQuickDrawer to QQuickOverlay, making it possible to show and hide drawers like any other popups. Instead of having all drawers visible all the time, we just keep QQuickOverlay visible when there are any registered drawers, even hidden ones. Furthermore, this change makes modal popup/drawer background dimming items accept mouse press events just like they accept hover events to ensure that a modal overlay does not leak input events through. When the background dimming of a modal drawer has been dragged over the drag-threshold, the drawer simply steals/grabs mouse to start dragging of the drawer. Task-number: QTBUG-54794 Task-number: QTBUG-54800 Task-number: QTBUG-55022 Task-number: QTBUG-55703 Task-number: QTBUG-55713 Change-Id: I65fb38fcf1466d4e41192c4321d80fb90b49da9a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix hover event delivery with plain QQuickWindowJ-P Nurmi2016-09-053-7/+84
| | | | | | | | | | | | | | | | | | | | A plain QQuickWindow cannot provide a modal background dimming visual, but we can create a QQuickItem as a fallback to take care of blocking the hover events for modal popups. Change-Id: I3ead985c4e2e030aaf28f1ec6c8a1ae285637819 Task-number: QTBUG-54913 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * auto tests: allow using QQuickWindow with QQuickApplicationHelperJ-P Nurmi2016-09-051-10/+10
| | | | | | | | | | | | | | | | This allows us to run the relevant popup tests for both QQuickWindow and QQuickApplicationWindow. Change-Id: I14b6435afeeb8a6cf640d8c52ad1d9e1fae070b0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * tst_Drawer: cleanup applicationwindow.qmlJ-P Nurmi2016-09-051-7/+0
| | | | | | | | | | | | | | The MouseArea workaround was not removed when QTBUG-54629 was fixed. Change-Id: I725ca9a0b05811246e9a6a378f2c5e25c1cdca0f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix tst_Drawer::dragMargin()J-P Nurmi2016-09-051-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The width of the window in the test is 400px, and the width of the drawer is 200px. The default drag margin equals to QStyleHints::startDragDistance(), which reports 19px on Linux installed on a Chromebook Pixel 2. The test attempts to drag from (double drag margin): 2 x startDragDistance = 38px to: 0.25 x width of the drawer = 50px 12px does not exceed the start drag distance of 19px, so the drawer is not dragged even though the test expects it to be dragged to the logical position of 0.25. Increase the dragged distance a bit to exceed the threshold. Change-Id: Id469533b08c4221430446a2d995e36b4ebdc0258 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-021-0/+3
|\| | | | | | | Change-Id: I82da1e547c4ead1181ade19f77c62651c00998a3
| * QQuickDrawer: fix velocity calculationJ-P Nurmi2016-09-021-0/+3
| | | | | | | | | | | | | | | | Use the vertical velocity for top and bottom edges, and invert the speed for right and bottom edges. Change-Id: I362dda23f0a2cda60ad7cd52e7373d0707feea83 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into devJ-P Nurmi2016-07-222-0/+136
|\| | | | | | | Change-Id: I82c2b8d97d639e24147118a2ca6276ae70195b45
| * Fix hover event handling for drawer overlaysJ-P Nurmi2016-07-222-0/+136
| | | | | | | | | | | | | | | | | | | | Closed drawers sit visible at the window edge to be able to pull them out. Don't block hover events when drawers are fully closed ie. when their overlays are fully translucent. Task-number: QTBUG-53419 Change-Id: I5bdbed5a2cf3ad6972634432ac79f7fbe5054b98 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into devJ-P Nurmi2016-07-151-0/+7
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquickswipedelegate.cpp tests/auto/controls/data/tst_swipedelegate.qml tests/auto/controls/data/tst_textarea.qml tests/auto/controls/data/tst_textfield.qml Change-Id: I244f4ead4d14238c41db0bd965d7a2938f2ea8fc
| * Drawer: fix dragMargin handlingJ-P Nurmi2016-07-111-0/+7
| | | | | | | | | | | | Change-Id: I7549509aef9a88af7e6a449bae52da273b0253d0 Task-number: QTBUG-54629 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into devJ-P Nurmi2016-07-091-0/+25
|\| | | | | | | Change-Id: Ifff470774347041d1638fb1da277a8cc11a00db6
| * Drawer: reposition when closedJ-P Nurmi2016-07-061-0/+25
| | | | | | | | | | | | | | | | | | A drawer must be repositioned even when closed, or else it will peek out when anchored to the right or bottom edge and the window is resized. Change-Id: Idf86ec1d841cfcc333eb6c69d07b3e4b2b4015da Task-number: QTBUG-54578 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Bump up all controls and templates imports to version 2.1J-P Nurmi2016-07-081-1/+1
|/ | | | | | | | | | | | Controls must import templates version 2.1 in order to "inherit" 1-revisioned properties, methods, and signals. So far, this has been done case by case, but it's less error prone and more clear to change them all. For example, if you ever see a source file pasted/linked somewhere, it's easy to identify the version it belongs to. Change-Id: I41609ec1a22bc05ac3e79f953a147ca42d9e0786 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* import Qt.labs.controls 1.0 => QtQuick.Controls 2.0J-P Nurmi2016-04-211-1/+1
| | | | | | | | | Docs, resources, .metainfo and plugins.qmltypes will be updated in follow up commits. Change-Id: I4438c5bfb8802bff0fa15c56431cfd288f179861 Task-number: QTBUG-52549 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Add Drawer::dragMarginJ-P Nurmi2016-04-211-0/+60
| | | | | | | | | Allows controlling "sensitivity" of the edge drag, or disabling (dragMargin<=0) the entire drag operation if preferred. Change-Id: Icfe6f186704ca7f11abc66abeec603f29345af98 Task-number: QTBUG-52730 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Fix QQuickDrawerPrivate::positionAt()J-P Nurmi2016-04-213-0/+164
The position on the right and bottom edges is relative to the size of the window, not the drawer itself. Change-Id: Ia1d7418d4091a3a9e26f691bd75448023e0ca1cf Reviewed-by: J-P Nurmi <jpnurmi@qt.io>