aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Switch(Delegate): fix handle snappingv5.8.0J-P Nurmi2017-01-122-4/+12
| | | | | | | | | | | 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-1/+11
| | | | | Change-Id: I25935a069127a48c00dae951bc77665be6a429e1 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Material: fix ComboBox drop indicator size on high-DPIJ-P Nurmi2017-01-031-0/+2
| | | | | | | | | | | | qtdeclarative commit f8c53e88 (Fix high-DPI image and svg providers) changed the way high-DPI image providers work. For images using an image provider, we must now set the source size to get the desired device pixel ratio... The same was done for other indicators in qqc2 commit ca87ab8. Change-Id: I31f24786a6d3d3d06c3255864ed443cf8852a8de Task-number: QTBUG-57800 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* DialogButtonBox: add missing importv5.8.0-rc1J-P Nurmi2016-12-202-0/+2
| | | | | | | | | 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>
* Allow specifying a relative style path in qtquickcontrols2.confJ-P Nurmi2016-12-153-13/+32
| | | | | | | | | | | | | | | | | | | | | The style path is resolved relative to the location of config file. Even though qtquickcontrols2.conf is normally located in the root of resources, Quick Designer uses QT_QUICK_CONTROLS_CONF to set a custom location for the preview, where the standard config location is not feasible. This patch extends the config and style lookup further by allowing to specify a relative path to a custom style for the Quick Designer preview. This is a cherry-pick of 5efd4b6a61498f0668d7367d620275367894140e, which fixes the style lookup so that QTBUG-57618 gets resolved. Change-Id: I7b656c42cb6aca0914ad20c94c7b527bea74cb16 Task-number: QTBUG-57618 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-283-10/+24
|\ | | | | | | | | | | | | | | 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-5/+13
| |\ | | | | | | | | | Change-Id: I74c00c0b5c36cc96db8bdbd7c1c2a77d6e37d6e7
| | * Fix popups to close on click outsidev5.7.1J-P Nurmi2016-10-252-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | 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>
* | | 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>
* | | SwipeDelegate: fix swipes that begin over a child item of a delegateMitch Curtis2016-11-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | 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>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-236-81/+230
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquickswipedelegate_p.h Change-Id: I5446503c1e4f21cb37f4fffeb3453d1c84b54b30
| * | SwipeDelegate: don't emit clicked when released outsideMitch Curtis2016-11-236-77/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | SwipeDelegate: fix broken swiping after calling SwipeDelegate.close()Mitch Curtis2016-11-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | | | | | | Don't toggle the checked state on release after press-and-hold. Change-Id: I06b6a0e86dc02c171eef10f3c0d564ff605796f0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Whitespace fixesJ-P Nurmi2016-11-202-2/+0
| | | | | | | | | | | | | | | Change-Id: I4eab43944ec03b79d713db1c6756e76cbfa38b30 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | SwipeDelegate: comment out the revision of swipe.completed()J-P Nurmi2016-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QML engine cannot handle revisioned grouped or attached properties: import QtQuick.Controls 2.1 SwipeDelegate { swipe.onCompleted: { } } => ".onCompleted" is not available due to component versioning." Change-Id: I5bc944aeac7c7f16f482208a523110ccaa42241b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-178-22/+41
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/controls/data/tst_button.qml Change-Id: I5c97b3c1944e52dba44fd3c7d6d9a255c5e08cf7
| * | QQuickStyle: kill the temporary QQmlEngine instanceJ-P Nurmi2016-11-171-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The temporary QQmlEngine instance is not only slow and ugly, but also causes random crashes in the CI. This change replaces the temporary QQmlEngine instance with a local defaultImportPathList() helper method, which is based on the code in QQmlImportDatabase constructor. Later on, we can switch to QQmlImportDatabase::defaultImportPathList() when it has been made available in dev. Change-Id: I9f8363ba79ce39fb0482e6e44be0b1d1040c76e4 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Doc: a follow-up commit to 'rephase the "logical position" properties'J-P Nurmi2016-11-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | We're talking about two quantities, each of which is expressed as a fraction; they are expressed as fractions. Change-Id: I498864376f25d7f432c262d0f0dca27c5878d2bc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | QQuickSpinBox: fix auto-repeatJ-P Nurmi2016-11-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Doc: rephase the "logical position" propertiesJ-P Nurmi2016-11-165-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-168-53/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-151-0/+4
|\| | | | | | | | | | | Change-Id: I4a3971034d8e6daf0285c4bc9e5612b5e6cdabf1
| * | Doc: Popup.CloseOnRelease* policies only work with modal popupsMitch Curtis2016-11-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Non-modal popups don't accept the press event because they don't want to block the press. Change-Id: If4e39fe655401e55949e73c40e93626b84d4878a Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Dialog: emit rejected() when closed interactivelyMitch Curtis2016-11-101-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Prepare for a change to itemGeometryChangedErik Verbruggen2016-11-092-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | In an upcoming patch for qtdeclarative, the rectangle passed to itemGeometryChanged will be the old geometry instead of the difference between the old an the new geometry. Change-Id: If096d4986900fea6ada10b18088de12490c9171b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-0313-78/+422
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/accessibility/tst_accessibility.cpp Change-Id: I8c3ccb301730ecdc0acdcb75de607cdd4f753e15
| * | ScrollIndicator: fix documentation review findingsMitch Curtis2016-11-033-3/+137
| | | | | | | | | | | | | | | | | | Change-Id: Ia742b82e9aaacb35cdde5087ccb1deb977af51ed Task-number: QTBUG-55904 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * | ScrollBar: Fix documentation review findingsMitch Curtis2016-11-033-2/+142
| | | | | | | | | | | | | | | | | | Change-Id: I83703bf0188aa52b873f717b3470ceba4a4d670e Task-number: QTBUG-55904 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * | QQuickComboBox: key searchJ-P Nurmi2016-11-031-39/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | [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-31/+52
| | | | | | | | | | | | | | | | | | | | | | | | [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>
| * | Popups: use "Dialog" accessible roleJ-P Nurmi2016-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-023-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Doc: add more verbose brief description for DialogJ-P Nurmi2016-11-021-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-55904 Change-Id: Idd505e2d953cef237a8b7e90d8db22e746dedea8 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>
* | | QQuickDialog: finish accessibility supportJ-P Nurmi2016-11-022-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0293-242/+1107
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: revise brief descriptionsJ-P Nurmi2016-11-0237-37/+37
| | | | | | | | | | | | | | | | | | Change-Id: If7bdd4c11aaeb2df87622c769b1a65ac82ac7e73 Task-number: QTBUG-55904 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Doc: BusyIndicator vs. indeterminate ProgressBarJ-P Nurmi2016-11-022-0/+36
| | | | | | | | | | | | | | | | | | Change-Id: I48bb051bdfe18923749f71f9f0be39a0361723f5 Task-number: QTBUG-55904 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Doc: show the non-wrapping Dial GIF in the detailed descriptionJ-P Nurmi2016-11-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | There was no screenshot in the detailed description. This helps to see right away what kind of control it is. Change-Id: I0ecc585a5e6f650112e88bb3b37a2f5140d41261 Task-number: QTBUG-55904 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Frame: fix accessibility supportJ-P Nurmi2016-11-022-0/+11
| | | | | | | | | | | | | | | Change-Id: I79f06e3a60151ab4e35b6290fbfe022ed20665e3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | ToolTip: fix accessibility supportJ-P Nurmi2016-11-022-0/+11
| | | | | | | | | | | | | | | | | | Change-Id: I4623b1f1ee1e10c4233e89bf42e6720bbf3a5c73 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>