aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-266-1/+226
|\| | | | | | | | | | | | | | | | | | | | | 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 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>
* | Revert "Popup: expose flip API"J-P Nurmi2016-09-221-35/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 09706e8f9fc481d848a3616cace58baf5bc8b67c. It was a bit rushed to expose the allow*Flip properties. We have now added several other similar internal allowFooBar flags, so clearly a more sustainable solution is to craft some kind of horizontal and vertical sizing/positioning policies out of them. So, remove this unreleased API while we still can, so we don't have to deprecate it right away. Conflicts: src/imports/templates/qtquicktemplates2plugin.cpp Change-Id: Iea33c11805071499b472b18426bbdc8d871a4a58 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-2210-15/+683
|\| | | | | | | 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-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>
| * Make ApplicationWindow.overlay attached property work with QML WindowJ-P Nurmi2016-09-211-2/+2
| | | | | | | | | | | | | | | | | | Since 14dd934c, we're using QQuickOverlay even with plain QML Window. Now that the overlay is guaranteed to always exist, we can make the attached property to give a reliable access to the overlay. Change-Id: I707fc52f6dfc7a0dbc9a3467646fb5feb36b9572 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix QQuickPopup::resetWidth/Height()J-P Nurmi2016-09-211-0/+18
| | | | | | | | | | | | | | | | | | | | When reseting the explicit size of a popup, the popup items geometry does not necessarily change. However, it affects the positioning of the popup whether it has explicit size or not. For that reason we must ensure that the popup gets repositioned as appropriate. Change-Id: I2dcd895eb7a1adc9c6a804bed4731edac1d550ec Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * QQuickPopup: fix negative marginsJ-P Nurmi2016-09-211-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | The documentation states: A popup with negative margins is not pushed within the bounds of the enclosing window. Therefore QQuickPopupPrivate::reposition() must not subtract negative margins to calculate the available bounds. Change-Id: I626772970bf3d5d9eefbb13811ea1003a85bcf0b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Switch/Delegate: improve dragging behaviorJ-P Nurmi2016-09-202-0/+68
| | | | | | | | | | | | | | | | | | Don't start dragging the handle unless the initial press was at the indicator, or the drag has reached the indicator area. This prevents unnatural jumps when dragging far outside the indicator. Change-Id: I2b31b319a347ab489f2de5c044e42d908827b425 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * QQuickSwitchDelegate: make the handle draggableJ-P Nurmi2016-09-191-0/+182
| | | | | | | | | | | | | | | | | | Sync the implementation with QQuickSwitch to make it behave exactly the same way. Change-Id: I59d08f68f87d8776e4012da880ac57a99950dfe8 Task-number: QTBUG-55686 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * QQuickSwitch: fix event handlingJ-P Nurmi2016-09-191-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | Switch implemented custom event handling for the indicator, and used QQuickAbstractButton's event handling for the background. This lead to inconsistent signals depending on whether interacting with the handle or the background. This change gets rid of the child mouse event filter for the indicator and makes QQuickSwitch fully utilize the base class event handlers. Change-Id: I773e2eb939cbbf4bc9086cdf2b34e876597ea08e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix Switch to stay pressed as appropriateJ-P Nurmi2016-09-191-0/+23
| | | | | | | | | | | | | | | | | | | | Switch is a special type of button that should stay pressed (similarly to Slider) even if the finger slips outside the bounds of the control. It was doing that only when dragged from the handle, not when dragged from the background. Change-Id: I462c66cfe2e67fc3c95215ffeafe3e5771174418 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix Popup to respect explicit sizeJ-P Nurmi2016-09-191-5/+43
| | | | | | | | | | | | | | | | | | [ChangeLog][Controls][Popup] Fixed to respect explicitly set width and height. Task-number: QTBUG-56025 Change-Id: I7c8b0dcf59459a313c4c52eda44de45f1ab648ea 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>
| * QQuickControl: clear the hovered state when hiddenJ-P Nurmi2016-09-151-0/+6
| | | | | | | | | | | | Task-number: QTBUG-56007 Change-Id: I6433e0ebc9570b1e9e6e149ef7f631ea6786f672 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-146-0/+458
|\| | | | | | | | | | | | | | | 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-136-0/+458
| | | | | | | | | | | | Change-Id: I1a3be5ef02cf73a153cebc030313f892fbb03d9f Task-number: QTBUG-55769 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Platform: add experimental StandardPathsJ-P Nurmi2016-09-131-0/+78
| | | | | | | | | | | | | | This complements the File/FolderDialog offering. Change-Id: I44a105724321092a6efc4126c8fb25f7d31b77e2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-0625-239/+1019
|\| | | | | | | Change-Id: Ief98cd56abd13cfa4e30578e150207462a8243b8
| * QQuickDrawer: fix the internal transition stateJ-P Nurmi2016-09-062-0/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-064-47/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * tst_material: test the background of some more controlsJ-P Nurmi2016-09-061-34/+42
| | | | | | | | | | | | Task-number: QTBUG-55687 Change-Id: I515bcbbed76e08da6d300434cf92b3539a79afec Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * Material: fix popups to respect Material.backgroundJ-P Nurmi2016-09-061-0/+40
| | | | | | | | | | | | Task-number: QTBUG-55687 Change-Id: I217ad905cc06228a6a1608c0721dc20a31db6d9b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix hover event delivery with plain QQuickWindowJ-P Nurmi2016-09-056-14/+165
| | | | | | | | | | | | | | | | | | | | 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>
| * Use QQuickOverlay with plain QQuickWindowJ-P Nurmi2016-09-052-27/+153
| | | | | | | | | | | | | | | | | | | | | | Get rid of the ugly and broken event filter approach that was used with QQuickWindow. Create an instance of QQuickOverlay so that the same overlay code path is used for both QQuickApplicationWindow and plain QQuickWindow. Task-number: QTBUG-55729 Change-Id: I6e26b19cd94a9580418912803f50c30b9dcaeedb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * TextField: improve the implicit size calculationJ-P Nurmi2016-09-051-0/+19
| | | | | | | | | | | | | | | | | | | | In general, we don't want TextField to grow while typing, but if there is no background nor placeholder, use content width as a fallback. Also take content height into account while calculating the implicit height. Task-number: QTBUG-55684 Change-Id: Iee0eff6861c3573045036a06d7e53f7fc313fbe8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Switch: fix missing pressed() and released() signalsJ-P Nurmi2016-09-051-75/+63
| | | | | | | | | | Change-Id: I4bf81c06a77980ed3201b43f9d106017f236a8bd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * auto tests: allow using QQuickWindow with QQuickApplicationHelperJ-P Nurmi2016-09-056-42/+44
| | | | | | | | | | | | | | | | 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>
| * Replace 'foreach' with 'range for'Anton Kudryavtsev2016-09-027-17/+23
| | | | | | | | | | | | | | | | And add QT_NO_FOREACH define to .qmake.conf. Now QuickControls2 is 'foreach' free. Change-Id: I98695258859decadae6fd2f23f5f6f5ef2b0550f Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-027-3/+198
|\| | | | | | | Change-Id: I82da1e547c4ead1181ade19f77c62651c00998a3
| * Material: ignore Material.background unless explicitly setMitch Curtis2016-09-021-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing Material.background: "red" in an ApplicationWindow shouldn't affect the background color of e.g. a Button. The background property should still propagate though, so we change buttonColor() to ignore the value of background if it wasn't explicitly set. Change-Id: I09b4df142935b19de35a77bd68c6c062417b74fc Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * 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>
| * Switch: fix Qt::ClickFocus on the indicatorJ-P Nurmi2016-09-021-0/+11
| | | | | | | | | | | | Task-number: QTBUG-55647 Change-Id: Ic89beaa1e6674d3f94c9a713fd9bd8e8fdfafbb6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Popup: respect dynamic dim & modal changesJ-P Nurmi2016-09-021-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | What comes to the visual background dimming, popups did not respect dynamic 'dim' or 'modal' property changes. This was half-intentional, because it was thought an unrealistic use-case to toggle these while the popup is visible. As a result, the background dimming was missing if a popup was made visible in a declarative way, and either 'dim' or 'modal' was evaluated after the popup was already visible. Task-number: QTBUG-54797 Change-Id: Icfb171e619540fef2d91908867b702790cde6c32 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Make a plain Container calculate suitable implicit sizeJ-P Nurmi2016-08-311-0/+85
| | | | | | | | | | | | | | | | | | [ChangeLog][Controls][Container] A plain Container 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: I0481aef0ce713d92bee8b119bf5158dea612d598 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Make a plain Control calculate suitable implicit sizeJ-P Nurmi2016-08-311-1/+28
| | | | | | | | | | | | | | | | | | [ChangeLog][Controls][Control] A plain Control 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: I086ecf8e3f564ee49df2f9d30015e127dc88db6e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * ScrollIndicator: respect the paddings when overshootingJ-P Nurmi2016-08-301-0/+34
| | | | | | | | | | | | Task-number: QTBUG-55620 Change-Id: I4c06a9e7fefbdbaff7f14a972ed47242c51ca8c6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add RoundButtonMitch Curtis2016-09-025-20/+297
| | | | | | | | | | | | | | | | [ChangeLog][Controls] Added RoundButton. Change-Id: I30a8b9e942a61089e87fb1aa248432e42caf0d20 Task-number: QTBUG-54967 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | StackView: add removed() attached signalMitch Curtis2016-09-021-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | This provides an opportunity for users to destroy items that StackView doesn't, like objects that are pushed as Items. [ChangeLog][Controls][StackView] Added StackView.removed() attached signal to provide a way to delete items that StackView won't. Task-number: QTBUG-55405 Change-Id: I59096efaf1a95d36451fbf1f46b8f68ee96c20de Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-08-2314-1/+347
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/material/qquickmaterialstyle.cpp src/imports/controls/universal/qquickuniversalstyle.cpp src/quicktemplates2/qquickpopup_p_p.h src/quicktemplates2/qquicktooltip.cpp tests/auto/auto.pro Change-Id: I88b347dd85278e14f7b2ca468e30648c6432b6f2