aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls
Commit message (Collapse)AuthorAgeFilesLines
* Bump the QtQuick import versions in the stylesJ-P Nurmi2016-12-19147-147/+147
| | | | | | | Qt 5.9 == QtQuick 2.9 Change-Id: I7d4f749645011c4e78bdafe80824b83bd166e7c7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* SwipeDelegate: transition swipe.positionJ-P Nurmi2016-12-143-48/+6
| | | | | | | | | | | | | | | Previously the value of swipe.position jumped on mouse/touch release, or when open() or close() was called. Transitioning the swipe.position value smoothly to the target value makes it possible to use it as opacity/scale/etc. for the side items. Notice that this is backwards compatible with the old behavior. If no transition is set, the value jumps the same way it did before. In that case, Behavior on x makes the movement smooth. Task-number: QTBUG-57242 Change-Id: Id9c06b5b08fa73f2f575787e16dc6e20e4ccb545 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Material: prevent ripples from getting stuck in disabled stateJ-P Nurmi2016-12-131-1/+3
| | | | | | | | | | | Ripples don't trigger when the ripple item itself is disabled. This is used in SwipeDelegate to prevent ripples when a swipe is open. Now that swipe.position is transitioned, a release event comes before the swipe position reaches 0, so we must ensure that the wave exits even if it's not yet enabled. Change-Id: Ib4d58ff974262331898db2133e06624eb890f9ed Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-12-011-95/+399
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/SpinBox.qml src/imports/controls/material/SpinBox.qml src/imports/controls/universal/SpinBox.qml tests/auto/controls/data/tst_swipedelegate.qml Change-Id: Ie1d1f487890f0a9f80a00df5e813e1d2e8303fe5
| * SpinBox: fix input method hints to get the appropriate VKBJ-P Nurmi2016-11-293-3/+3
| | | | | | | | | | | | | | | | SpinBox operates on integers. Task-number: QTBUG-56837 Change-Id: Ib77cded8c4483fa78816d004692cacb3532deedd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-281-5/+11
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/doc/src/qtquickcontrols2-differences.qdoc sync.profile Change-Id: I554c40516030075142f9af1dd5c66fdca2b78b9a
| | * Doc: clarify the feature comparison tableJ-P Nurmi2016-11-231-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | Changing styles at runtime is not possible in QQC2. Add also footnotes that QQC1 may not provide optimal performance on embedded and mobile. Change-Id: Iea691116eacdcf73482ecd52fd1e9c945a788f9a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Doc: refactor the type comparison tableJ-P Nurmi2016-11-251-90/+388
| | | | | | | | | | | | | | | Change-Id: I2267dcd15bcbcbdee8708208dc5f92eb69b745d6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | SpinBox: add inputMethodHints and inputMethodComposingJ-P Nurmi2016-11-293-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Needed for controlling the input method. Editors and editable ComboBox have these also. [ChangeLog][Controls][SpinBox] Added inputMethodHints and inputMethodComposing properties for controlling the input method when using editable spin boxes. Task-number: QTBUG-56837 Change-Id: I1df21341c9a10c1baa1eaa259a5bbab7145e87c8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Add Drawer::interactiveJ-P Nurmi2016-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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.8' into devJ-P Nurmi2016-11-252-1/+19
|\| | | | | | | | | | | Change-Id: If528b9f4e502c50e0cd76df75404e257232f0d18
| * | Material Drawer: show a separator line when it has no dim nor elevationJ-P Nurmi2016-11-241-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | This makes a non-dimmed and non-elevated Drawer stand out from the content. Other styles have such separator line always visible. Change-Id: I58a75fbcabcca09248ec4c94ec22338967fbfe87 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Material: fix Drawer to respect Material.elevationJ-P Nurmi2016-11-241-1/+3
| | | | | | | | | | | | | | | Change-Id: Iecb9e44fb955ad5dc9a8ddf69b4340108693458f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | qquickmaterialripple_p.h: add missing qcolor.h includeJ-P Nurmi2016-11-231-0/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-57297 Change-Id: I6ef977700639472eb87eeceef5f9f4c008d20950 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Add ComboBox::editableJ-P Nurmi2016-11-244-33/+128
| | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Controls][ComboBox] Added editable property Task-number: QTBUG-53876 Change-Id: I1cb035b3bb4c63f7935f08298814005fad51b5eb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | qtquickcontrols2plugin.cpp: cleanup the template header includesJ-P Nurmi2016-11-231-5/+1
| | | | | | | | | | | | | | | | | | | | | These are no longer needed. Change-Id: If77c09430781b3d71dbf4dfffc2236d120b5ecfc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Doc: update module import versionsJ-P Nurmi2016-11-234-5/+5
| | | | | | | | | | | | | | | Change-Id: Idd25490d453e5a8aa270b45de48ca4f51d92196e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Update import versions in src/import/controls - part IIJ-P Nurmi2016-11-23121-121/+121
| | | | | | | | | | | | | | | | | | | | | The templates imports were missed in fb7c9541, sorry. Change-Id: I9742f1a86b01083ae1b7c6ae48b43098be8385c5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Sort out and clarify QML type registrationJ-P Nurmi2016-11-231-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot call qmlRegisterRevision() for our own types, because that will register an unnamed type. In practice, the empty type name occurs as a missing type name in qmlInfo() warnings. I've clarified the type registration comments a bit, about what needs to be registered and where: - templates: new types _and_ new revisions for existing types - controls: _only_ new types For controls, the revisions is determined by the import version in the .qml file, so those must be kept up to date in new releases. Change-Id: I7c76a9d80185fa7e922c419b4ee7361be45c61f5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Update import versions in src/import/controlsJ-P Nurmi2016-11-23140-230/+230
| | | | | | | | | | | | | | | Change-Id: Ic6cd0450a13b965578a0ab8f590270f4e52ffca6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Make sure the appropriate import versions are always availableJ-P Nurmi2016-11-233-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Utilize the newly introduced qmlRegisterModule() to automatically register the import version that matches the Qt version that is used to build the module. Now we can remove the artificial qmlRegisterRevision() calls, which were added just to make certain import versions available, even if there was no such revision. Change-Id: Ic3887c221c69b6cd299853d8d5869b8af7a314ec Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | qquickmaterialripple.cpp: cleanup unused variablesJ-P Nurmi2016-11-201-2/+0
| | | | | | | | | | | | | | | | | | | | | Left overs from 1d8bf6d1f4ef0aa84ca7e4c1233bedeee0f606f9. Change-Id: I53a6916ab3cb8c4effd50ecee1b12662ff7c7402 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-11-1728-43/+42
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quickcontrols2/qquickstyle.cpp src/quicktemplates2/qquickslider.cpp Change-Id: Ie12132690680706def6f516334a6ef0ba27336b3
| * | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-171-2/+2
| |\| | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/controls/data/tst_button.qml Change-Id: I5c97b3c1944e52dba44fd3c7d6d9a255c5e08cf7
| | * Doc: rephase the "logical position" propertiesJ-P Nurmi2016-11-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The previous phrasing was poor and somewhat confusing. The logical position is expressed as a fraction of the value, in the range 0-1. Change-Id: I6c2a4cbb1385af69392d214dd02224ec876131e5 Task-number: QTBUG-57069 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Material: de-couple foreground and primaryTextColorJ-P Nurmi2016-11-1626-39/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to get the ComboBox colors right, it must be possible to query the original primary text color value. It was very convenient to make Material.primaryTextColor return custom Material.foreground colors, because that way we didn't have to touch our QML files, but this approach is no longer usable. Task-number: QTBUG-57167 Change-Id: Iee003e96112b919dc7c84a906e4f5691b0f2a6ab Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Restore AbstractButton::checkableJ-P Nurmi2016-11-161-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 7a8f055, we hid the checkable property from QQuickAbstractButton and exposed it only in QQuickButton and QQuickMenuItem. The reasoning was that QQuickCheckBox, QQuickRadioButton, QQuickSwitch and their delegate counterparts are inherently checkable, so having the checkable property available in QML didn't seem to make sense. While this still holds true, there are other factors to take into consideration. AbstractButton is meant to be a generic base class for all types of buttons, but the lack of a checkable property makes it unusable as a base class for custom QML-based checkable buttons. If we want to a hide the checkable property from CheckBox, RadioButton, and Switch to avoid having it popup in the auto-completion list, we can probably do it in a less disruptive way via tooling. [ChangeLog][Controls][AbstractButton] The checkable property has been made accessible from QML. Previously it was only exposed for Button and MenuItem, but it is now available for any AbstractButton to make it possible to create custom QML-based checkable buttons. Task-number: QTBUG-51554 Change-Id: I19e29fc87cd15811c43c9b9ebb29701d66cde72f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | ComboBox: add more padding to the indicatorsJ-P Nurmi2016-11-1611-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the upcoming editable comboboxes, only the area covered by the indicator acts as a pressable button. The rest is editor area, which gains focus on press, but doesn't trigger the popup. The button must be large enough to be usable on touch. - Default: the width has been increased from 28 to 40 - Material: the width has been increased from 24 to 40 - Universal: the width is already 32 (which matches with SpinBox) Task-number: QTBUG-53876 Change-Id: I2312e92947826b03fa28da2e9e9d844325fc7896 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Add support for a QT_QUICK_CONTROLS_STYLE_PATH environment variableJ-P Nurmi2016-11-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Controls][Styles] Added support for a QT_QUICK_CONTROLS_STYLE_PATH environment variable, which can be used to specify lookup paths for Qt Quick Controls 2 styles. This allows device manufacturers and Linux distributions to specify a system-wide style installation folder that may be located outside the Qt installation tree. Change-Id: Ic004d693bf6206971da6319d0cc13061b8fd1566 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/devJ-P Nurmi2016-11-1148-165/+634
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-11-0348-165/+634
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/BusyIndicator.qml src/imports/controls/ProgressBar.qml src/quicktemplates2/qquickpopup.cpp src/quicktemplates2/qquickpopup_p_p.h src/quicktemplates2/qquickstackview.cpp Change-Id: I9a1028a991de9fc3e26d3f973106301e9ada631c
| | * | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-035-2/+190
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/accessibility/tst_accessibility.cpp Change-Id: I8c3ccb301730ecdc0acdcb75de607cdd4f753e15
| | | * ScrollIndicator: fix documentation review findingsMitch Curtis2016-11-032-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia742b82e9aaacb35cdde5087ccb1deb977af51ed Task-number: QTBUG-55904 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | | * ScrollBar: Fix documentation review findingsMitch Curtis2016-11-032-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I83703bf0188aa52b873f717b3470ceba4a4d670e Task-number: QTBUG-55904 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | | * SwipeView: fix accessibility supportJ-P Nurmi2016-11-021-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | Doc: add RoundButton to the guidelines for buttonsJ-P Nurmi2016-11-021-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-55904 Change-Id: I0c2343238e95a318d97e6d01584714e034696512 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-0242-158/+412
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-021-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | | * Doc: add GIF to SwipeView detailed descriptionJ-P Nurmi2016-11-011-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wireframe is still used on the "Navigation Controls" page. Change-Id: I8e8c2bf0f5d46179c115d548efda2ea114a4431e Task-number: QTBUG-55904 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | | * Get rid of the remaining qdoc markers in the Default styleJ-P Nurmi2016-11-0136-168/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: Id90911cbac46d2d68284abca08dc7165ace71113 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | | * Doc: add GIF animation for DrawerJ-P Nurmi2016-11-011-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ib4c8b5f80e63a322c20caa837632739a3bfee3ee Task-number: QTBUG-55904 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | | * Doc: fix review findings for ToolButtonJ-P Nurmi2016-11-012-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id427520a390a2a8cb0bb4ac0f66fef5f96e5b39e Task-number: QTBUG-55904 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | | * Doc: fix review findings for PopupJ-P Nurmi2016-10-312-0/+391
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8494ffe1a46a05a01d31787783b5f8e9cc810f36 Task-number: QTBUG-55904 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * | Update plugins.qmltypesJ-P Nurmi2016-11-011-5/+14
| | | | | | | | | | | | | | | | | | | | Change-Id: I859bcc03f3f980fd37df756c2922378c0d8c0827 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | | QQuickComboBox: ensure a parent for delegatesJ-P Nurmi2016-11-093-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to replace the "width: control.popup.width" expressions with "width: parent.width" to avoid explicit references to the popup. Next, we are ready to defer the execution of the popup until it becomes visible or is accessed by the user. Without the parent item fix, ComboBox throws an error: ComboBox.qml:58: TypeError: Cannot read property of null ...and tst_snippets fails => tested implicitly. :) Change-Id: Ib9cfcf7558addbe3403d835d3ae11b6c11c2f0cb Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | | | Add QQuickComboBox::downJ-P Nurmi2016-11-093-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to replace all "control.pressed || popup.visible" expressions with "control.down", and takes us one step closer to deferred popop execution as mentioned in the previous commit. In order to be able to defer the popup execution, we must get rid of such explicit references to the popup. Change-Id: Ifa7ecf8201912d3ec1bca232e2cf600e3886715e Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | | Improve the custom ComboBox exampleJ-P Nurmi2016-11-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cut the dependency between the popup and its content item. The same was done for all the built-in styles in 50148c6. Task-number: QTBUG-56297 Change-Id: I18d83bd5dd92cd4f2798ac17b469725d08368da9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | | Material ComboBox: remove last explicit references to the popupJ-P Nurmi2016-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I072079b1fdd0e36fd316d44f3f63a9a4bb29acd9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | | Default: prepare ComboBox for deferred popup executionJ-P Nurmi2016-11-041-4/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The plan is to defer the QML execution of the whole ComboBox popup until the popup is made visible or accessed by the user. This can slice off roughly half of the creation time. The QML engine refuses to defer the execution if there are any child objects that have an identifier, because those child objects could be referenced from outside the deferred/missing parent object. For this reason, we must kill the unnecessary ID. This change alone does not defer anything, but is a prerequisite for enabling deferred execution later. Flickable overrides Item's default property to flickableData, which ensures that children get re-parented to Flickable::contentItem, but ListView overrides the default property back to Item::data, so the parent assignment is not necessary at all. The rest can be done by referencing parent instead of the ID. The other styles do not have ID's within the popup. Change-Id: Iac58bae7e99252fb03bed2228153483300901720 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Whitespace cleanupsJ-P Nurmi2016-11-036-6/+2
| | | | | | | | | | | | | | | Change-Id: Ia075694a7dc43d72d07221b569467fcebdb411fb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>