aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls
Commit message (Collapse)AuthorAgeFilesLines
* Fix tst_combobox for popup transitionsJ-P Nurmi2015-12-191-4/+4
| | | | | Change-Id: Ia2eb18492b0cac280eed78d345e35ea640f53db7 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* StackView: print better error messagesJ-P Nurmi2015-12-161-2/+6
| | | | | | | | | "QQmlComponent: Component is not ready" alone is not too descriptive. Now StackView prints also the actual error string from QQmlComponent. Change-Id: I3d8a379f0565d1cc0f66e622c93de2a2dec87bcb Task-number: QTBUG-49957 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Add QQuickControl::focusReasonJ-P Nurmi2015-12-121-0/+26
| | | | | | | | | This allows the Universal style ApplicationWindow to visualize key/tab focus with a focus rectangle, but hide the focus rectangle when the focus moves around for other reasons (mouse, active window, popups...) Change-Id: I5c5b43d7c4c051679e34b806ee43cd80180d7ab8 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Pane: don't let presses leak throughJ-P Nurmi2015-12-101-0/+28
| | | | | | | | | | | A regression introduced by 38c47c0. Pane is the base type for Frame, GroupBox, and ToolBar. These type of containers shouldn't let presses through. For example, an application that has a listview scrolled below a toolbar, list items under the toolbar should not react when interacting with the toolbar. Change-Id: I7668452fe2d6d89372f032220fa5623b50d334bb Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Introduce PaneJ-P Nurmi2015-12-091-0/+116
| | | | | | | | Provides a background color that matches with the application style and theme. Change-Id: I5e7ea4fededaaf46687a2ea0391f43dbf55e3b42 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Rename Panel to PopupJ-P Nurmi2015-12-091-26/+26
| | | | | | | | | Popup is a more descriptive name. Furthermore, this name change opens the door for another type called Pane. It gives the appropriate background color for the current style & theme. Change-Id: Idb91d37e807f62e870b50f0b656e84ee2d43a9fb Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* StackView: fix property initializationJ-P Nurmi2015-12-091-0/+19
| | | | | | | | | | | When pushing a url or component, ensure that properties passed to push() are initialized during the incubation. When pushing an item, the properties are set the same way than before, at stack element initialization phase. Change-Id: I19ca10baae43857e1349486059a3317d68d3b2d4 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Remove Control::layoutDirectionJ-P Nurmi2015-12-094-52/+46
| | | | | | | | Calculate QQuickControl::isMirrored() from LayoutMirroring.enabled (QQuickItemPrivate::isMirrored()) and QLocale::textDirection(). Change-Id: I0e391d27df732734031f3e94d9828a1a2cfa7474 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Round expected event coordinates in Button's events testMitch Curtis2015-12-091-6/+6
| | | | | | | | The test expects 20.5 but gets 21 when run with a 4K monitor on Ubuntu 15.10. Change-Id: I1a71ee8614dcb86a595fd2832f89e0db617f677e Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Print out actual and expected events in Button's events testMitch Curtis2015-12-091-6/+16
| | | | | | | Qt Quick Test only prints out [object Object], which isn't very useful. Change-Id: I01663ea97abae93a5f27e8328a75fb5b3f93129e Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Add Control::localeJ-P Nurmi2015-12-071-0/+13
| | | | | | Change-Id: I6c6647de6d286a92b35bca09a45e82cd3343a623 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* StackView: fix crash when attempting to transition null itemsJ-P Nurmi2015-12-041-0/+13
| | | | | | | | Don't attempt to kick off view transitions for stack elements that have failed to load. Change-Id: I6e42785a30abc815d14a07e7d16aad5bde66391d Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Add ComboBoxJ-P Nurmi2015-12-041-0/+553
| | | | | Change-Id: I4cfc2367db92786097a1ce66bd4b5a2f71322a2e Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Promote Button::highlighted to AbstractButtonJ-P Nurmi2015-12-032-9/+9
| | | | | Change-Id: I0e17a6c25dfd89fdb547720e9a626c2ec9d7765a Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Control: resolve the font a bit earlierLiang Qi2015-12-011-0/+51
| | | | | | | Also applied to QQuickLabel, QQuickTextArea and QQuickTextField. Change-Id: Icf10500905980445809eb2375e8957db2c41e03c Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Specify baseline offsetsJ-P Nurmi2015-11-256-0/+47
| | | | | | Change-Id: I4845a7beac2edc0f0bcc1c810edd7d9e86f31c87 Task-number: QTBUG-49468 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Fix ScrollBar layoutingJ-P Nurmi2015-11-241-0/+16
| | | | | | | | | QQuickScrollBar was relying on itemGeometryChanged() for the attached flickable. If the flickable geometry didn't change _after_ scroll bar was attached, the bar was not positioned and resized as appropriate. Change-Id: I8f8695b468596acf570e028dae96f7c31d73ffba Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Fix ScrollIndicator layoutingJ-P Nurmi2015-11-241-0/+16
| | | | | | | | | | QQuickScrollIndicator was relying on itemGeometryChanged() for the attached flickable. If the flickable geometry didn't change _after_ scroll indicator was attached, the indicator was not positioned and resized as appropriate. Change-Id: Ib5b4816b4ba96ad73873722045ac4e3b7e47038d Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Button: add highlighted propertyMitch Curtis2015-11-131-0/+9
| | | | | | | | Since our focus is on embedded, this will be used as an alternative to the "isDefault" property that exists in Qt Quick Controls. Change-Id: I9b6612e3c3b30040295aeea6d217e90a17af4ebe Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* tst_dial: remove style specific handle coordinate testsJ-P Nurmi2015-11-121-2/+0
| | | | | Change-Id: I8d389728e6bb46da38588163ab59bac6291db8a5 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Refactor press and hold testsJ-P Nurmi2015-11-123-170/+0
| | | | | | | | | | | | | | | | | We can't rely on timers in auto tests. They are not fired accurately under heavy CPU load => random CI failures. This change make the press and hold tests independent of timeouts. The idea in a nutshell: the test creates two control instances, and sends press events to both of them. Both controls run their timers and emit pressAndHold() - unless canceled. The test waits as long as it takes for the second control to emit pressAndHold(). At that point we can reliably assume that the first control would have already emitted the signal, if it was not canceled as appropriate. Change-Id: I96aaf4d204db368171209271a4a0fa2ff15cc323 Task-number: QTBUG-47963 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Repurpose ExclusiveGroup to ButtonGroupMitch Curtis2015-11-063-339/+352
| | | | | | | | | | This is another way of solving the naming clash with Qt Quick Controls, and narrows our focus to the types of controls that actually make sense to have in an "exclusive" group; buttons (Android calls them "selection controls"). Change-Id: Icf6efe583fe784c3594de8635be84bbf757a55cd Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Implement TabBar without ExclusiveGroupJ-P Nurmi2015-11-041-0/+7
| | | | | | | | | Make use of auto-exclusivity introduced in a108298. Fixes also the issue that the TabButton that corresponded currentIndex was not checked at startup. Change-Id: I44152e62c2dff30e8e0255c9403dcf46c4ea2f3a Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Expose AbstractButton.Mitch Curtis2015-11-041-0/+70
| | | | | | | | It will be used as the type that ButtonGroup (will be renamed from ExclusiveGroup) manages. Change-Id: Iedcf81a33ac8e7acad3e119159791995bc2ce2eb Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Fix QQuickAbstractButtonPrivate::findExclusiveButtons()J-P Nurmi2015-11-041-0/+79
| | | | | | | | | Looks like we can't rely on QObject::findChildren(), because Repeater and item views (object model) don't set the QObject parent. So iterate QQuickItem::childItems() instead. Change-Id: I69e0b4f7f23c1587c887921bd255dd87be3abc54 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Speed up Tumbler's auto testsMitch Curtis2015-11-031-26/+7
| | | | | | | | | - Removed some delays where possible. - Removed a test that wasn't exactly necessary. Change-Id: I4a072b8aa948683bbebf9a6bc7c4457d8028eab3 Task-number: QTBUG-48719 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Add AbstractButton::autoExclusiveJ-P Nurmi2015-11-031-0/+68
| | | | | | | | | | | | | | This feature is adopted from QtWidgets' QAbstractButton. It's no longer necessary to create an ExclusiveGroup to manage a simple list of radio buttons: Column { RadioButton { text: "Option 1" } RadioButton { text: "Option 2" } } Change-Id: Ib4cb718c3b3034c9c956b2f23db4b06b00547b8e Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Add AbstractButton::autoRepeatJ-P Nurmi2015-11-021-0/+58
| | | | | Change-Id: Idbb94bac9ccdfae730f6e4da6d63c664971f41a3 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Fix StackView::busy and child event filteringJ-P Nurmi2015-11-021-0/+154
| | | | | | | | | | | 1) renamed busy() to isBusy() to follow the Qt convention :) 2) fixed spurious busyChanged() emissions (it was always emitted on push/replace/pop even when the state didn't change (null transitions) 3) with null transitions, the child event filter was never turned off and therefore StackView "froze" after the first push/replace/pop Change-Id: I07fffa73db5a182865c7b2779641e1f95ed8b30b Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Improve the hit testing of an interactive PageIndicatorJ-P Nurmi2015-11-021-0/+18
| | | | | | | | The Universal style has relatively large spacing between the dots. The small dots are hard to hit => select the nearest dot. Change-Id: I2207e887706be38c1a6091bd8aca13d26b9957a8 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Simplify TextField & TextArea placeholderJ-P Nurmi2015-10-302-4/+16
| | | | | | | | | | Better not expose the extra Text item in the API. Ideally it should be implemented as a scenegraph node. We might even want to promote the placeholderText property (and add placeholderColor) to TextInput and TextEdit in Qt Quick core. Change-Id: I4f443c77d1c696b87a50ee184f868713dd50316f Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* tst_control: use pure templates for font testsJ-P Nurmi2015-10-291-6/+6
| | | | | | | The Universal style uses 15px font size by default. Change-Id: Iac60b0c61d085b7fceeefcd69bf4537f3e43c468 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* TabBar: fix the default layouting of dynamically added tabsJ-P Nurmi2015-10-271-0/+15
| | | | | | | | | | countChanged() used to be connected to updateLayout(), but this went missing somewhere around 73f931a7. Now we have the itemAdded() and itemRemoved() hooks that allow us to do the same more efficiently. Change-Id: I8a3eefb61555358d63fae63d066851038e332233 Task-number: QTBUG-48993 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Control: fix available sizeJ-P Nurmi2015-10-271-1/+47
| | | | | | | | | | | First of all, don't allow negative available size, because it doesn't make much sense. Secondly, geometryChanged() was comparing new width to old height, so availableHeightChanged() was emitted under wrong conditions. Furthermore, the comparisons should are better done fuzzy to avoid unnecessary change notifiers. Change-Id: Ic2bbc106670882b421f79db82d4b47d846e1c4e0 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* StackView: add dedicated replace transitionsJ-P Nurmi2015-10-231-0/+15
| | | | | | Change-Id: I614d11bb566c96166ebf8bc0d2f5d4286d823a5f Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de> Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Re-introduce SpinBoxJ-P Nurmi2015-10-221-0/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It came up in discussions at the QtWS that even if we have Tumbler, people still want and expect to have the good old SpinBox control. SpinBox has it pros, such as that it might work better inside a vertical Flickable, and that in multi-field forms it might visually align better with other controls like TextFields. An early mockup of SpinBox was removed in 1c0edf0. A quote from the commit message: SpinBox is a desktop centric control. It won't be provided in Qt Quick Controls 2.0, but maybe later when desktop support is re-considered. Qt Quick Controls 2.0 will focus on embedded and mobile. SpinBox is still available in 1.x. While it is true that SpinBox might not be optimal for touch or mobile, the real reason for the removal was that validating decimal number input is very complicated. Even though locales have well- defined thousand separators and decimal points, users have very different expectations on how strict or relaxed the input validation should be. This change re-introduces a touch-optimized integer-based SpinBox. What makes it more touch friendly than the earlier version is that it has now auto-repeating buttons. Limiting it to integers avoids the decimal number input validation problem. We can introduce a separate DoubleSpinBox later if necessary - just like in QtWidgets. Change-Id: I2819060eb5d1ae6a8c00b0f12be703456085079d Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Add ExclusiveGroup::isCheckable(QtObject)J-P Nurmi2015-10-221-0/+18
| | | | | Change-Id: Id426592985e38f918b1a0df8ef2acc1c3f69c3c7 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* TextArea & TextField: fix placeholder alignmentJ-P Nurmi2015-10-202-0/+28
| | | | | | | | Placeholder text should follow the alignment of the control itself, so that text input appears in the same place where a placeholder was. Change-Id: I1dfa6c2aece10eb92e62a14f347c7e1ec5e610ea Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* Add RangeSliderMitch Curtis2015-10-141-0/+580
| | | | | | | | | This is basically Slider, except with two handles. It's used to specify a range of values. Task-number: QTBUG-48667 Change-Id: Ib4f9afe5dc8343e307610943d338a2b574a01e4d Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Add CheckBox::tristate & checkStateJ-P Nurmi2015-10-121-21/+210
| | | | | Change-Id: Idf5b8d101db4ee7ace6f1d1d611a7bda3c03f3ea Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* TextArea: fix implicit sizeJ-P Nurmi2015-10-111-1/+10
| | | | | | | Same as 0cb0962 for TextField. Change-Id: I1538df1b31a8b7254a219923623c5dd586d65059 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Fix StackView attached propertyJ-P Nurmi2015-10-111-0/+35
| | | | | | | | | The attached properties weren't initialized at all for the initial item. Furthermore, the properties were initialized lazily, which made them work for imperative tests, but not correctly in bindings. Change-Id: I783c406dcf4e1cf27a6b4e6ddd43214cb06a3c7a Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Attached properties are now available using the QML composite type nameJ-P Nurmi2015-10-095-53/+48
| | | | | | Change-Id: I8cfbd420cea4e01528d2f289cfc5989268d8718a Task-number: QTBUG-43581 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Button: add a MouseEvent argument for the signalsJ-P Nurmi2015-10-091-0/+70
| | | | | Change-Id: I7857456cae802ca18069b01b14f3c0131e4ae4c7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* Add AbstractButton::doubleClicked() signalJ-P Nurmi2015-10-091-1/+16
| | | | | Change-Id: Ie53124b1186fee8c4b151a6c6bc3fcfe76c0250f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* Fix crash in theme code when loading engines in successionJ-P Nurmi2015-10-091-277/+0
| | | | | | | | | | | | Store global engine specific themes as dynamic properties on the engines themselves. This avoids the problem that storing engines and their themes to a hash map had that destroyed engines and themes were not cleaned up from the hash map. Change-Id: I7330995339c263d456f74d33f6535d5ac7d9d5d4 Task-number: QTBUG-48651 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* Fixed TabBar reset currentIndex to -1 on completionNikita Krupenko2015-10-081-0/+43
| | | | | | | | | | | | | | | TabBar resets currentIndex to -1 on completion, even if it has been explicitly set to a proper value. This is due to a calling updateCurrent() on completion. As updateCurrent() handle cases, where tab clicked by user, and proper index handled by QQuickContainer, there is no need to call this function on TabBar completion. Task-number: QTBUG-48624 Change-Id: Ied316af2bfb8983ea1d5947544cc8399aaf7eb84 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* TextField: fix implicit sizeJ-P Nurmi2015-10-041-0/+10
| | | | | Change-Id: Iceaa5af83b2a9f0eb03829829fcfc4e4a6261100 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Fix Slider position calculation to take paddings into accountJ-P Nurmi2015-10-031-0/+73
| | | | | | | | | When Slider had paddings set, the handle didn't follow the touch point / mouse cursor. The larger paddings were set, the more the handle was "off". Change-Id: I82d97092a2c3fc99cba108fe011a463a571e5507 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* Rename QtQuick.Controls 2.0 to Qt.labs.controls 1.0J-P Nurmi2015-10-0127-28/+28
| | | | | Change-Id: I142622dd85e95ef70b11132e77ccf48701f2cabc Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>