| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It doesn't make sense to show hover feedback after releasing a
touchpoint just because the core pointer cursor happened to move along
with the touchpoint, so we explicitly set the hovered property to
false when the touchpoint is released. However the next mouse movement
will set it back to true again if the mouse cursor is still inside.
This is especially important for touchscreen-based haptic interfaces:
any hover feedback should be shown when a finger is dragged into an
interface element and hidden again when the finger is released.
Change-Id: Iff7f23f089466cc0da94d2a46690719f6d70cae2
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- avoid runtime conversion of float->double when initializing a qreal
- use qFuzzyCompare/qFuzzyIsNull to avoid direct comparison of
qreal values
- don't test a float value as a bool by implicit casting(!)
to check whether it's zero
- avoid implicit casts and old-style casts
- fix whitespace around comments
Change-Id: I7b0e77d38d5c86aa1a71833738deb5f0f893b507
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
| |
The screenshot shows it having a transform origin at the top left,
which is not the default.
Task-number: QTBUG-78209
Change-Id: Id9a2d854493caba240960afa7ba400dc656ac0ab
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
| |
Change-Id: Iaef8dfa6a984eb709aaae35a94641c3e0183254e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
| |
Change-Id: I50c6a5c7a55cfc481ff572113c58951983671cdc
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
| |
Change-Id: I0be124dfcafa2244531281ffd1ac6b559d82c604
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
| |
Change-Id: Ia78012271705b3f977011a89d3156faa79a35f29
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
| |
Change-Id: I715ad71153151a0e6521bc182227d9fa2dc0a3ea
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/jit/qv4baselinejit.cpp
src/qml/jsruntime/qv4vme_moth.cpp
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
Change-Id: Iec7cd27ddad0281bd3b7833fb6b252f66a6ae5d6
|
| |\
| | |
| | |
| | | |
Change-Id: I6472cd72b27c69257efe54376e428274ebf68050
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the alpha value for the background color of a text element is 0,
we don't need to create a rectangle node to represent it, as the
rectangle will be invisible anyway.
[ChangeLog][QtQuick][QQuickTextNodeEngine] don't create a new
rectangle node as the background of text, when the alpha of it is
0
Fixes: QTBUG-76137
Change-Id: I40c624ee8f61740fd07e7d3751a78b6224882913
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Just do the typical
do {
[..stuff..]
} while(0)
in the macros
Fix the places that didn't have semicolons.
This should eliminate some compiler warnings complaining about
excessive semicolons
Change-Id: I6b0e7a55badfd0f80c3cd0e9e1da42dc41945485
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These might not be complete yet, but they do fix the
qdoc errors.
Change-Id: I75b0f0f7709a371149a6f7c82adfff9fe88408ea
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
That is, from the time between the last mouse move event to the mouse
release, the velocity will be linearly discounted/depreciated until it
reaches 0 at QML_FLICK_VELOCITY_DECAY_TIME, which is currently 50 ms.
50 ms seems like a long time if the user meant to flick and release
immediately (in practice it might be more like 4 ms), and also a
short time if the user meant to "dwell" before releasing.
If we try to translate the fake physics to real physics, this would be
approximately equivalent to saying that if you slide a flat plate on an
air hockey table with one finger, and then stop suddenly, its momentum
_would_ cause it to keep moving under your finger for up to 50ms (except
that it doesn't, because our timeline doesn't "tick" until after the
release); and yet if you hold it for longer than 50ms, it will stop
right on the spot. That's not quite realistic, but feels OK for fake
physics (like the rest of the physics in Qt Quick).
Also add the qt.quick.pathview logging category, which will just log
the velocity calculations for now (but is intended for anything else
in PathView that seems worth logging later on).
Task-number: QTBUG-77173
Task-number: QTBUG-59052
Change-Id: Ie86f18d3b3305874b698c848290e0fd3beda94de
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ia53b43cb2e81053ffa8709767d84ac1e5db72d27
Fixes: QTBUG-78243
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/jsruntime/qv4engine.cpp
src/quick/handlers/qquicktaphandler.cpp
src/quick/items/qquicktableview.cpp
Done-With: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Done-With: Ulf Hermann <ulf.hermann@qt.io>
Done-With: Shawn Rutledge <shawn.rutledge@qt.io>
Change-Id: If9558a33f01693ce96420c094e0b57dfff0626cd
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It should use the events own timestamps instead of a QTimer. It should
give a more accurate measurement of tripleclicks, in addition to that
qtestlib synthesized events (with timestamps) are respected.
Task-number: QTBUG-77389
Change-Id: I4f553ec17b53a00b55519bb8082f1373aa9d130d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After recent changes to QDoc, it now correctly warns about missing
documentation for QML method parameters - fix all of these and also
do some minor language editing.
Remove duplicated entries for
- \qmlmodule Qt.labs.qmlmodels
- \group qtjavascript
as they were causing issues.
Change-Id: I55cd670cc8a0cc6427cdb7945dbd7c28ea94f796
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The current logic was based on the idea that if both rowHeight-, and
columnWidthProveders were set, we didn't have to relayout the items
at the end of a rebuild. Because in that case, the row and column sizes
would already be correct after the initial load.
This assumption turns out to be false, because the providers are
allowed to return -1 to signal that the size of a row or column should
use default values (meaning, calculated by TableView). And for those
cases, we need to do a relayout at the end of a rebuild.
Fixes: QTBUG-77074
Change-Id: I0e0f2fdca1cfa9e98f2a0a2b227c3715c16a70f9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |\|
| | |
| | |
| | | |
Change-Id: I0ae0a162e133cffd8fb1a2c6b70826e50f06facd
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1599dde865a7c5454a52b45b2cc877a8c43fb10d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It was intended to inherit most of the docs from SinglePointHandler; but
the hovered property is unique.
Task-number: QTBUG-68072
Change-Id: I4b49569c9966b9252a61e40e8b07ef98f34849a4
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: QTBUG-42798
Change-Id: If10f06450f1e50893e5ba103e7c8c2d83667a651
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is one of the several commits, replacing the
"Qt Quick Controls 2" instances with "Qt Quick Controls".
Change-Id: I2e1f1e53bd7756331320f5447dbdabef36dfcb66
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-78089
Change-Id: I22f8bb5ec0af33397df14e064a0306bd4c5a5ef5
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that a suitable function is introduced in QRhi, call it.
Change-Id: I6328a4be90418015384b472655c9b8ad34a07e12
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ib87fde45e5ebfed596c5d0146d6987e5390bac64
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8973798996b6c775f425819af1d6a09f1773a9dc
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I499c21083faf6096a0dc3b8ee5682dd5cbcd3ce7
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
What we are doing for now is setting ExternalContentsInPass always.
This way vulkanunderqml works as expected. For applications that do
not integrate external rendering this means that there is now an
additional secondary command buffer per render pass, but we can
live with this for now.
Later (Qt 6) there should be a way to declare this (that the application
will want to issue native rendering stuff) up front in QQuickWindow or
somewhere.
Change-Id: I736741f9b0eee2f8295b046bacdce862e6a546f5
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Important for Vulkan and (upcoming) examples like vulkanunderqml.
Change-Id: I5b6c978f38175eca76efe059aa83bb7158724752
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The autotest in 811b15bd161d12e5c85e093f9f492a0c4fa278d6 only tested
what happens if the vector of polygons is passed via a QVariant to the
PathMultiline paths property. But the intention (as documented) was to
literally support an object with Q_PROPERTY(QVector<QPolygonF> paths ...)
and binding that paths property to PathMultiline.paths. In that case
it appears in QQuickPathMultiline::setPaths() as a QVariant<QJSValue>,
canConvert<QVector<QPolygonF>>() returns false, then
canConvert<QVariantList>() returns true. Nevertheless each variant
in the QVariantList is a QPolygonF, as expected. So we need another
check to detect this case. Also added a test specifically for that.
Fixes: QTBUG-77929
Change-Id: I84d0a45326d5f007b8ba3cc9bb1fbccf0345d812
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a C++ model object can make a vector of vectors of points available
directly, and it is bound to a PathMultiline's paths property to provide
the view layer, it's a waste of time to convert it to a QVariantList of
QVariantLists and back again. Changing the type of the property to
QVariant instead of QVariantList enables an extensible set of supported
types: all those that make sense.
Fixes: QTBUG-77929
Change-Id: If749c2171173e7b9933fc9ecdf6d2741dc1c7500
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a C++ model object can make a vector of points available directly,
and it is bound to a PathPolyline's path to provide the view layer, it's
a waste of time to convert it to a QVariantList and back again. Changing
the type of the property to QVariant instead of QVariantList enables an
extensible set of supported types.
Task-number: QTBUG-77929
Change-Id: I2453b59e047ec3310070e943f6934c9ddcd1ffaa
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- semicolon after switch is not necessary
- a switch that covers all possible cases should not have a default
case: that way if someone adds another enum value, she needs to
think about what it means in that switch
- hopefully it was not intentional to ensure that targetRect has
integral size in the PreserveAspectCrop case; it's not an explicit
cast, so it looks like a mistake
Change-Id: Ie7525137e826ed3ea03ac1dc9d2563e791379b42
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Say hello to createTextureFromNativeObject(). This is the future
replaecment for createTextureFromId(), and is capable of operating
on both the direct OpenGL and the RHI code paths.
In practice this allows creating a QSGTexture that wraps - but does not
own - an existing VkImage, ID3D11Texture2D*, MTLTexture*, or GLuint.
Change-Id: I500ee4c76da67eca1a70599a30b03d7b126b570d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This class will probably go away in Qt 6. "Probably", because it is
not yet clear if/how an alternative will be provided.
Change-Id: Iba205c394a97bf8d2c1001f8f42ad26be6841b09
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id9d6ce4a531d2cd1b79b3bb9224a5567ead42799
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I7ed2c190ffe9ddd83aeee28de3c5d87269ec53ee
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is no need for this. The few internal users can get it via
QSGTexturePrivate.
The original thinking was based on QRhi* being a public API, but that
is not the case in the near future. So avoid introducing a public API
relying on QRhiTexture.
This of course makes it impossible to retrieve the native object under
a QSGTexture (as textureId() is not used anymore when rendering with the
RHI). For that, an alternative approach will be introduced later on.
Change-Id: I0099b23424cafa4958f78c03300b0c934b60d92c
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQuickWindow::setScenegraphBackend() may be called before QQuickWindow
gets a chance to create a render loop. If QSG_INFO (the env.var.) is
used instead of the logging category (qt.scenegraph.general), some logs
are not printed because the code that enables the logging category is not
yet run.
To prevent confusion, make sure the logging category gets enabled before
the first potential qCDebug. In the worst case we check twice but that's
fine.
Change-Id: Ibfc0af05050adc9766c30a2d15c778b2a51823fe
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
...in order to avoid a validation layer warning with Vulkan when
visualizing overdraw on a scene that includes drawing points (like
some types of particles).
Change-Id: Ia0a40f850ce5f7a0374c7b8779d5342f191c6973
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-38913
Change-Id: I25ada92de8c7d7186c9b083b8a8ccc4427945b28
Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This property was added in Qt 5.14.
Change-Id: I48ebc614490e67440419965983126740c4443d0e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In order to avoid complexity we want those to match. We can easily
"rename" the meta object revisions as those are not public interfaces.
Change-Id: I48e063d49758c7bacd9b7816bf5541cf67e07b0d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This way we can figure out from the metaobject that this signal actually
notifies about target changes.
Change-Id: I2151990e906e375f807b2d952e8f183a19529394
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
AnimatedImage already had these properties, but some typically non-animated
image formats such as PDF, TIFF and ICO can also support multiple pages.
In either case, the currentFrame property can be used to select a specific
frame or page. However an AnimatedImage uses a QMovie to do that, whereas
a plain Image uses QQuickPixmap. So the accessors need to be virtual in
order to have these different implementations.
[ChangeLog][QtQuick][Image] Image and BorderImage now have currentFrame
and frameCount properties which can be used to step through the frames of
multi-page image formats such as TIFF, WEBP and ICO.
Task-number: QTBUG-77506
Change-Id: Id4d95a99a26a862957e44b1bd8ffe06d7eababef
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-76491
Change-Id: I69b0c4ec7c03f9421b18828516e064eff2b45518
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQuickImageBasePrivate::updateDevicePixelRatio() assumes that only
SVG or an image provider can provide a scalable image. Now that PDF
will be supported, we can add it to the list.
Change-Id: I9a6df7c58cb9db0e8d4d159c138bedd481281d92
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I505ba09d6a0144f18bf29cda2f549c8b69ada1a5
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|