aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls
Commit message (Collapse)AuthorAgeFilesLines
* Implement QQuickDialogButtonBox::standardButton(StandardButton)Konstantin Ritt2017-01-051-0/+4
| | | | | Change-Id: I25935a069127a48c00dae951bc77665be6a429e1 Reviewed-by: J-P Nurmi <jpnurmi@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>
* | Avoid .qmlc files being picked up by Creator's locatorMitch Curtis2016-11-113-3/+3
| | | | | | | | | | 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>
* | 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-031-2/+158
|\| | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-021-1/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * 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>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-313-0/+63
|\| | | | | | | | | | | | | | | | | | | | | 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
| * 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-271-0/+31
| | | | | | | | | | | | | | | | | | | | 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>
* | Popup: add spacing support for Dialogv5.8.0-beta1J-P Nurmi2016-10-261-0/+44
| | | | | | | | | | | | | | | | | | | | | | This helps to get the dialog layout right (a separate follow-up commit), because we don't need to mess with the paddings of the header, content, and footer, based on their existence and visibility, but we can also adjust the spacing which gets automatically added between the building blocks when they exist and are visible. Change-Id: Ie8b587eeb9d0fb4a8f42baf957879d40bbd3385c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Page: support spacingJ-P Nurmi2016-10-261-0/+40
| | | | | | | | | | | | | | | | | | | | Add spacing support into QQuickPageLayout. Having spacing and padding separately gives more fine-grained control over the layout. Spacing is inserted between the header, content, and footer, but only when the respective building blocks are visible. Change-Id: Ia26a4c33c2756a603ca6d53aefac3a66414b36d3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add QQuickDialog::titleJ-P Nurmi2016-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Dialog is incomplete without built-in support for title. All dialogs in the examples, screenshots, webinars, and blog posts have had a custom title. The Material and Universal designs both have specs for dialog titles. This commit adds support for dialog titles with appropriate looks (padding & font) out of the box. Task-number: QTBUG-56711 Change-Id: I248150313f1ce629a7105fdbe1c70c8fcd69e1cc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickDialog: simplify the button box handlingJ-P Nurmi2016-10-261-45/+6
| | | | | | | | | | | | | | | | | | | | Just fill in the footer with a button box by default from the styles. This makes the next step easier, to provide also a default title bar in the header. Task-number: QTBUG-56711 Change-Id: I621a61f29f9ba2fe4b7e907d81da5988133a98c8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-251-4/+4
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/doc/src/qtquickcontrols2-material.qdoc src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc src/imports/controls/doc/src/qtquickcontrols2-universal.qdoc src/imports/controls/material/ComboBox.qml Change-Id: I2a57070f96691cb6bbdaae460fbc60a85be435de
| * 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>
* | Page: provide implicit sizeJ-P Nurmi2016-10-251-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though the control was designed to be used as full-screen page, it can be sometimes useful to have non-fullscreen pages. In order to make Page behave well in layouts, it must provide a suitable implicit size. [ChangeLog][Controls][Page] Page has been made to calculate its implicit size based on the implicit size of the header, content, and footer plus paddings, and the implicit size of the background item. Task-number: QTBUG-56709 Change-Id: I0f40897df6e54d7bde01a464e24f0398b12bc865 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Dialog: fix implicit size calculationJ-P Nurmi2016-10-241-0/+79
| | | | | | | | | | | | | | Header and footer visibility must be taken into account. Change-Id: Id9bab1d66c126247df77effb153fefa3a78a1d79 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-10-192-2/+44
|\| | | | | | | | | | | | | | | Conflicts: src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate.qml src/imports/controls/material/qquickmaterialstyle.cpp Change-Id: I00b533e28407f87a31588e92109a468a5bfb4cc8
| * 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>
* | ScrollBar: keep active while hoveredJ-P Nurmi2016-10-171-0/+24
| | | | | | | | | | | | | | Improves usability on desktop, when hover is enabled. Change-Id: Ib67db80e278a9369da73d81946a9001d432376aa Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Make hoverEnabled propagate to childrenJ-P Nurmi2016-10-171-1/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-10-0714-388/+188
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-progressbar-disabled.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-progressbar-normal.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-checked.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-disabled.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-focused.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-normal.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-disabled.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-first-handle-focused.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-normal.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-second-handle-focused.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-second-handle.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-slider-disabled.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-slider-focused.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-slider-normal.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-tabbar-explicit.qml src/quicktemplates2/qquickmenu.cpp tests/auto/controls/data/tst_buttongroup.qml tests/auto/controls/data/tst_swipedelegate.qml Change-Id: Ib6042a0ad716f557927e7412d17ea8957d06c015
| * 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>
* | Remove wrong Container revision registrationJ-P Nurmi2016-10-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | We register Container.qml for QtQuick.Controls 2.0, so it is important to not override the registration with plain QQuickContainer template revision 1 for QtQuick.Controls 2.1, or else the behavior of Container will be different depending on whether the user imports QtQuick Controls 2.0 or 2.1. The auto test started failing when the import version was bumped from 2.0 to 2.1. This revealed that "Container" was pointing to Container.qml in 2.0, and to QQuickContainer in 2.1. Change-Id: I80b8de3bf556c57e4ae853b116d387431dfa02c7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-036-43/+333
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/quickcontrols2/gallery/gallery.qrc src/imports/calendar/doc/snippets/qtlabscalendar-calendarmodel.qml src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow.qml src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid-layout.qml src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid.qml src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn.qml src/imports/controls/doc/qtquickcontrols2.qdocconf src/imports/controls/doc/snippets/qtlabscalendar-calendarmodel.qml src/imports/controls/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml src/imports/controls/doc/snippets/qtlabscalendar-dayofweekrow.qml src/imports/controls/doc/snippets/qtlabscalendar-monthgrid-layout.qml src/imports/controls/doc/snippets/qtlabscalendar-monthgrid.qml src/imports/controls/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml src/imports/controls/doc/snippets/qtlabscalendar-weeknumbercolumn.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-calendarmodel.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-dayofweekrow-layout.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-dayofweekrow.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-monthgrid-layout.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-monthgrid.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-weeknumbercolumn-layout.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-weeknumbercolumn.qml src/imports/controls/qtquickcontrols2plugin.cpp src/quicktemplates2/qquicktooltip.cpp src/quicktemplates2/qquicktooltip_p.h src/quicktemplates2/qquicktumbler.cpp tests/auto/controls/data/tst_spinbox.qml tests/auto/controls/data/tst_tumbler.qml tests/auto/qquickmaterialstyle/data/tst_material.qml Change-Id: I25b7473b47739043b6f768603bece30b18021318
| * 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>
| * 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>
| * 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>
| * 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>