aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Fix a crash with focus handling when destructing QQAppWindowJan Arve Saether2017-02-072-0/+116
| | | | | | | | | | | | | | | | | | | | Because QQuickApplicationWindow connected SIGNAL(activeFocusItemChanged()) to SLOT(_q_updateActiveFocus())); it would enter _q_updateActiveFocus() from the dtor of QQuickWindow (because dtor of QQuickWindow would emit activeFocusItemChanged()). At that point the QQuickApplicationWindow object for the member function _q_updateActiveFocus() was already destroyed, so we would crash. Instead, make sure we clear the focus as early as possible, and then disconnect in case activeFocusItemChanged() is emitted after QQuickApplicationWindow is destroyed. Task-number: QTBUG-57846 Change-Id: I4b1999e647b970394436a2d462b7f352f1c8a811 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* tst_snippets: share a single QQuickView instance for all data rowsJ-P Nurmi2017-01-251-3/+10
| | | | | | | | | | | | This test contains a lot of data rows. Re-creating a QQuickView for every data row puts a lot of stress on the system. In the new Open Nebula -based CI, things start consistently exploding after a random amount of tst_snippets data rows. This change fixes that. Task-number: QTBUG-58196 Change-Id: I6549944a6d7b2bd384d09ee974bee6423ffe625c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QQuickPopup: allow QQuickWindow as a parentJ-P Nurmi2017-01-241-0/+10
| | | | | | | | Previously it would unintuitively complain that "cannot find any window to open popup in" if a window was passed as a parent. Change-Id: I984d4c941afae12733a9c1c2f0441da867298aa1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix resizing of implicitly created content itemsJ-P Nurmi2017-01-231-0/+12
| | | | | | | | | Pane, Frame, and other container type of controls create their default content item lazily (commit 0e3636a). Under certain circumstances, the default content item was not resized as appropriate. Change-Id: Ia1f55030f62cc7b02c5bc770b4983f1240acf42d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickAbstractButton: don't leak space key eventsJ-P Nurmi2017-01-231-0/+36
| | | | | | | | Unlike mouse events, key events are not accepted by default. Key events must be accepted to avoid event propagation. Change-Id: I8d9217e6f18d56515470bef2507d462edd274ce2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickSpinBox: enable/disable up/down buttons on range changesJ-P Nurmi2017-01-171-2/+21
| | | | | | | | | | Previously the buttons were enabled/disabled on range changes only if it caused the value to change. Make sure to update them also when the value does not change. Task-number: QTBUG-58217 Change-Id: Ibab5b8b7a58d5b88341c507a63b69f5a05fdfc1f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-143-0/+38
|\ | | | | | | Change-Id: Ibad627dfcd3389aeddfe08a10d13097c88f081a1
| * Switch(Delegate): fix handle snappingv5.8.0J-P Nurmi2017-01-122-0/+34
| | | | | | | | | | | | | | | | | | | | | | When Switch is released, nextCheckState() gets called to set the appropriate check state depending on the handle position. If the check state does not change, it must force a position update to avoid that the handle is left somewhere in the middle. Task-number: QTBUG-57944 Change-Id: I872160dafaa7dbf676b026fcc6ba0d0507a91a05 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Implement QQuickDialogButtonBox::standardButton(StandardButton)Konstantin Ritt2017-01-051-0/+4
| | | | | | | | | | Change-Id: I25935a069127a48c00dae951bc77665be6a429e1 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Fix tst_toolbutton.qmlJ-P Nurmi2017-01-121-7/+7
| | | | | | | | | | | | | | | | | | A copy-paste mistake. There's no such thing as Qt.LeftToolButton. It evaluated to undefined, and ended up using the default value Qt.LeftButton. Change-Id: Ie8d6714f663daa2bdfed2645a4fdc3e370e236ed Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Welcome to 2017J-P Nurmi2017-01-09193-193/+193
| | | | | | | | | | Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickMenu: fix Repeater supportJ-P Nurmi2017-01-023-0/+197
| | | | | | | | | | | | | | | | | | QQuickMenu had itemChildAdded() copied from QQuickContainer, but it did not actually install an item change listener on the content item so itemChildAdded() got never called. Change-Id: Idfe558c7055b9a3df124b1f009941c423ecef4bb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Stabilize tst_combobox::test_modelReset()J-P Nurmi2016-12-131-4/+2
| | | | | | | | | | | | Task-number: QTBUG-57256 Change-Id: I4317242f48f7c94a35d3f0c9a6793ef113b69e77 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | StackView: don’t push duplicate itemsMitch Curtis2016-12-061-3/+31
| | | | | | | | | | | | | | | | It doesn’t make sense to do this. Task-number: QTBUG-57266 Change-Id: I23f740356f2727a59aa0a68cb57d2c44edfb6046 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-12-011-0/+49
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/controls/data/tst_swipedelegate.qml Change-Id: I15bd0366f1ad0ce35f1dce6d790da6dd5f0221f9
| * | 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>
* | | Dial: add missing wheel handlingJ-P Nurmi2016-11-291-0/+47
| |/ |/| | | | | | | | | | | | | [ChangeLog][Controls][Dial] Added support for wheel handling when wheelEnabled is set to true. Change-Id: If0bc2f0ea9d7cde7726739cdfdbd795c908981f0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-282-0/+122
|\| | | | | | | | | | | | | | | Conflicts: src/imports/controls/doc/src/qtquickcontrols2-differences.qdoc sync.profile Change-Id: I554c40516030075142f9af1dd5c66fdca2b78b9a
| * 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: fix swipes that begin over a child item of a delegateMitch Curtis2016-11-241-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the mouse was pressed over a child item of the delegate, the event's position will be for that item, rather than the entire control. To fix this, we need to set the correct pressPoint. To avoid duplicating QQuickAbstractButton::mousePressEvent()'s code, we simply set the correct pressPoint after calling it in QQuickSwipeDelegatePrivate::handleMousePressEvent(). Task-number: QTBUG-57271 Change-Id: I7204d6176c755512eeeb0b1a57a920fbab40392c Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-231-3/+43
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquickswipedelegate_p.h Change-Id: I5446503c1e4f21cb37f4fffeb3453d1c84b54b30
| * | 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>
* | | Use tryVerify() instead of wait() where possibleMitch Curtis2016-11-222-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This may help with the flaky tst_tooltip test, and makes tst_tumbler a little bit cleaner. Task-number: QTBUG-57258 Change-Id: Ida987fb9d60392aba4142e4711131aded56d425d Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | SwipeDelegate: fix broken swiping after calling SwipeDelegate.close()Mitch Curtis2016-11-221-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Reset the internal state when close() is called to ensure that it's consistent. Task-number: QTBUG-57243 Change-Id: Id52724e0eb296c3f8a4fc0a0587a04558b1d1ab6 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | AbstractButton: fix press-and-hold for checkable buttonsJ-P Nurmi2016-11-221-0/+22
| | | | | | | | | | | | | | | | | | | | | Don't toggle the checked state on release after press-and-hold. Change-Id: I06b6a0e86dc02c171eef10f3c0d564ff605796f0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-174-163/+268
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/controls/data/tst_button.qml Change-Id: I5c97b3c1944e52dba44fd3c7d6d9a255c5e08cf7
| * | 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>
* | | 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-1116-16/+16
| | | | | | | | | | | | | | | Change-Id: Ic3764ca6ba70b3b9557a6c2088698c40456a93f5 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Dialog: emit rejected() when closed interactivelyMitch Curtis2016-11-101-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is what QDialog does, for example. This allows applications to perform some actions that must be done when the dialog is closed. For example, clearing any unsaved changes in a shortcut editor dialog. [ChangeLog][Controls][Dialog] Dialog now emits rejected() when closed interactively. Task-number: QTBUG-56928 Change-Id: Iad4e2fe984323d0b9fdfd17ee3746043b5eaf849 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Fix tst_snippets in static buildsJ-P Nurmi2016-11-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | There are now snippets using the Material and Universal styles, so they must be declared as dependencies. Change-Id: If0db9469ae71876920752a9e286f7ab95673ad4d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Fix tst_qquick(material|universal)styleconf in static buildsJ-P Nurmi2016-11-082-0/+2
| | | | | | | | | | | | | | | Change-Id: I8d49a946e5c053987b9be5672c71d69e8c36d926 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | tst_swipedelegate: kill the unnecessary dependency to QtQuick.LayoutsJ-P Nurmi2016-11-081-6/+6
| | | | | | | | | | | | | | | | | | | | | This fixes tst_swipedelegate to pass in static Qt builds. Change-Id: I5377e607c719650abdb256295a3076b1caf4fff5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-0310-9/+207
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/accessibility/tst_accessibility.cpp Change-Id: I8c3ccb301730ecdc0acdcb75de607cdd4f753e15
| * | 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>
* | | tst_accessibility: add RoundButtonJ-P Nurmi2016-11-022-0/+7
| | | | | | | | | | | | | | | Change-Id: I6ea5d2ac6c72b469c1916d72dc81352a09646006 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | QQuickDialog: finish accessibility supportJ-P Nurmi2016-11-022-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2f1e983 added support for controlling accessible properties via QQuickPopup, so now QQuickDialog can set its title as the accessible name the same way QQuickPage does. Change-Id: Iead1e65a10ec16fbbae8383edb6fa3a77a83d4fe Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-0246-315/+370
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/Drawer.qml src/imports/controls/Frame.qml src/imports/controls/GroupBox.qml src/imports/controls/Page.qml src/imports/controls/Pane.qml src/imports/controls/ToolBar.qml src/imports/controls/Tumbler.qml src/quicktemplates2/qquickapplicationwindow.cpp src/quicktemplates2/qquickpopup.cpp tests/auto/accessibility/data/busyindicator.qml tests/auto/accessibility/data/button.qml tests/auto/accessibility/data/checkbox.qml tests/auto/accessibility/data/control.qml tests/auto/accessibility/data/dial.qml tests/auto/accessibility/data/label.qml tests/auto/accessibility/data/menu.qml tests/auto/accessibility/data/pageindicator.qml tests/auto/accessibility/data/popup.qml tests/auto/accessibility/data/progressbar.qml tests/auto/accessibility/data/radiobutton.qml tests/auto/accessibility/data/rangeslider.qml tests/auto/accessibility/data/scrollbar.qml tests/auto/accessibility/data/scrollindicator.qml tests/auto/accessibility/data/slider.qml tests/auto/accessibility/data/spinbox.qml tests/auto/accessibility/data/switch.qml tests/auto/accessibility/data/tabbar.qml tests/auto/accessibility/data/tabbutton.qml tests/auto/accessibility/data/textarea.qml tests/auto/accessibility/data/textfield.qml tests/auto/accessibility/data/toolbar.qml tests/auto/accessibility/data/toolbutton.qml tests/auto/accessibility/tst_accessibility.cpp Change-Id: Ibc3f592162e97bef9147b35da8c9a79e73a907e6
| * | Doc: tweak BusyIndicator's GIFJ-P Nurmi2016-11-022-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it running at start to ensure that the first frame serves as a good screenshot. When GIF animations were disabled (Qt Creator), the first frame was empty. Change-Id: I2a0acf0cf428a0175c141a7841ec327bc15dfade Task-number: QTBUG-55904 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>