aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/universal
Commit message (Collapse)AuthorAgeFilesLines
* Fix build with -no-feature-settingsJ-P Nurmi2017-01-311-0/+2
| | | | | Change-Id: I204c50539288df16c4d4010e91c8ecc60f202ec6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Update IMPORT_VERSION in the .pro filesJ-P Nurmi2017-01-241-1/+1
| | | | | Change-Id: I9546ee274e5376151e9f5faffda87182f2e10188 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add ScrollBar::policyJ-P Nurmi2017-01-201-2/+3
| | | | | | | | [ChangeLog][Controls][ScrollBar] Added a policy-property, which holds whether the scroll bar is shown always/never/as needed (default). Change-Id: Ibe25edaef04a7926bc12c59913efa7a3d43a5ccf Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add ScrollBar::interactiveJ-P Nurmi2017-01-201-5/+5
| | | | | | | | | | | [ChangeLog][Controls][ScrollBar] Added an interactive-property. A non-interactive ScrollBar is visually and behaviorally similar to ScrollIndicator. This property is useful for switching between typical mouse- and touch-orientated UIs with interactive and non- interactive scroll bars, respectively. Change-Id: Ie98bfa0b5bba94a9751baf3c65f17b850b58fd1f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QtQuickControls2: Use the newly-introduced qmlWarning instead of qmlInfoRobin Burchell2017-01-131-2/+2
| | | | | | | | qmlInfo will shortly be returning info-level messages (as the name hints), rather than warning level messages. Change-Id: I94123464b12b30a4ba085cfb7b606bc26df9b76e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2017-01-1157-57/+57
|\ | | | | | | Change-Id: If797ac58344b20e8de4379343131c097247ba2f2
| * Welcome to 2017J-P Nurmi2017-01-0957-57/+57
| | | | | | | | | | Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Editors: fix placeholder text alignmentJ-P Nurmi2017-01-102-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The internal QQuickPlaceholderText creates an "implicit binding" to the editor's horizontalAlignment, meaning that the placeholder respects the editor's horizontal alignment when explicitly set, and otherwise determines the alignment from the placeholder text's visual direction. [ChangeLog][Controls][TextField] Fixed the horizontal alignment of the placeholder text in right-to-left UIs. [ChangeLog][Controls][TextArea] Fixed the horizontal alignment of the placeholder text in right-to-left UIs. Task-number: QTBUG-55999 Change-Id: If1a8596c35c1920874996277520f1c54430c5f69 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickTabBar: fix implicit size calculationJ-P Nurmi2017-01-101-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, the implicit size of TabBar was calculated based on the content size of the ListView that TabBar uses internally. The problem was that ListView calculates the content size based on the explicit size of the items. There was a circular dependency, because TabBar resized the tabs to the size of the view. To avoid the circular dependency, TabBar now calculates the content size based on the total implicit size of the tabs. As before, explicit size is respected for tabs that have it set. [ChangeLog][Controls][TabBar] Added contentWidth and contentHeight properties that are automatically calculated based on the total size of the tab items, but can be manually overridden if desired. This fixes an issue that TabBar was not able to reliably calculate an implicit size, and could in certain scenarios enter an infinite loop due to a circular dependency between the items' sizes and the tabbar's size. Task-number: QTBUG-57858 Change-Id: Ie303cbc54247e87b0affc6bf32c7bf99acea4571 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | qmldir: update the versions of the module dependenciesJ-P Nurmi2017-01-051-1/+1
| | | | | | | | | | Change-Id: Ia4675c1937df2bfa797bc8d0e34d4a9c58232588 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add DelayButtonJ-P Nurmi2017-01-022-0/+97
| | | | | | | | | | | | | | [ChangeLog][Controls][DelayButton] Added DelayButton. Change-Id: I94820dfb41ba9b90f0a29cda01ac476b54cf3de8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2017-01-021-1/+1
|\| | | | | | | | | | | | | Conflicts: src/imports/platform/qquickplatformmenuitem.cpp Change-Id: I4d399aa81a31112edf6030b52ba5d68828f9729d
| * Bump style plugin dependencies to QtQuick.Controls 2.1Konstantin Ritt2016-12-281-1/+1
| | | | | | | | | | Change-Id: I316ec8deab791c0e8ebf0bbb9bb1a07e8aacad6b Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | SwipeDelegate: rename swipe.rebound to swipe.transitionJ-P Nurmi2016-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "rebound" name originates from Flickable::rebound, but for swipe delegate the transition is not only applied on release, but also when calling swipe.open() or swipe.close(). Therefore the "rebound" name feels a bit off in this context. Furthermore, this patch adds the missing docs and a changelog entry. [ChangeLog][Controls][SwipeDelegate] Added a swipe.transition property that holds the transition that is applied when a swipe is released, or swipe.open() or swipe.close() is called. Change-Id: Ic38ec850c64dd21b8d9deb08609172c6cb0f6d71 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-12-201-0/+1
|\| | | | | | | | | | | | | | | Conflicts: src/imports/controls/material/DialogButtonBox.qml src/imports/controls/universal/DialogButtonBox.qml Change-Id: I16cbf9912a3526783c21a6f30996f83fce9e02c3
| * Merge remote-tracking branch 'origin/5.8.0' into 5.8J-P Nurmi2016-12-201-0/+1
| |\ | | | | | | | | | Change-Id: I8544063279de0ce12438e867e6b7767b00e72f11
| | * DialogButtonBox: add missing importv5.8.0-rc1J-P Nurmi2016-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | DialogButtonBox uses the Button-type from the QtQuick.Controls namespace, but did not import it. Change-Id: Ibe635461e280a8f8a78a52a2454fd8524a90a7e1 Task-number: QTBUG-57618 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | SpinBox: fix input method hints to get the appropriate VKBJ-P Nurmi2016-11-291-1/+1
| |/ | | | | | | | | | | | | | | SpinBox operates on integers. Task-number: QTBUG-56837 Change-Id: Ib77cded8c4483fa78816d004692cacb3532deedd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Bump the QtQuick import versions in the stylesJ-P Nurmi2016-12-1946-46/+46
| | | | | | | | | | | | | | Qt 5.9 == QtQuick 2.9 Change-Id: I7d4f749645011c4e78bdafe80824b83bd166e7c7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | SwipeDelegate: transition swipe.positionJ-P Nurmi2016-12-141-16/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | SpinBox: add inputMethodHints and inputMethodComposingJ-P Nurmi2016-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 ComboBox::editableJ-P Nurmi2016-11-241-11/+33
| | | | | | | | | | | | | | | | [ChangeLog][Controls][ComboBox] Added editable property Task-number: QTBUG-53876 Change-Id: I1cb035b3bb4c63f7935f08298814005fad51b5eb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Update import versions in src/import/controls - part IIJ-P Nurmi2016-11-2340-40/+40
| | | | | | | | | | | | | | The templates imports were missed in fb7c9541, sorry. Change-Id: I9742f1a86b01083ae1b7c6ae48b43098be8385c5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Update import versions in src/import/controlsJ-P Nurmi2016-11-2346-55/+55
| | | | | | | | | | Change-Id: Ic6cd0450a13b965578a0ab8f590270f4e52ffca6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Make sure the appropriate import versions are always availableJ-P Nurmi2016-11-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ComboBox: add more padding to the indicatorsJ-P Nurmi2016-11-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | QQuickComboBox: ensure a parent for delegatesJ-P Nurmi2016-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Whitespace cleanupsJ-P Nurmi2016-11-031-1/+1
| | | | | | | | | | Change-Id: Ia075694a7dc43d72d07221b569467fcebdb411fb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | ComboBox: prepare the internal layouts for editable combosJ-P Nurmi2016-11-015-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The text field of an editable ComboBox must cover the whole control excluding the indicator button. This ensures that user interaction works as expected over the whole editor area (there must be no "dead" paddings), and that the whole editor area gets the appropriate caret or ibeam mouse cursor. Previously, the indicator was laid out inside/over the content item. To help with getting the layout right, this change injects empty padding into the indicator images of the Universal and Material styles (the Default style already had padding). Task-number: QTBUG-53876 Change-Id: I62e10ffb7f5ed4559523513f04ff7e2ea0e57ef5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-10-313-8/+26
|\| | | | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquickpopup.cpp src/quicktemplates2/qquickpopup_p_p.h Change-Id: I33241dfd15a320e6ae2f0c056252b0ec6be7c6f6
| * Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-311-2/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Replace QStringLiteral with QLatin1String in the proxy themesJ-P Nurmi2016-10-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us, in theory, to test multiple styles in the same process by calling qmlClearTypeRegistrations() between each style test round. When QML types are cleared, QML plugins are unloaded, and the current style plugin's proxy platform theme is destroyed. It leads to a nasty crash if there are fonts stored in the Qt font database that have their family names stored in the read-only data of an unloaded plugin. Change-Id: I32a70077ac4502e16a753fb68f7efeef35d239b5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Popup: add spacing support for Dialogv5.8.0-beta1J-P Nurmi2016-10-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.8' into devJ-P Nurmi2016-10-253-4/+18
|\| | | | | | | | | | | Change-Id: If48d66d89172db94ee1839063396156a3a947601
| * | Page: provide implicit sizeJ-P Nurmi2016-10-251-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Universal: fix the size of a footer-less dialogJ-P Nurmi2016-10-242-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Gallery example's About dialog is broken in the Universal style. The dialog doesn't have any bottom padding. Dialog cannot have bottom padding hard-coded to 0. It was assuming that there would be a DialogButtonBox that provides top padding. Set a suitable padding in the dialog instead, so that the dialog content gets padded without a footer. Due to this, we must tweak the top and bottom paddings of DialogButtonBox so that the total spacing between the dialog content and the buttons becomes 24 as it is in the specs. Change-Id: I77e2c3f66c5166391f9be595121f23bc95debde8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Dialog: fix implicit size calculationJ-P Nurmi2016-10-241-3/+3
| | | | | | | | | | | | | | | | | | | | | Header and footer visibility must be taken into account. Change-Id: Id9bab1d66c126247df77effb153fefa3a78a1d79 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Add internal QQuickAnimatedNode helperJ-P Nurmi2016-10-202-59/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This handles the timers, signals, updates etc. so that the animated node implementations for busy indicators and indeterminate progress bars become a bit simpler. The implementation is based on qtdeclarative/examples/quick/scenegraph/threadedanimation. Task-number: QTBUG-56601 Change-Id: Ibd82060aa103e6447ee16814c3e0d6ff2c14d608 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-10-1921-42/+0
|\| | | | | | | | | | | Change-Id: I3da1888c76e3082225ef7e3b0c83fbbf2aaed4cd
| * | Make hoverEnabled propagate to childrenJ-P Nurmi2016-10-1721-42/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Universal: rewrite the indeterminate progress bar animationJ-P Nurmi2016-10-195-146/+124
| | | | | | | | | | | | | | | | | | | | | | | | Use a simple animated node instead of using the private animator API. Task-number: QTBUG-56601 Change-Id: I74387eddc41ac1ed6f3ae9466674276f6a9ae5c2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Universal: rewrite the busy indicator animationJ-P Nurmi2016-10-185-141/+114
| | | | | | | | | | | | | | | | | | | | | | | | Use a simple animated node instead of using the private animator API. Task-number: QTBUG-56601 Change-Id: I0ff6c8b55bc4a0a991bcbef8fc18086226beb6b2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-10-0646-46/+46
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/Dial.qml src/imports/controls/RangeSlider.qml src/imports/controls/Slider.qml src/imports/controls/Tumbler.qml src/imports/controls/material/Dial.qml src/imports/controls/material/RangeSlider.qml src/imports/controls/material/Slider.qml src/imports/controls/material/Tumbler.qml src/imports/controls/qtquickcontrols2plugin.cpp src/imports/controls/universal/Dial.qml src/imports/controls/universal/RangeSlider.qml src/imports/controls/universal/Slider.qml src/imports/controls/universal/Tumbler.qml Change-Id: I02b433e66109d90c63fcb9d0e5e304dc9375ea44
| * | Update all QtQuick imports in src/imports/controlsJ-P Nurmi2016-10-0446-46/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | Most were importing 2.6, some 2.4, and some 2.7. Use consistently the latest available Qt Quick version 2.8. This can be easily tracked to the corresponding Qt version. Change-Id: Ic231b3cc0cb5d2d5cf806fe11c4ff3fd557d09e0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Add QQuickDial::liveJ-P Nurmi2016-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Controls][Dial] Added a live-property that determines whether the dial provides live updates for the value-property while the handle is dragged. Change-Id: I8da1190df1e9093f81271a8e11f2cea55759573f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Add QQuickRangeSlider::liveJ-P Nurmi2016-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Controls][RangeSlider] Added a live-property that determines whether the range slider provides live updates for the first.value and second.value properties while the respective handle is dragged. Change-Id: I44d1924078969a5e22aca55625967dd8b5a4abac Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>