| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Idc4521e142603ee37a71acdae63ec750fa970d71
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the 'basic' and the 'windows' render loop the scene graph
context is shared. Because of this we cannot start deleting textures
after the first window is synchronized as it may contain textures
needed by the another window, which is not yet synchronized.
QWindowPrivate::syncSceneGraph() is not calling endSync() anymore
as it doesn't know whether it is the last window or not. Instead
the renderloop is now responsible for calling endSync() once this
is safe to do.
Change-Id: Icb50ebfb447c928e38b41df7e26f3bfafdb4a811
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
People are often confused why eg. the objects from:
window->contentItem()->findChildren()
are not included in window->findChildren(). This change connects
the item tree to the window's object tree to make findChild() and
findChildren() produce expected results. The same technique is
already used for QQuickFlickable's contentItem.
[ChangeLog][QtQuick][QQuickWindow] Set the window as the QObject-parent
of the contentItem to ensure consistent behavior for calling
findChildren() on QQuickWindow and QQuickWindow::contentItem.
[ChangeLog][QtQuick][QQuickView] Set the window's contentItem as the
QObject-parent of the rootObject to ensure consistent behavior for
calling findChildren() on QQuickWindow::contentItem and
QQuickView::rootObject.
Change-Id: Idb7834eb5e560088ca849e6ce90e6fa3b3ae3e91
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit e6acf80136db9f667d0d4664f6c68065355d6811.
This breaks behavioral compatibility.
Task-number: QTBUG-61083
Change-Id: I0161d536502bab31aaf4ebc38f91e6c8842f72b0
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|\
| |
| |
| | |
Change-Id: I3f77593ca944114534fff5df26bbb09150ee4400
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit ee6b07b3ce8ba80632868181d45d96253acb1064.
This is to be integrated after the qtlocation change to remove the
dependency on this private function.
Task-number: QTBUG-57253
Change-Id: I756681fb2595d1326b7e5206bac57ccc318c0a46
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I52c591fff08a0cbf426aa53354850fb4b5f130c1
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This can be reverted as soon as the relevant qtlocation change is
integrated.
Task-number: QTBUG-57253
Change-Id: I72b71f61ba8fe421ac57c963801176098fe9f11c
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|/
|
|
|
| |
Change-Id: Idf3315be104e058315d82893443e1c27d1d79f2e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
With two or more windows, if events are being delivered to each, the
grabbers can be different in each. We need unique instances of the
QQuickPointerEvent objects for each window to avoid losing the grab state in
the parent window while delivering a synthesized event to a subwindow, for
example.
Change-Id: I51da1212d573853969e32ad78f5b219d979a8a5c
Task-number: QTBUG-57253
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes tst_TouchMouse::hoverEnabled.
It turns out that the problem is that
QQuickWindowPrivate::flushFrameSynchronousEvents would deliver artificial
hover events which (due to the nature of the function) would arrive
without being synchronized with the test. This should not be a problem as
such, but there was one bug: the hover event would also be sent in case
of a touch release event.
The definition of when to "pretend hover" is a bit shaky, but we should
definitely not send hover events after touch releases. By clearing
lastMousePosition instead of setting it to where the touch point is
released we no longer receive bogus events.
Task-number: QTBUG-55350
Change-Id: I4dea54740e37182f66c4a729d7b06a1c770c34a9
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I04122218499733856136f5a49b72707a0e8885e5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
| |
Change-Id: Ia852d86d9b9585a1d3d9b07eb8b48361d61c5671
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since 5.8, it has been possible to set the scene graph backend using
QQuickWindow::setSceneGraphBackend instead of using the environment
variables.
This caused some trouble with modules that need to know which backend
is used and relied on the environment variables or command line options
for getting this information. One example of such a module is
Qt WebEngine, which crashed because it ended up trying to use OpenGL
resources with the Qt Quick scenegraph software backend.
Task-number: QTBUG-60232
Change-Id: Ia7c4860b16a9ce6fe9af73dfe5a5d2d19ebf5bfd
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
| |
Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
| |
qquickwindow.cpp:4198: warning: Can't link to 'Qt.application'
Change-Id: I159ce3e432c8d88280dfd0b9de5831f33216ccad
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ib3d81ad33a6ba28d891da91271a64d5fcc4874e6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now set the QImage devicePixelRatio so the content is correct on all
screens.
Task-number: QTBUG-53795
Change-Id: If94edf901da1285afe9bb847b8973d568a2b7082
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an item (such as Flickable) filters its children's mouse events,
sometimes the mouse event may be one that is synthesized from a touch
point. If that touch point is already grabbed, then in the context
of childMouseEventFilter QQuickWindow::mouseGrabberItem() should return
the item which has grabbed the touchpoint from which the mouse event
was synthesized. Otherwise, there was a regression in which an item
which can be dragged via touch (such as Slider in QQ Controls 2)
could have its grab stolen by a filtering parent, such as Flickable,
or the gesture recognizer in QtLocation. mouseGrabberItem() was
returning null because touchMouseId and touchMouseDevice were not
set, and the actual mouse was not grabbed.
If a touch event is used to synthesize a mouse event, and during
delivery an Item steals the grab of the synthetic mouse event, the
original grabber needs to be notified that it has lost the grab.
Task-number: QTBUG-59416
Change-Id: Ib121b06121df7593c0d549a6df42397b8ead1c45
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Trying to set the drop action and the accepted state in a overridden
dragMoveEvent handler, does not get propagated to the original
QDragMoveEvent, because the event passed to the handler is a copy.
This does not allow canceling the drop action in the move handler,
or change the proposed action to a different one. Changing these
values in the move handler is important to allow modifying the cursor
when moving / hovering above a possible drop item, depending on
user conditions.
Fix consists in copying the drop action and accepted values to the
original event, as well as removing the hard-coded setAccepted
(true) call.
Task-number: QTBUG-58260
Change-Id: I7a4bd4e68ee1023a36a63d3e835c282077e4187c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If you use MultiPointTouchArea to make a button component, or if you
do something similar by subclassing QQuickItem and handling touch events,
and you place such a component inside a Flickable, when the user presses
on the button and then drags far enough that the Flickable steals the grab,
the MPTA or custom item did not receive the touchUngrabEvent() callback.
Now it does, so now the button will go back to released state as a result
of having the grab stolen.
The situation here is special in that it's the only place where a touch
event is transformed to be treated as mouse in the future, usually it's
either treated as touch or mouse from the start.
When this happens, it's not enough to call setMouseGrabber because that
doesn't send touch cancel to the previous grabber. Instead we need to
explicitly call touchUngrabEvent to notify the touch handling item.
The explicit setting of the grabber which was there previously is not
needed, since grabMouse will update the grab based on touchMouseId.
tst_QQuickMultiPointTouchArea::inFlickable2 was already testing the
pressed state of the touchpoint when the grab is stolen, but it was
changed in 468626e99a90d6ac21cb311cde05c658ccb3b781; now that can be
restored, and we can also un-blacklist inFlickable, which was deemed
unstable in 6d163779711d4601931ae0f82910794fb2498136
[ChangeLog][QtQuick] MultiPointTouchArea, and any custom Item, will now
properly receive touchUngrabEvent() when the touch grab is stolen by
a filtering parent Item, such as a Flickable.
Task-number: QTBUG-57910
Change-Id: I4e1b23ed099f01e7eca2e8a0e7ab4c652ef00cfa
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently when removeGrabber is called with both mouse true and
touch true, the touch logic blocks the ungrab mouse from being
triggered as q->mouseGrabberItem() is then null.
Task-number: QTBUG-57797
Task-number: QTBUG-59098
Change-Id: Icb4d00cf876c9fd0930b50f927f68dfba172dc29
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/compiler/qv4ssa.cpp
src/quick/accessible/qaccessiblequickview_p.h
src/quick/items/qquickmousearea.cpp
src/quick/util/qquickanimatorjob.cpp
tools/qmlplugindump/main.cpp
Change-Id: I84474cf39895b9b757403971d2e9196e8c9d1809
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A QTouchEvent is allocated with a reduced subset of TouchPoints for
each Item to which we attempt to deliver it, and thrown away afterwards.
(Ιt's not efficient to heap-allocate it, but we can't avoid doing it
at all without changing behavior.) So now it's stored in a QScopedPointer.
Change-Id: I48badb493610d0a715e582a2eedae95e2006eb2b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
src/qml/jsapi/qjsengine.cpp:524: warning:
Undocumented parameter 'metaObject' in QJSEngine::newQMetaObject()
src/qml/qml/qqmlengine.cpp:1023: warning:
Undocumented parameter 'retCode' in QQmlEngine::exit()
src/qml/doc/src/qmlfunctions.qdoc:182: warning:
Undocumented parameter 'reason' in qmlRegisterUncreatableMetaObject()
src/qml/qml/qqmllist.cpp:393: warning:
Undocumented parameter 'at' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:393: warning:
Undocumented parameter 'count' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:402: warning:
Undocumented parameter 'at' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:402: warning:
Undocumented parameter 'count' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:402: warning:
Undocumented parameter 'append' in QQmlListProperty::QQmlListProperty()
src/qml/qml/qqmllist.cpp:402: warning:
Undocumented parameter 'clear' in QQmlListProperty::QQmlListProperty()
src/quick/items/qquickwindow.cpp:4461: warning:
No such parameter 'backend' in QQuickWindow::setSceneGraphBackend()
Also do some minor language editing.
Change-Id: I2e806d1a77e3c4264d709c27d2bfc4542a782716
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QtQuick] QWheelEvent in QQuickItem::wheelEvent now keeps
correct global position.
Task-number: QTBUG-58845
Change-Id: I7f88d5152927a157e2bd07ee4d5f2208be884eec
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The screen property can be used for both setting the initital screen, and
for reading out the current screen, so 'targetScreen' was not an ideal
name for this property.
Change-Id: I1b617085b1e8e0e437355740be5d3cee9379c47f
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickWidget is the primary example of a third case of rendering with
QQuickWindow: here the content goes to an FBO via the rendercontrol,
but there is still a window associated (the top-level widget's window)
in a way, and therefore the devicePixelRatio must be taken into account.
This amends ab54d0cab57121055914ff9a750f5ad975fe7525
Task-number: QTBUG-58442
Change-Id: Ic90147646aa9bd9c1fc6a3492ae8c3087a12832b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I9d87ed86e95b5901a86cc3aa65d7ac39b0b708c2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
An optimization revising 6f84a09dfbd15aac023580cf06e7b8c24f3b524c
Calling hoverMoveEvent every frame is too inefficient when an item
subclass is actually doing something there. For example, any
QtQuick-based Wayland compositor needs to notify its client windows
when hover state changes, so calling this method too often would
impose extra work to double-check whether it really changed or not.
Change-Id: I98b40a2083700e7a50820bd13154247444249e59
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_debugger/qv4debugjob.cpp
src/plugins/qmltooling/qmldbg_inspector/globalinspector.cpp
src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp
src/qml/qml/qqmlimport.cpp
src/quick/items/context2d/qquickcontext2dtexture_p.h
tools/qmleasing/splineeditor.h
Change-Id: I8f6630fcac243824350986c8e9f4bd6483bf20b5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, this would trigger a drag even if the touch point was quite
steady, since a rather steady finger could report a very small velocity
(usually between 0 and 1).
Change so that it will ignore velocity if it's not positive.
At the same time convert it to a template function since we want to also
use this for QQuickEventPoint later on.
Change-Id: Ibb2210813707399ae84e3422718c995897891060
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Instead use QT_CONFIG(foo). This change actually detected a few
mis-spelled macros and invalid usages.
Change-Id: I06ac327098dd1a458e6bc379d637b8e2dac52f85
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
6dda1b425867b76fb001b11f43836c56e24ab7a4 which aimed to fix this
was only a partial fix. We need to include the project matrix
and the device pixel ratio as well.
Change-Id: Icb4ebb386ded00bbd7b9056233b9798efc5a9ee6
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/jsruntime/qv4object_p.h
Change-Id: Iff4d3aba7710a999b8befdc493cbe959e1ce02f9
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/jsruntime/qv4string.cpp
The conflict resolution for qv4tsring.cpp is to essentially omit the
change of commit 64714ea431f2fd355ed27edc69dba4e992511e75 as the code in
5.8 already uses the add/mul_overflow functions.
This merge also reverts commit f4ac007f4a19bc095ff15d415a6629986de78e49
as we can deal with dead store elimination now.
Change-Id: Iee08c87cbe1a2ff23a73ce621d56262b4e007c56
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/qmldevtools/qmldevtools.pro
tests/auto/qml/qqmlconnections/tst_qqmlconnections.cpp
Change-Id: I12255c16716bd8a74e7047cdb1f9302a4d1ea827
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
qquickitem_before_paintNode returns the transform node for the rectangle
as child node. But the node has no parent. It leads to following assertion
case at QSGNode::insertChildNodeAfter(). But, I tested it in release mode,
so no assertion happened. So, Some node not be able to add group node
from this cause.
Task-number: QTBUG-56657
Change-Id: Ie032dc6c56984bcb58cfcd348ff532f56e39e5b8
Reviewed-by: Inhye Seo <inhye.seo@lge.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
tools/qmljs/qmljs.cpp
Change-Id: Ifa9e74bdb780eaff22fbc9ba1c514d0078a3fb29
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
tests/auto/quick/qquicktextedit/BLACKLIST
Change-Id: I0b9e5bea5da5d2666887c202e62d889b4aa56900
|
| | |\|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/quick/items/qquickwindow.cpp
tests/auto/quick/qquicktext/BLACKLIST
tests/auto/quick/qquicktextedit/BLACKLIST
Change-Id: I8bd68b0b5e853b7908791d2cbddd18dd527c76ae
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Noticed while debugging QTBUG-56075 on XCB. QQuickFlickable did not
receive timestamps for wheel events provided by XI2. This alone does
not fix the flicking speed issue with high-precision trackpads, but
is needed to be able to calculate the appropriate velocity.
Task-number: QTBUG-56075
Change-Id: I458e6302aee72863cdc1f8e8f7d99449016905a9
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/qml/jsruntime/qv4variantobject.cpp
src/qml/types/qquickworkerscript.cpp
src/quick/scenegraph/util/qsgdefaultpainternode_p.h
tools/qmljs/qmljs.cpp
Change-Id: I876242714ec8c046238d8fd673a5ace2455b2b59
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We keep track of the touch device and point ID, but didn't use them when
queried for the mouse grabber. When setting the grabber, also take touch
into account.
Qt Location's touch/mouse handling, when it called the grab
functions was not working correctly, because in QQuickWindow, we'd check
for the old grabber and due to not checking the device/id, we'd get the
wrong item, which would then result in the ungrab function not being
called.
When some item steals the grab for a touch point that was previously
accepted as a synthetic mouse point, there was a high chance we would
fail to deliver a mouse ungrab event.
Make sure to ungrab the mouse as soon as we find any point with the
corresponding ID. In addition, the multi point touch area tried to grab
ids which were invalid (-1), avoid that.
Task-number: QTBUG-55229
Task-number: QTBUG-56213
Change-Id: I73e4587bf4f94a65d88c5b60d93bc07743512e56
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This expands the test and fixes the code.
Before this patch, items would see the press event, but get the press
stolen again immediately.
Change-Id: Iece1d5ffbc09a98fb4bec8d810c7ad78b0f50afe
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Originally in the complicated version of this part of the code, the
event would always end up in the right place, since the grabber was kept
and events delivered reliably. Now we take device and point ID for the
grabs into account. When delivering a mouse event from a touch, we would
clear the pointer device and ID before trying to send the release, which
resulted in the release event never being delivered.
Change-Id: I9bc1b2a795023740f8fe3961d779bc8bff0dc35e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These methods do not modify objects.
Change-Id: Ibb2622cad6fbcec31c785f5d032304c648372350
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Qt Quick provides a Screen attached property to query information
about the screen an item's window belongs to. This is a good start,
but has two problems: it lacks some virtual desktop related info
(e.g. the position in the virtual desktop) and it cannot be used in
combination with the Window element in order to achieve a QML
equivalent of QWindow::setScreen().
Therefore add the missing virtualX and virtualY properties and
introduce Qt.application.screens. The latter is an equivalent to
QGuiApplication::screens() and is a JS array the elements of which
can be set as the value of the new Window.targetScreen property.
This means that a call like
window->setScreen(QGuiApplication::screens()[0]) translates to
Window { targetScreen: Qt.application.screens[0]; ... } when using the
Window type from QML. Screen addition or removal can be acted upon via
onScreensChanged.
QQuickScreenAttached has been split into two in order to allow reusing the
QScreen wrapping queries for other purposes as well.
Task-number: QTBUG-56115
Change-Id: I4b2fbd873315b40d0afe878da2fc50966c00e2e0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/qml/jsruntime/qv4qobjectwrapper.cpp
Change-Id: I1a125b2334532ec5de4af39c0d6628890f4d0587
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QQuickPointerTouchEvent::touchEventForItem() can return a nullptr
so we have to check for that wherever we use it. In this crash scenario
while doing some kind of touch gesture it gets delivered as a synth
mouse event to a custom item. When you release the last finger (or
release multiple fingers simultaneously), touchEventForItem() returns
nullptr because the fingers were no longer moving before the release,
and QQuickWindowPrivate::deliverTouchAsMouse() didn't check for that.
Task-number: QTBUG-56090
Change-Id: I7ada1f82711296722226fdc06d9c5add2422335b
Reviewed-by: Paolo Angelelli <paolo.angelelli@theqtcompany.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|