| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/MenuItem.qml
Change-Id: Id4cae0e53a58796694ad1fc9f8380b317ee62984
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Ibec1396de3e929a229e1550b8045d687aa5a513c
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-64075
Change-Id: Ifd48b6d0075ab1930be3d759b18292b5038bcc17
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Ie5b9a513baa70e88ade9cc4980b81fe6a363edf6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: I9188f94e40e2ecb4da1963ce2fcf915ab7a4b4fb
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Ifbbc0695023d238f2066f3412e563fb663cdec74
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-62668
Task-number: QTBUG-62628
Task-number: QTBUG-62631
Change-Id: If3220bf00a4729573be4b85755897586105b55a2
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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:149: warning:
Failed to parse token /*REVISION 3*/ in property declaration
Change-Id: If63cb8a5beaa1e738ffe51b73b0a4817ce0c16fc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
These assets were removed in cd7aae.
Task-number: QTBUG-63895
Change-Id: I6f7c6d179723191708403f90f99e5c11b9f84fa7
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Ia1e633af6c64c9e2d538a2d4076e0bdd9667e01e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
From now on, the assets are maintained via imagine.sketch. ;)
Change-Id: Icee606115cb149f3c99b8d9b768ccb080ad909be
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| | |
Change-Id: Icada48c4f819906c6a1fc6bd98dd18e64bf1471b
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/quicktemplates2/qquickbuttongroup.cpp
src/quicktemplates2/qquickoverlay.cpp
tests/auto/controls/data/tst_buttongroup.qml
Change-Id: Iae23aaf039c6095007966475294e93220dbead84
|
| |
| |
| |
| |
| | |
Change-Id: I6b9e31919502fb2f47e4b3657302a745c9f85b23
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Avoid accidental detach with C++11 range for loops.
Change-Id: I2a105ef5a2505d26ee086974177f8f1e4040b522
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Ib56041e69547e03d7db10974d4638748f99fd2bf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-63618
Change-Id: I6a32158726e4425dc24c24f4f9dc9cc80aa462bf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: Idbaf1791ffca20c4961bea16bb411720bbcac062
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I976ebebb69e583963f9578fb007fb008311a22b4
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| | |
| | |
| | |
| | | |
Change-Id: Ifaa644970cd8da55d02c1af76acd3ce8fbedb6da
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Disable hover to avoid unexpected changes.
Task-number: QTBUG-60480
Change-Id: I22fab5c95daa42f3c84437072bce49cac5c705af
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I859b61880da16f6c58967700b179f35df656ed77
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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>
|