| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
The model types are not part of the core QML runtime and should only be
loaded if you explicitly import them. We cannot enforce that in Qt5 as
some of them are available from the QtQml import, but we can change it
in Qt6.
Change-Id: I1e49e84d748e352537ec2d4af901c034c91d038f
Reviewed-by: Erik Verbruggen <erik.verbruggen@me.com>
|
|
|
|
|
|
|
| |
Used to store columnWidths and rowHeights.
Change-Id: Id66fba9de05afa2c4df15761fb004b4f046fe103
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you put two tables inside an async loader, with one being
the syncView for the other, the syncView child will start
loading items async simultaneously with the syncView.
This is unnecessary, and steals loading resources, since
the child will have to rebuild anyway once the syncView has
completed loading. So return early from the recursiveUpdateTable
call before handling the children if we detect that the parent
is not done.
Change-Id: I8c0badaf3cfa3a353a650e5f38f381bf9a7b98f9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/compiler/qv4compilercontext.cpp
src/qml/qml/qqmlmetatype.cpp
Change-Id: I02e0216961b92ff68a3f91a70edc33fe9e8db147
|
| |\
| | |
| | |
| | | |
Change-Id: I2fea101de38922d34088c6eca0e256ec167ad118
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Store PointVelocityData by value in the QMap to avoid leaking memory.
This also appears to be slightly faster than heap allocation, with
the struct being relatively small (24 or 32 bytes depending on qreal).
Fixes: QTBUG-73182
Change-Id: Ibd9374746b76fd5b78c23283d278b6af42907c96
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It can be used to change any qreal property of its target Item in
response to wheel rotation, or it can be used in other ways that involve
bindings but without a target item.
[ChangeLog][QtQuick][Event Handlers] Added WheelHandler, which handles
mouse wheel rotation by modifying arbitrary Item properties.
Fixes: QTBUG-68119
Change-Id: I247e2325ee993cc1b91a47fbd6c4ba0ffde7ad49
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
calculateTopLeft() takes care of finding which cell should be
the 'corner stone' that needs to be loaded first when doing
a rebuild. When we have a syncView, the top left cell should
match the top left cell of the syncView, so the logic needs
to change quite a bit to take this into account.
Change-Id: Ia0b621a3155bbd113fa37c2ed585f16627d46443
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that several table views can stay in sync through the
syncView parent-child chain, we also need to ensure that the
position of the content views stays in sync. This patch will
recursively go through all connected views when one of the
views are moved and set the same position on them all according
to the syncDirection flag.
Change-Id: I5a5b8e795426484eeab3771f6c8d4c9b7da046eb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that a TableView can be inside a syncView hierarchy, we
cannot update a table in isolation, but need to coordinate
this with the other views. It's especially important that
we update a parent syncView before a child syncView, to
ensure that the parent has calculated all the necessary
columns width and row heights. For that reason, we always
update the table views starting from the top.
Change-Id: Iba8ae7d28fa0bb2fbbad9f8fc7aa198e15b91872
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ensure that properties that has to do with the layout
stays in sync with the syncView. This is currently
rowSpacing, columnSpacing, rowHeight, columnWidth,
contentWidth and contentHeight.
Change-Id: I5af29d7be6c30cefbfa7d2353f53359907c9405b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Make two sub-sections: C++ and QML
- Add a TableModel example to the QML section
Change-Id: Ib391b4c0a78e11f5130944b6ac99e20a5982a453
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This property can be set to point to another TableView.
If set, this TableView will be synchronized to the
other table with respect to flicking, column width, row
heights, spacing, etc. This logic is needed as a foundation
for the upcoming HeaderView.
Upcoming patches will implement this logic (together with
autotests) gradually.
Change-Id: Ic7dea8e1d1aa46bbb3ea6e795953a65c96c25cc6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/qml/qqmlmetatype.cpp
Change-Id: Ieff61c076e46eb50a059c8b0210f7f4d7ce0cbcf
|
| |\|
| | |
| | |
| | | |
Change-Id: I9ef4be23bfe35aa48d4c65d4159e72c527943845
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's hard to correlate with the other debug messages otherwise.
Task-number: QTBUG-74008
Change-Id: I611201cc8ca86739251b72ccc3e1c5860cfdad8a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I5e7b5b261d3ba28fbbf345f2fc3f086d87112a2d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rather than handle relayouts differenty than rebuilds, we
can make it a part of the rebuild structure instead, since
they overlap a lot. That way we can collect everything
that needs to be updated into a single variable (rebuildOptions).
This will simplify the upcoming work for synchronizing tableviews.
Change-Id: I8bb2638612c86194a854e6fefc998eae22357a7a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/qml/qqmlimport.cpp
Change-Id: I6add6267297ea50a646d43d212027a168dca8916
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/qml/qv4assembler/tst_qv4assembler.cpp
Change-Id: I9d31c982881a617099354bf8acceb76332f11496
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On eglfs platform input events are driven by libinput and
do not have window information as such. They are simply
delivered based on QGuiApplication::topLevelAt window selection.
In case of WebEnigne, QQuickWindow is returned as top level window.
QQuickWidget uses this QQuickWindow as an offscreen window,
however since 561b932 we fake 'visible' and 'visibility' values so
windows api in qml can use those properties. This ends up with broken
event delivery on eglfs, since window is offscreen and therefore
not really visible.
Make a minimalistic change to fix the issue, without braking
QTBUG-49054, which requires 'visibility' to have fake values,
and 'visible' will keep window as not visible for event
delivery system.
Fix encapsulation of setVisible(), prevent accidental window
creation when setVsiible() called from qml via binding.
The proper fix would require for example adding some new flag
to underlying offscreen window, which could be used
by event window selection mechanism or rework of qquickwidget
offscreen window parameters expose to qml.
Task-number: QTBUG-65761
Task-number: QTBUG-49054
Change-Id: I2a307ee5613771adf6d31f1c3cc4b4a25d7620df
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty/masm/assembler/LinkBuffer.h
src/qmltest/doc/src/qtquicktest-index.qdoc
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
Change-Id: I7d83ad95cf489dda794dd7a0a33bad3ef3b05609
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When running a QML application with using Canvas3D component inside a
QQuickWidget, the Canvas3D is not rendered. This is due to no scheduled
OpenGL commands with RenderStage == NoStage are actually executed when
there is a render control instead of a window manager.
Fixes: QTBUG-51993
Change-Id: I33323893cd6144187feccb1c6bcd010eff0fff6d
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We already have the variable 'scheduledRebuildOptions'. When this
is set to something else than RebuildOption::None, it means
that a rebuild is scheduled.
Change-Id: I85cde5c45eba15023cd389ebb0ba86f9d58835ae
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is just an alias for QV4::ReturnedValue. We can as well use the
latter.
Change-Id: Ibd2c038a3ca726b39a8f0f05e02922adb9fccbdb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/qml/qqmlmetatype.cpp
src/qml/types/qqmlmodelsmodule.cpp
Change-Id: Idc63689ba98d83a455283674f4b5cf3014473605
|
| |\|
| | |
| | |
| | | |
Change-Id: I68211a7d4568a1c31c6a124fe6777709c53736a5
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQuickWindowPrivate::sendUngrabEvent() sends an UngrabMouse event, and
that can be filtered by parent filters. If a touch cancel happens to a
MouseArea in a ListView delegate, we need the ListView to filter the
UngrabMouse event so that QQuickFlickable::childMouseEventFilter() will
call QQuickFlickable::mouseUngrabEvent() and
QQuickFlickablePrivate::cancelInteraction() will set pressed to false.
The pressed state became true because Flickable filtered the press
event; so for symmetry, it also needs to filter the touch cancel (in the
form of a mouse ungrab), to avoid being stuck in a state where it can't
move programmatically.
Fixes: QTBUG-74679
Change-Id: I6c0ed364d2bc1f45c7e7b17846a09f6b53f91d0a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When 1771d298 changed gradient from a QQuickGradient* to a QJSValue,
it forgot to also change how it was initialised, with 0 causing
QJSValue to consider itself a number, and hence trigger the warning
added to QGradient in 3b7db8ac90b.
Change-Id: I83377c40984f596f56645aea467b74de1a152b62
Fixes: QTBUG-74911
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic135a863581d29a3afb9c6c7f070d2630b3913b4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix warnings like:
sruntime/qv4serialize.cpp:378:45: warning: 'QVariant qVariantFromValue(const T&) [with T = QQmlListModelWorkerAgent::VariantRef]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
qml/qqmlvmemetaobject.cpp:597:61: warning: 'QVariant qVariantFromValue(const T&) [with T = QList<QObject*>]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
jsruntime/qv4engine.cpp:1319:66: warning: 'QVariant qVariantFromValue(const T&) [with T = QObject*]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
jsruntime/qv4engine.cpp:1350:60: warning: 'QVariant qVariantFromValue(const T&) [with T = QList<QObject*>]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
items/qquickitem.cpp:8396:78: warning: 'QVariant qVariantFromValue(const T&) [with T = QObject*]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
items/qquickitem.cpp:8693:80: warning: 'QVariant qVariantFromValue(const T&) [with T = QObject*]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
items/qquickgenericshadereffect.cpp:126:69: warning: 'QVariant qVariantFromValue(const T&) [with T = QObject*]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
items/qquickgenericshadereffect.cpp:127:55: warning: 'QVariant qVariantFromValue(const T&) [with T = QSize]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
items/qquickopenglshadereffect.cpp:713:69: warning: 'QVariant qVariantFromValue(const T&) [with T = QObject*]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
items/qquickopenglshadereffect.cpp:714:55: warning: 'QVariant qVariantFromValue(const T&) [with T = QSize]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
qquickcustomparticle.cpp:416:89: warning: 'QVariant qVariantFromValue(const T&) [with T = double]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
qqmlenginedebugclient.cpp:403:47: warning: 'QVariant qVariantFromValue(const T&) [with T = QQmlEngineDebugObjectReference]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
Task-number: QTBUG-74043
Change-Id: I14cb7d7c1fb8dc6321e32208a7de15f6bdb19065
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is needed in order for the wheel handler to have the same behavior.
Change-Id: I42851789787b8da96618d82227b34c53ace15e9b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Clarified that contentHeight and contentWidth define the size
of the table but not the view's. The view's width and height defines
the size of the viewport, while the contentWidth and contentHeight
defines the size of the table based on the size of the data model.
Change-Id: I17aa84d7e7efcb9369f96ff3b1206e9965015c8f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I9ba374f0c652628b7c84c36893c32b22529e384f
|
| |\|
| | |
| | |
| | | |
Change-Id: I910618824785f9119b1e1da9a82e998fd645a96f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If currentIndex is quickly assigned a different index and then the
previous current index again, it should not move.
Fixes: QTBUG-74508
Change-Id: I8d610e3fe452c8631e082c648e77d2cb70ae57c5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |\|
| | |
| | |
| | | |
Change-Id: I2f0b4f8543a448c9acffe0932e0fd67c0b7412f4
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
634b59f187c8697f03a606cbacb5f0a69650ea7c caused a significant
performance regression during layout of any Text item with RichText,
by calling QQuickTextDocumentWithImageResources::setPageSize() with an
accurate width in ensureDoc(); but ensureDoc() is called multiple
times, and doesn't need to calculate actual layout. The accurate
width is needed (at least) when doing layout of HTML tables that
contain percentage-based column widths. For that purpose it's enough
to set the correct "page" size in updateSize().
Fixes: QTBUG-74638
Task-number: QTBUG-72457
Change-Id: I34ab085316018576eba64a67200c527bb64b9533
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For multiline texts with word wrapping, it is not so meaningful to add
breaks in the last line if it is anyway going to be elided. Fix by
using the WrapAnywhere strategy for the last line for such situations.
Fixes: QTBUG-72736
Change-Id: I1263c81277b6ca89ba461529fced1094263c026f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Promoted TableModel as another alternative
- Added \readonly commands
- Minor edits
Change-Id: Iaa1a320daa8b9afb17ace4273fdc33ca35b9c59c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/compiler/qv4compileddata_p.h
src/qml/jit/qv4baselinejit.cpp
src/qml/jit/qv4jithelpers.cpp
src/qml/jsruntime/qv4lookup.cpp
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4runtimeapi_p.h
src/qml/jsruntime/qv4vme_moth.cpp
src/qml/qml/qqmltypemodule_p.h
Change-Id: If28793e9e08418457a11fc2c5832f03cab2fcc76
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I16820387279ca616af6ab379874c247c83df4a2f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/compiler/qv4codegen.cpp
Change-Id: I604517d0948fb5056ce36cc104f13ac956fbcc24
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I939cba4ccdb5408a5a6a47f1324538462f51e35a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |\ \
| | | |
| | | |
| | | | |
refs/staging/5.13
|
| | |\|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/qml/compiler/qv4codegen.cpp
src/qml/animations/qsequentialanimationgroupjob.cpp
Change-Id: I8b76e509fd7c8599d4cef25181d790ee28edab54
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If QQuickItem::grabToImage is called from QML,
QQuickItemGrabResult is created but was never deleted.
Adding a deleteLater() right after dispatching the callback
ensures that QQuickItemGrabResult objects are deleted.
Task-number: QTBUG-73723
Change-Id: Ifda85599098f2b679ae5f22e1d47a73962ed0a85
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This happened if the "real mouse" was never moved, since moving the real
mouse caused it to update the internal
QQuickWindowPrivate::lastMousePosition. If the window never got any
mouse events, it would therefore fail to generate proper hover events.
However, if the window got exposed under a mouse cursor it would generate
a hover enter event. We therefore update lastMousePosition when that
happens also.
Change-Id: I77d9b1bd779a813756c4056b015f2e81664b6d36
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes: QTBUG-74008
Change-Id: Ib232b723e4a246db0312145ef475ce81cd5f1a5f
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QQuickFlickable::setContentX/setContentY used !=/== to compare qreal, which would
trigger binding loop warnings while using bi-directional property bindings.
Fixes: QTBUG-74128
Change-Id: I224a924e11c93cf047478ba0e09e10e57eedabde
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|