aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Default: merge RadioIndicator back to RadioButton & RadioDelegateJ-P Nurmi2017-11-029-79/+42
| | | | | | | | | | | | | | | | | | | See the previous commit (CheckIndicator) for more details. Before: running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_radiobutton.qml [...] Average: 91.6 frames; using samples; MedianAll=91; StdDev=1.51658, CoV=0.0165565 After: running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_radiobutton.qml [...] Average: 95.8 frames; using samples; MedianAll=96; StdDev=2.04939, CoV=0.0213924 Change-Id: Ic185241767d0b9422e86919356e3155e00803e56 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Default: merge CheckIndicator back to CheckBox & CheckDelegateJ-P Nurmi2017-11-029-89/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | The internal CheckIndicator helper was introduced together with CheckDelegate in 1acb34a, because we naturally wanted to share the indicator instead of duplicating it. This change is controversial, because it leads to duplicate code, but keeping the indicator definitions inline is clearly faster. This is not seen as a huge problem for the Default style, because the indicator is not too complicated. Basically, this fixes a ~5% performance regression introduced by 1acb34a. Before: running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_checkbox.qml [...] Average: 72.8 frames; using samples; MedianAll=73; StdDev=1.48324, CoV=0.0203742 After: running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_checkbox.qml [...] Average: 77 frames; using samples; MedianAll=77; StdDev=1.41421, CoV=0.0183664 Change-Id: Ibee0e29e83a64ee4a6a772a90b1784a9c8c715bb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Optimize QQuickTumblerJ-P Nurmi2017-11-023-98/+119
| | | | | | | | | | | | | | Listen to the relevant view changes once in QQuickTumbler and cache the offset/contentY instead of every QQuickTumblerAttached instance doing its own geometry and child tracking, and cache the view offset or contentY so that they are readily available while calculating displacements for attached property objects. This gives a 5% boost (40->42 frames in qmlbench) on TX1 in release mode. Change-Id: If1a77468e812e65bc07f32216ff9bf2e1dc5b935 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Optimize CheckBox, Switch, and RadioButtonJ-P Nurmi2017-11-027-15/+125
| | | | | | | | | | Add an internal CheckLabel helper that simply initializes a few QQuickText properties with defaults that are suitable for CheckBox, Switch, and RadioButton. This gives a 10% boost on desktop in debug mode, and a 5% boost on a TX1 in release mode. Change-Id: I82fead9ca22b6aa74f24924d240c924b2a42a912 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-303-11/+19
|\ | | | | | | | | | | | | Conflicts: src/imports/controls/MenuItem.qml Change-Id: Id4cae0e53a58796694ad1fc9f8380b317ee62984
| * Default: cleanup an unnecessary extra item from the backgroundJ-P Nurmi2017-10-271-9/+6
| | | | | | | | | | | | | | | | | | | | | | The size (and position) of the background item is respected if explicitly defined, so the wrapper item is not needed. This does not reduce or simplify bindings, so the performance boost is not remarkable, but this can improve the qmlbench results by a frame or two depending on the hardware. ;) Change-Id: Ibd45cf02a3eb30b48b4af86e369a1db4cc5d3864 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix resource leakJesus Fernandez2017-10-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The system resource will not be reclaimed and reused, reducing the future availability of the resource. In QQuickStackView::​componentComplete(): Leak of memory or pointers to system resources (CWE-404) Coverity-Id: 178431 Change-Id: Iff8f8e2d228042789faae56512fd3255c3e56498 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * Fix outdated BSD license headerKai Koehne2017-10-231-2/+12
| | | | | | | | | | Change-Id: Ibec1396de3e929a229e1550b8045d687aa5a513c Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | Document palette as a basic QML typeJ-P Nurmi2017-10-275-67/+113
| | | | | | | | | | | | | | | | | | | | Unfortunately we need to manually add some \sa "palette QML Basic Type" links as a workaround until auto-linking to basic QML types in QML property headers is fixed in QDoc. Task-number: QTBUG-63469 Change-Id: I2ea853bfeda31905468741eb720f4daa242e703d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickSpinBox: fix internal setValue() argumentsJ-P Nurmi2017-10-272-2/+7
| | | | | | | | | | | | Task-number: QTBUG-64075 Change-Id: Ifd48b6d0075ab1930be3d759b18292b5038bcc17 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Default: optimize SwitchIndicatorJ-P Nurmi2017-10-271-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squeeze a few more frames in qmlbench by getting rid of one extra Item and optimizing the bindings. Before: running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_switch.qml [...] Average: 94.4 frames; using samples; MedianAll=94; StdDev=1.14018, CoV=0.0120781 After: running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_switch.qml [...] Average: 98.8 frames; using samples; MedianAll=99; StdDev=1.09545, CoV=0.0110875 Change-Id: I37bc9c7e75ec1620b6f575aa4aa97961367f79fd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Imagine: enable caching for image lookupsv5.10.0-beta3J-P Nurmi2017-10-261-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | File system lookups are somewhat expensive, so cache the results to avoid repetitive lookups. The default cache size of 500 is a rough estimate based on that the default assets have 300+ images per scale factor. Caching image lookups gives an average of 20% performance improvement in qmlbench: control before after improvement ---------------------------------------------- busyindicator 29 32 1.10344827586207 button 53 60 1.13207547169811 checkbox 51 60 1.17647058823529 combobox 39 44 1.12820512820513 dial 110 147 1.33636363636364 itemdelegate 54 61 1.12962962962963 label 143 152 1.06293706293706 menuitem 26 34 1.30769230769231 progressbar 13 15 1.15384615384615 radiobutton 52 59 1.13461538461538 scrollbar 37 62 1.67567567567568 scrollview 78 121 1.55128205128205 slider 31 40 1.29032258064516 spinbox 75 85 1.13333333333333 switch 35 43 1.22857142857143 textarea 80 88 1.1 textfield 56 63 1.125 tumbler 126 128 1.01587301587302 ---------------------------------------------- average 1.2102967624703 Caching can be disabled by setting an environment variable: QT_QUICK_CONTROLS_IMAGINE_CACHE=0 but this is not advertised in the docs for the time being. It is there to help debugging, should anything go wrong with caching. Change-Id: I1119f3d8186bc9a51cc174b06fed02ed9e1fb70c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Update plugins.qmltypesJ-P Nurmi2017-10-253-2/+206
| | | | | | | | | | Change-Id: Ie5b9a513baa70e88ade9cc4980b81fe6a363edf6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickIconImage: fix crash with image providersJ-P Nurmi2017-10-233-2/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | QQuickImageBase::load() cannot call until the component creation is completed, because it requires an associated QML engine. All calls to updateIcon() are guarded with the appropriate isComponentComplete() check, but the sourceSizeChanged() signal was connected directly to updateIcon(). Establish the signal-slot connection at component completion to avoid calling updateIcon() to soon. Task-number: QTBUG-63959 Change-Id: I3c935291796dbae031d2728e1d51c55596a51cd0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Docs: promote the icon docs on its own pageJ-P Nurmi2017-10-233-52/+172
| | | | | | | | | | | | | | | | | | | | - other controls (textfield, combobox, ...) will eventually gain support for icons too - advertise icon support on the index page amongst other important topics - document the steps for building an icon theme with high-dpi support Change-Id: I35ed76ef005d7e273beb5f5147ca92849adc0d90 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Docs: make button icons sound as worthy as text labelsJ-P Nurmi2017-10-234-11/+10
| | | | | | | | | | | | | | | | Advertise text and icon properties equally. The additional mention of the icon property make icons sound somehow less worthy. :) Change-Id: I564954091ba9d484abda702ce4ba46ddebe7a082 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10J-P Nurmi2017-10-229-32/+122
|\| | | | | | | Change-Id: I9188f94e40e2ecb4da1963ce2fcf915ab7a4b4fb
| * QQuickDialogButtonBox: fix potential crash in updateLayout()J-P Nurmi2017-10-201-2/+2
| | | | | | | | | | | | | | | | | | Don't dereference the contentItem pointer without checking. We can use availableWidth/Height as a fallback. Task-number: QTBUG-63898 Change-Id: I1ef7704e96e233036eacd6e3586f5bd0c72fac2d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Speedup tst_pageindicatorJ-P Nurmi2017-10-191-12/+24
| | | | | | | | | | | | | | | | | | | | | | | | test_interactive() was iterating the entire rectangle 2px around each indicator pixel by pixel and sending mouse clicks and touch presses + releases at each coordinate. This resulted to a total of 845 mouse clicks and 845 touch presses and releases. Select a few interesting coordinates to reduce it down to 40 mouse clicks and touch presses and releases. Change-Id: Ie3439aae8481e019956c49d2d82067dac8741b8f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix outdated FDL license headerKai Koehne2017-10-181-4/+4
| | | | | | | | | | Change-Id: Ifbbc0695023d238f2066f3412e563fb663cdec74 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * QQuickContainer: fix itemSiblingOrderChanged()J-P Nurmi2017-10-174-14/+59
| | | | | | | | | | | | | | | | | | | | | | The problem was that QQuickContainer started already moving items while QQmlObjectModel was creating items and QQuickRepeater was initializing the order. Don't reorder items during the creation, but only after component completion. Task-number: QTBUG-61310 Change-Id: I13380c5ab6b3bddaad3fa03ef6fb028622b4cd11 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * QQuickToolTip: disable hoverJ-P Nurmi2017-10-122-0/+33
| | | | | | | | | | | | | | | | | | | | Tooltips are special popups that should not block hover, because it conflicts with the typical condition for showing tooltips on desktop platforms. Task-number: QTBUG-63644 Change-Id: Ie974aed23a7df8e4b926bec5fe717cb909d15842 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | remove blacklistsShawn Rutledge2017-10-222-24/+0
| | | | | | | | | | | | | | | | Task-number: QTBUG-62668 Task-number: QTBUG-62628 Task-number: QTBUG-62631 Change-Id: If3220bf00a4729573be4b85755897586105b55a2 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Docs: fix qtquickcontrols2-customize.qdocJ-P Nurmi2017-10-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | qtquickcontrols2-customize.qdoc:558: warning: Command '\skipto' failed at end of file 'qtquickcontrols2-menu-custom.qml' qtquickcontrols2-customize.qdoc:573: warning: Command '\skipto' failed at end of file 'qtquickcontrols2-menubar-custom.qml' Change-Id: Ica50d42e53522bdcb31fbc38f870856aa036f549 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | qquickapplicationwindow_p.h: make REVISION comment qdoc-compatibleJ-P Nurmi2017-10-201-1/+1
| | | | | | | | | | | | | | | | qquickapplicationwindow_p.h:149: warning: Failed to parse token /*REVISION 3*/ in property declaration Change-Id: If63cb8a5beaa1e738ffe51b73b0a4817ce0c16fc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Docs: remove bogus example image links for the Imagine styleJ-P Nurmi2017-10-201-96/+0
| | | | | | | | | | | | | | | | These assets were removed in cd7aae. Task-number: QTBUG-63895 Change-Id: I6f7c6d179723191708403f90f99e5c11b9f84fa7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Revert "SwipeDelegate: grab the mouse when accepting a press event"J-P Nurmi2017-10-191-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | This partially reverts commit 31d90e308e46d644d74e9434ce31dd664677bc59 without bringing back the blacklists that were added in commit 4d12ab2c6a62e2771e7cc9c2c67ab48962987421. These explicit grab calls are no longer needed. The root cause was fixed in qtdeclarative commit 2dd530ca35032465d4e928aa7c8f29563eb0c5da. Change-Id: Ie22b05ee00cd6e104d99732eddcd9d0652b6a7e0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | 9-patch export plugin for SketchJ-P Nurmi2017-10-183-1/+44
| | | | | | | | | | | | | | | | This plugin crops upscaled 9-patch PNG assets when exported from Sketch, to ensure that 9-patch borders remain 1px wide when upscaled. Change-Id: Iad46d75f37b76eecf64ac32fa38d2b9e9db8b34d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tst_sanity: fix "empty filename passed to function" warningsJ-P Nurmi2017-10-181-3/+6
| | | | | | | | | | Change-Id: Ia1e633af6c64c9e2d538a2d4076e0bdd9667e01e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Imagine: replace generated assets with exported assetsJ-P Nurmi2017-10-181264-0/+0
| | | | | | | | | | | | | | From now on, the assets are maintained via imagine.sketch. ;) Change-Id: Icee606115cb149f3c99b8d9b768ccb080ad909be Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Update imagine.sketchJ-P Nurmi2017-10-181-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove @1x from - applicationwindow-overlay-modal - menuitem-arrow-disabled - rename - button-background-disabled-checked -> button-background-checked-disabled - add missing - combobox-background-editable-focused - combobox-background-focused - dial-handle-hovered - delaybutton-background-focused - drawer-overlay - drawer-overlay-modal - remove checkable states for button Now the exported assets match with the files generated by imaginator. Change-Id: Icc73cd526227150b344512d08027f772a53acac2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Imagine: add support for file selectorsJ-P Nurmi2017-10-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For example: assets/ |__ button-background.9.png |__ +custom/ |__ button-background.9.png $ QT_FILE_SELECTORS=custom ./myapp Change-Id: I26f0b82885aa1a8e62fb4e3e58c7d8b19012406e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Imagine: add "qt.quick.controls.imagine" logging categoryJ-P Nurmi2017-10-172-0/+8
| | | | | | | | | | | | | | | | | | | | The output helps to debug image asset selection. For example: qt.quick.controls.imagine: "button-background" () -> "path/to/button-background.9.png" qt.quick.controls.imagine: "button-background" ("hovered") -> "path/to/button-background-hovered.9.png" Change-Id: I3aee85d357d9b9436341bfb06486e5b3089ce86f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Imagine: remove bogus assetsv5.10.0-beta2J-P Nurmi2017-10-1664-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - flat buttons don't need checkable assets (checkable-checked vs. checked, and checkable-highlighted vs. highlighted look identical) - delegates don't need a checked background, because the checked state is visualized by the indicator - text editors have no pressed state - mirrored page-indicator is unnecessary because it looks identical (if a mirrored version was needed, then we would need to provide mirrored versions of all states including pressed, current...) Change-Id: I909f639bdcf9d9653c56b8ce2eda49b3219bdf77 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add manual test for SystemTrayIconFriedemann Kleint2017-10-166-0/+170
| | | | | | | | | | Change-Id: Icada48c4f819906c6a1fc6bd98dd18e64bf1471b Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10J-P Nurmi2017-10-1216-36/+182
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/quicktemplates2/qquickbuttongroup.cpp src/quicktemplates2/qquickoverlay.cpp tests/auto/controls/data/tst_buttongroup.qml Change-Id: Iae23aaf039c6095007966475294e93220dbead84
| * QQuickPlatformDialog: fix clazy-qenumsJ-P Nurmi2017-10-101-1/+1
| | | | | | | | | | Change-Id: I6b9e31919502fb2f47e4b3657302a745c9f85b23 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Platform: fix clazy-range-loop findingsJ-P Nurmi2017-10-103-11/+11
| | | | | | | | | | | | | | Avoid accidental detach with C++11 range for loops. Change-Id: I2a105ef5a2505d26ee086974177f8f1e4040b522 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Ensure that the last screenshot can be openedMitch Curtis2017-10-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | Ensure that lastSavePath (now lastSaveUrl) is converted to a URL correctly by constructing it from screenshotsDir rather than screenshotsDirStr. It was resolved as a qrc path previously. Change-Id: I5ccdad6166b3927a149875b6ff89ff53c2440c05 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * Doc: state which input devices cause certain signalsMitch Curtis2017-10-101-6/+6
| | | | | | | | | | Change-Id: Ib56041e69547e03d7db10974d4638748f99fd2bf Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * Fix the QML context of popup background dimmersJ-P Nurmi2017-10-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We were accidentally passing QQuickOverlay as a QML context parent for dynamically created popup background dimmers. There is only one overlay per window, and the overlay is not destroyed when a popup is destroyed. QQuickOverlay is just a visual parent item for popup background dimmers, but the actual owner is QQuickPopup. Make sure to pass the popup instance as a QML context parent to ensure that the popup background dimmer's QML context is cleaned up when the popup is destroyed. Task-number: QTBUG-63672 Change-Id: I5cabbcef5035cef40af3c9edbcd8f7ae3157bd8a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Doc: add missing title customization for GroupBoxMitch Curtis2017-10-102-0/+8
| | | | | | | | | | | | Task-number: QTBUG-63618 Change-Id: I6a32158726e4425dc24c24f4f9dc9cc80aa462bf Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * Merge remote-tracking branch 'origin/5.9.2' into 5.9Liang Qi2017-10-061-0/+79
| |\ | | | | | | | | | Change-Id: Idbaf1791ffca20c4961bea16bb411720bbcac062
| | * Add changes file for Qt 5.9.2v5.9.2Antti Kokko2017-09-271-0/+79
| | | | | | | | | | | | | | | Change-Id: I976ebebb69e583963f9578fb007fb008311a22b4 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * | Bump versionOswald Buddenhagen2017-10-061-1/+1
| | | | | | | | | | | | Change-Id: Ifaa644970cd8da55d02c1af76acd3ce8fbedb6da
| * | tst_combobox: attempt to stabilize test_mouse()J-P Nurmi2017-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Disable hover to avoid unexpected changes. Task-number: QTBUG-60480 Change-Id: I22fab5c95daa42f3c84437072bce49cac5c705af Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | QQuickScrollView: fix binding loop with wrapping TextAreaJ-P Nurmi2017-09-282-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Start keeping track of the content size only after the component is complete, to avoid creation time ping pong with content size updates and content item resizing. Task-number: QTBUG-62325 Change-Id: I4b75dc398d0b746dd7e0b04291270f47f91bb7e6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Doc: remove stray semicolons from SwipeDelegate snippetMitch Curtis2017-09-281-2/+2
| | | | | | | | | | | | | | | Change-Id: I859b61880da16f6c58967700b179f35df656ed77 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * | QQuickButtonGroup: track the checked button with a QPointerJ-P Nurmi2017-09-282-3/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A destroyed button removes itself from a group, but because of the workaround added for QTBUG-52358, there's a moment after clear() when a button is removed from a group and before it is added back to the group. If the button gets destroyed during that period, the group ends up with a dangling pointer. Task-number: QTBUG-62946 Task-number: QTBUG-63470 Change-Id: If994f87b221a7e77f56458866c4d132365c45d6f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Refactor imagine.sketchJ-P Nurmi2017-10-111-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - split to page per control - define a palette and used shared styles - use shared symbols for 9-patches, indicators, handles, etc. - minor geometrical fixes here and there Change-Id: Ib6992f5ce2f57193ac893684bed43f039f22a815 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>