| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
The latter has been the preferred name since Qt 4.7.0.
Added a comment on where the old name is exposed to QML that it's only
for backwards compatibility.
Change-Id: I2c5088d597dd7327cc5899d06afb180d0ec2893e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 3debb37250b2c57aaaf81940f9dfeb540fd4e380)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
This does not express the full scope of what is happening, but it might
help tools figure out that the respective types will be available when
QtQuick or QtQml are loaded.
Task-number: QTBUG-84286
Change-Id: I60522e76fc15db0cccf900d7d2a10c50519ba877
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
We need to adopt them, not addref the newly created object.
Fixes: QTBUG-83214
Change-Id: Ic8660e65d4b7c7698657f6b2806b5478f7f15ea1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 6de0287d7c3aa4251fe6eb4f970d73ce11cf07fc)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was especially noticeable when a Repeater was populating the
children of a layout, and its model was dynamically changed: When the
model was changed, the repeater removed one item at a time until all
items were removed, then applied the new model and then added all the
new items for the new model.
The layout reacted to that by doing a full sync of the QML layout into
the internal gridlayout engine each time an item got removed or added.
For very large layouts (or layouts that have complex size hints to
calculate), this caused a major slowdown.
This patch fixes that by postponing the sync until we get a
updatePolish(), basically replacing most calls to updateLayoutItems()
(which does the sync) with a call to invalidate() (which schedules a
polish). It will also get rid of some binding loop warnings due to this
change.
This means that there is a small change in behavior:
impicitWidth, implicitHeight and Layout.{min,max}imum{Width,Height}
might in some cases be incorrect until the updatePolish() have been
done. (This is however consistent with how Row/Column/Grid behaves)
The creation test in qmlbench was quite simple, so it did not suffer
from the most severe performance issues, but we did not regress:
> compareresults:
auto/creation/layouts/delegates_rowlayout.qml: improvement by 3.91%
auto/creation/layouts/delegates_columnlayout.qml: improvement by 6.59%
auto/creation/layouts/delegates_gridlayout.qml: improvement by 1.83%
Overall average of differences: 4.11%
And for the gridlayout_large.qml (Repeater with 1000 dynamically
changing items):
> compareresults:
auto/layouts/gridlayout_large.qml: improvement by 66477.78%
Overall average of differences: 66477.78%
[ChangeLog][Qt Quick Layouts] Performance improvements to Qt Quick
Layouts. This has the small side-effect that size hints
(implicitWidth/implicithHeight etc) changes are not immediately emitted
after a layout has been modified (e.g item added)
Fixes: QTBUG-71839
Fixes: QTBUG-65121
Fixes: QTBUG-66017
Change-Id: I6922efe449134246df66b177992e4442747bc8fb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit cc77a0bc549ce8f0b218661e7ae0e82e5b89e0da)
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I found this quite useful for debugging layouts in order to get a snapshot of
the layout hierarchy at any point. It will show the hierarchy and the relevant
properties that affect the layouting. It's basically QObject::dumpObjectTree()
specialized for Qt Quick Layouts (except it will dump it as QML-ish).
For the leaf nodes it will leave out unspecified information.
Example on how a dump looks like:
RowLayout {
// Effective calculated values:
sizeHintDirty: 1
sizeHint.min : [ 100, 20]
sizeHint.pref: [ 100, 20]
sizeHint.max : [ inf, 20]
RowLayout {
// Effective calculated values:
sizeHintDirty: 1
sizeHint.min : [ 100, 20]
sizeHint.pref: [ 100, 20]
sizeHint.max : [ inf, 20]
Rectangle {
implicitWidth: 100
implicitHeight: 20
}
Rectangle {
implicitHeight: 20
Layout.fillWidth: true
}
}
}
Change-Id: Ie2fcd56d522395cb9d6f55a1ea3f882a7a9da709
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit e0a03d04f8880d81e0c1fec909e5892ae685af71)
|
|
|
|
|
|
| |
Change-Id: I4db3ebb02a5b541ca8e50e65b9056d398570e331
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 5728f48834b9225a36d3e1dae44ced7579cde358)
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/labsmodels/qqmltablemodel.cpp
tests/auto/qml/qqmltablemodel/tst_qqmltablemodel.cpp
This follows edc8512580fa16892dc13034e93300cc6a2bba59.
Change-Id: I515d44d5d8309f4d7b911996c0ab65ea803176fa
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-82298
Change-Id: Iad95b7a90c2c247c44b8656b0fd104843bd4fa8c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
QDoc will generate these notes automatically.
Task-number: QTBUG-37355
Change-Id: I8ed058ecbbcc630ad0351f6ce167c3fa61936f6f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The Qt version was added in 5.14 "for use as eventual replacement for
QString::SplitBehavior." Move another step cloaser to that goal.
Change-Id: I3214ad6ccaca9dfd4a026589cabeb40cbf4a6298
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The workerscript and models qmltypes are built from the library
directory, the testlib qmltypes are built from the plugin directory.
Change-Id: Ifc497aaf8204616ca817ee08ad86383ab2cbbdae
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
It was exported in 5.14, so we should probably still do so.
Change-Id: Id44783c72fff50aee63d7c5a72f12ff9ca895a6b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in favor of mouseDoubleClickSequence(), which has a much more realistic
event sequence. mouseDoubleClick() only sends a MouseDoubleClick event,
without any press, release, etc.
Change-Id: Ifa57cfe678c5f0aef7ee35dab8a1a97ce9a06de0
Fixes: QTBUG-82138
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/jsruntime/qv4engine.cpp
Change-Id: I61f41672e2dfe7e542ca30fed5f173d0a9ee3412
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This happened because of that QQuickText is ill-behaving: When the width
on a QQuickText with word wrap enabled is changed to something less than
its implicitWidth, its implicitHeight is changed to reflect the height
it needs in order to fit all lines. This will cause the layout to be
invalidated, and rearranged again.
However, at the same time it will also change its implicitWidth actually
become wider than its initial implicitWidth (this seems to be a bug). So
the next time it is rearranged it will actually be wide enough so that
it doesn't need to wrap. This again will cause its implicitWidth and
implicitHeight to change to reflect that only one line is needed, which
again will cause it to rearrange, but since the item has a too small
width for that it will again change the implicitHeight to reflect that
it needs more lines.....
This went on forever until there was a stack overflow. In addition it
also caused an endless (that is, if it didn't stack overflow)
updatePolish()/polish() loop (basically polish() was called from within
updatePolish() continuously).
To make the layout more robust for such "ill-behaving" items we have to
add one recursion guard, and one polish-loop guard.
Change-Id: I9f752ed320a100c8d0f0fd340347a556e63318e5
Task-number: QTBUG-73683
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-79263
Change-Id: If518f644b5b9eddbacfb1cb16fbb557127ffcfb2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ic471ba4f82bdf1ac63953927d0a83f514d0e49d0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add unused volatile pointers to the type registration functions in each
import plugin. We need to do this in order to prevent the linker from
optimizing the registration away. There are two ways for this to happen:
When linking statically, the linker will examine the referenced symbols
on a per-object base and leave out all unreferenced objects. When
linking dynamically, the linker may do the same on a per-library base
and drop any unreferenced libraries from the dependencies. Forcing a
reference to the type registration function prevents both.
The volatile technique allows us to remove the previous qCDebug() hack.
Having an unused volatile auto variable should only result in a single
memory read as runtime overhead. The qCDebug() technique would generate
a read and a block of mostly dead code (as no one would ever use that
logging category).
Fixes: QTBUG-81622
Change-Id: I255667276dfd355b19baa17b1aad3db406bf1954
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some linkers can determine that we don't use any symbols from the
QtQmlModels and QtQmlWorkerScript libraries in the respective plugins
and avoid to link the libraries into the plugins. That means, when
loading the plugins, the types are not registered. We avoid that by
adding a debug message that accesses a symbol of the library to each
plugin.
Change-Id: I3d946259df96382a3751eaafa12cbdd3d830c139
Fixes: QTBUG-81721
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Views could use an array of QObject instances as a model, as an alterative to a
QAIM subclass; but DelegateChooser only supported querying the value based on the
model role name. Now a QObject property name can also be used as roleValue.
[ChangeLog][QtQuick][Item Views] DelegateChooser now supports using a property name
as roleValue when an array of QObject instances is used as the model for a view.
Fixes: QTBUG-81580
Change-Id: I3e5b57ce0456520667e342741efbe46417f0843c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I88e94fe3398a59f10c5a8b142204db5f3ccb2657
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Uses wavefrontmesh only if the shadereffect feature is there. Path
doesn't need to depend on shadereffect feature only on gui module. The
shape also missed a sgtexture header.
Fixes: QTBUG-81296
Change-Id: I78425ef8a09226b99e9b9f6010dda9dac9009fe5
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Found by a valgrind warning of an unintialized jump.
Change-Id: I24279c97042e1971eaff35c3363fc1250e5c6c6e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickitemview.cpp
Change-Id: Ib9faebdbef5eebb80f4e6aeb5b15b5df7494b157
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickMultiPointHandler inherits from QQuickPointerDeviceHandler, which
inherits from QQuickPointerHandler that already has a marginChanged
signal. It's the only place that signal gets actually emitted from.
Amends da722fb448f06cf43780e6f857a1ccd9f07176d6
Change-Id: I8ba3129ed69903d6f3cff56401c8a18580af0375
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
as type is going to be deprecated.
This change was done automatically with the help of clazy.
In addition, ColumnRoleMetadata was changed to take an int instead
of a QVariant::Type
Change-Id: Ibc02d7b52e7d931a56c19fdebc4788b5e6df2a39
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that we can generate all QML type information at build time, we
should also use it.
Move the types for QtTest into the testlib import plugin. They don't
need to be exported from QtQuickTest.
Trigger the resource initialization of the shapes library from the
plugin so that we retain a dependency and the linker doesn't optimize
the module initialization away.
Change-Id: Icc8cb338aa03ef1e3085e29356a5db7b73ba0a01
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Amends 744e77b841878fb017c0f2d60607090008f28180.
Change-Id: I6f7192982c38346e7fc525600d3fddebff294d2f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/qmldirparser/qqmldirparser.cpp
src/qml/qmldirparser/qqmldirparser_p.h
Change-Id: Ia68a8d4f345e6e456eebc3f215fc90d3819ddd70
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The code checking if the intermediate move distance was less than
the drag threshold, but without accounting for negative distances.
Since the negative distances were naturally less than the drag
threshold, the intermediate distances were set to zero and the
intermediate moves were never done.
In practice, this means that mouseDrag() never did intermediate
moves (i.e. what happens during a drag in real life) for drags
that go from right to left or upwards.
Task-number: QTBUG-80152
Change-Id: Ic27021f5ce5ba2937e95fb2dfb532bd2136f4205
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Amends 744e77b841878fb017c0f2d60607090008f28180.
Change-Id: I16e37aaf503eb62f67fca0e48be4c92c4a72ae46
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is being deprecated.
Change-Id: I844bd92af85bc53a8fc0371408d05277bd49f511
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/qml/qqmlextensionplugin.cpp
tests/auto/quick/qquicktableview/tst_qquicktableview.cpp
Change-Id: Ic58d36a8532015bae30f2690063db9829b3bf372
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
mouseDrag() should not drag along an axis if the distance passed in for
that axis was 0. Doing so can interfere with tests for an item that e.g.
handles horizontal flicks which is within e.g. a Flickable that handles
vertical flicks. This was seen with SwipeDelegate auto tests, where the
delegates handles horizontal swipes within a vertical ListView.
Change-Id: I8fee567d59c53bdc4cbfe1d42ae0592e324bd2f6
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
We now print a warning and try to gracefully handle it
Change-Id: I66e79fe918808f5fede78a23df50e9e95b7b832d
Fixes: QTBUG-67204
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There were a lot of documentation warnings introduced by the
separation of QtQml.Models and QtQml.WorkerScript modules
from the QtQml documentation project into their own
sub-projects.
Fix the above, and also ensure that the experimental
Qt.labs.qmlmodels QML types are listed in the documentation,
and add them also on the QML module page for QtQml.Models.
A few warnings remain, they may be indicative of issues
not in the scope of this commit.
Fixes: QTBUG-79812
Change-Id: Idc25c976e4c96feab4aae893519d6c9245f57a64
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp
tests/auto/quick/qquickloader/tst_qquickloader.cpp
Change-Id: I85fd38cfa00cd60197a1c981bfcc16fcb896cfe9
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
src/qml/common/qv4compileddata_p.h
src/qml/types/qqmlbind.cpp
tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp
Change-Id: I6a137907e63445f17a3d6181b832a6bd76135bb2
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I3ac473b3d46ff1f898c1607deb6ad3d586753244
Fixes: QTBUG-79359
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I6e69a235f50472b8f7ac19e133a3c071ea8c4d7a
|
| |\|
| | |
| | |
| | | |
Change-Id: I7759f6b60f8fda6525b239c7ee2e034194d4ab85
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-77923
Change-Id: I487c58d1e50de15c00539c7610ab570f11df6027
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We want only one URI per library or plugin, so that we can centrally
register the types.
Change-Id: Ibc7305f102503ce672f8751771779102be44e014
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We want to have only one import URI per library.
Change-Id: I8be524cf361b12bcb423c9efccd4e047ae3d8d0e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I1359574c7d89aaf3328958e2f667ba1e599ff7f1
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/scenegraph/openvg/qsgopenvgcontext.cpp
tests/auto/quick/qquickpathview/tst_qquickpathview.cpp
Change-Id: I117c8d62b21800329d1035021d312d9924f83a1b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- erroneous link to Controls1
- put qtquickcontrols before qtquickcontrols1 in depends statement
Task-number: QTBUG-78799
Change-Id: I8107d9f23660e37c742a588b0efc38ac336babeb
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/imports/qtquick2/plugins.qmltypes
src/quick/items/qquickitemsmodule.cpp
Change-Id: I841c65c9c131354788b4f3fcfe3d7ed27be316d5
|
| |\|
| | |
| | |
| | | |
Change-Id: I73d9e896c05f7d944f3092b51a3a95c7e6e284b8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the filters list is the same as before, then there is no reason to
trigger an update on the thread as the result would be the same as
before. This solves a problem that was occurring with iOS 13 as it would
get stuck due to repeated calls to setNameFilters() with the same
filter list.
Fixes: QTBUG-78468
Change-Id: I705cfaaa0a1a19b1d0397140a5831fc67557a4ee
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|