| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
When we synthesize a press/release from touch, the item believes that
the mouse never leaves, so if we have several mouse areas, they may
all claim that they contain the mouse at the same time. The solution
is to synthesize a move back to the actual mouse position.
Task-number: QTBUG-40856
Change-Id: I43610d95aa383f847db18b387405b0c4e91cea0f
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After qtbase:c7e5e1d, QEvent::ShortcutOverride is no longer sent
directly to the focus object, but to the window. But since
QQuickWindow didn't catch it, it ended up nowhere.
This patch will implement the same strategy as QWidgetWindow, and
let QQuickWindow forward the ShortcutOverride event the same way
as key events.
Note that even if the event was never being delivered, the corresponding
key events would still end up in the focus object and trigger shortcuts.
But if a window global shortcut existed with the same key sequence, it would
grab the shortcut instead of the override, which was wrong.
Change-Id: I4ad7b3879adac14d88a3fbce5851409d0963d163
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: I2dd69745427d8f5e882303d2a4de3935ddca02e9
Task-number: QTBUG-48787
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
The handling should be taken care of at the QPA level, not in the
individual QWindow subclasses.
Change-Id: Iff564dac0c997eb97b426962d126e88c4703cdaa
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a Flickable delayed a mouse press event and then replayed it later,
ancestor items of that Flickable would receive the press twice:
once when filtering events of the Flickable, and again when the event
was replayed to a descendent of the Flickable. Extend the protection
against a Flickable receiving that repeat event to all ancestor items
so this doesn't happen.
Change-Id: I438c146130c24a7d47e9e8712a1ab08f3d915a06
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
|
|
|
|
|
|
|
|
|
|
| |
The logic is already handled in QGuiApplicationPrivate::processKeyEvent(),
so doing it in the QQuickWindow is redundant. In addition, the logic will
soon move to QPA which will break this code if left in.
Change-Id: I4d22362dedfa62ada4ab4683e15c6c0cad45e4b5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quickwidgets/qquickwidget.cpp
Change-Id: I3e2326bc86a9d3adaafbe3830b75ce9afa81c45b
|
| |
| |
| |
| |
| |
| |
| |
| | |
Allow to compile QtDeclarative module with QT_NO_GESTURES
define enabled.
Change-Id: I5335f97c675d75c71c81edcc8307338ed3571663
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When setting an FBO, the size of the window should be irrelevant,
so we need to use the renderTargetSize to specify the viewport and
device rect.
Change-Id: Id76736cfaf6c511439bb8af80e3c641025d9d547
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/debugger/qv4debugservice.cpp
src/qml/jsruntime/qv4value_inl_p.h
src/qml/jsruntime/qv4value_p.h
src/qml/memory/qv4mm.cpp
src/qml/memory/qv4mm_p.h
src/qml/qml/qqmlnotifier_p.h
src/qml/qml/qqmlproperty.cpp
src/quick/items/qquickflickable.cpp
src/quick/items/qquicktextedit.cpp
tests/auto/quick/qquickwindow/BLACKLIST
The extra changes in qqmlbinding.cpp are ported from changes to
qqmlproperty.cpp that occurred in parallel with writeBinding() being
moved to qqmlbinding.cpp.
Change-Id: I16d1920abf448c29a01822256f52153651a56356
|
| |
| |
| |
| |
| |
| |
| | |
Clang doesn't like when it's inconsistent.
Change-Id: Ib306f8f647014b399b87ffff13f23eebda07757b
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: I4a9a46913b589b14c879620848d76b31e435ee02
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For the non-threaded renderloops, we there might be a timer firing
before the animationController is cleaned up through deleteLater()
which will then reference the deleted QQuickWindow. Rely instead on
direct and explicit cleanup at the right time in each render loop.
Change-Id: Id81daddae78ce3922d6a932fb21200f2dc7955bb
Task-number: QTBUG-33723
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will allow us to remove the instance() methods and create the
services from factories in plugins. Also, it allows us to remove the
isDebugging member from QQmlEnginePrivate.
Change-Id: Id9d9820a910902ecfdb1e8175e215093ce3d0965
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ia8551e28dcd237a536038ed7f658a3d1164706c6
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Opaque textures can be a lot faster, so give this option without
forcing the user to reimplement her/his own QSGTexture class.
The old behavior was that createTextureFromImage() disregarded
TextureHasAlphaChannel and looked solely at the image's format. To
keep this behavior intact, we introduce a second opt-in flag to switch
textures from auto-detect to false, namely TextureIsOpaque.
[ChangeLog][QtQuick][QQuickWindow] Add TextureIsOpaque option to
createTextureFromImage()
Change-Id: I248db4bc5f7920864b6aa8d831ce24d23ad370ef
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: Id4820ac458f48b10f2bf457144767efdef9e2c07
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead, turn the node build function into a generator which takes state and
returns the next node to operate on.
This removes ~10mb of transient allocations from the delegates_rect creation
benchmark.
Change-Id: I70fb46b1f134b82d781247e951785fc49576324a
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickItem already keeps track of whether the polish flag has been set, so the
set provided no functional advantage here, and would have served to pessimize
processing of polish if anything - now adding items to polish and processing
them becomes constant-time operations.
The only operation that is pessimised is removing polish off an existing item:
but this should not be too horrid, unless the number of items to polish stacks
up tremendously.
Change-Id: I5d26dc899570a1e0186018850c21659e1f60a6b3
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/jsruntime/qv4engine_p.h
src/quick/items/qquickitemsmodule.cpp
src/quick/items/qquicktext.cpp
src/quick/util/qquickpixmapcache.cpp
tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
Change-Id: I90ecaad6a4bfaa4f36149a7463f4d7141f4a516a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Delivering a delayed touch event from QQuickWindow can cause the event loop
to recurse (e.g if it starts a drag'n'drop). This again can cause new touch
events to be delivered to QQuickWindow, and new delayed touch events to be
stored.
This results in the following:
(1) Receive new touch press event in QQuickWindow, and set
delayedTouch to be a copy of it
(2) Deliver delayedTouch to items. This can cause an event loop
recursion.
(3) While inside the recursion, QQuickWindow receives another new
touch press event. We then redeliver and delete the current
delayedTouch event created in (1), and set delayedTouch to be
a copy of the new event.
(4) Later we return back from (2), and try to access
delayedTouch (or actually a reference to the touchpoints inside
it, qquickwindow.cpp:1958). Since the event was deleted in (3), we
have a crash.
This patch will ensure that we set delayedTouch to 0 before delivering
it (so it cannot be redelivered), and that we safely delete it afterwards
when it goes out of scope. By converting delayedTouch to a QScopedPointer
we also ensure that the event is not leaked upon destruction.
Task-number: QTBUG-45877
Change-Id: Ic372a39a0eb127abfd12cec2d51b3743ad83194d
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Output a warning message and clear
QQuickWindowPrivate::itemForTouchPointId should unreleased touch points
exist when QEvent::TouchEnd is received.
Task-number: QTBUG-45856
Change-Id: I8a05220e4258c0ca401f79a2c32ec4f1d43fa444
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
Windows render loop already had this capability.
Change-Id: I9391e218568cb6951f9f25d74e732aa5ddf9b5bc
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
NoStage allows scheduling jobs for immediate execution on the
renderer thread.
[ChangeLog][QtQuick][QQuickWindow] Added a render job stage: NoStage
Task-number: QTBUG-44953
Change-Id: I918c79f1d095bc27d911a88d81376d146a04313c
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
|
|
|
|
|
|
|
|
|
| |
qt.quick.touch produces a lot of output. This instead tracks only
the changes to the itemForTouchPointId hash: which touchpoints are
being sent to which items.
Change-Id: I5119b4716a43fb35fd6c6712bf7d4ec46d762a9f
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous positions in the delayed touch event should be from
the first touchpoint which is being delayed, not updated based on
subsequent updates that are being merged into it. Clarified
naming and comments in this section.
Task-number: QTBUG-40167
Change-Id: Ie419267e4a33277f9154bd80f5bce104e52d773e
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
| |
Change-Id: I3f9219dd2fed15094c2f7d670a981406e601959b
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
| |
Change-Id: I7bcc209b0c6e77cf6d974af85a19487345a48975
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Native gestures are distinct from QGestureEvent, and we might need
another deliver method for those eventually.
Change-Id: I969c9b830d1dc7a91ffbc6cae2bdb68552a58344
Reviewed-by: Andrew Knight <qt@panimo.net>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Turning off support for wheel events does not affect gesture support.
Change-Id: I64a110327179d62a69864979396b92472c53285e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Reviewed-by: Andrew Knight <qt@panimo.net>
|
|
|
|
|
|
|
| |
Avoid repeated instantiation of end() in loops, use variable instead.
Change-Id: I6ab1fe2b82406d5ee91710a0333587ffb82c04d4
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
LICENSE.GPLv2
examples/qml/networkaccessmanagerfactory/view.qml
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4stringobject.cpp
Change-Id: I5d12f436d60995e51d5c2f59d364e9cbc24f8e32
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an item is deleted as a result of an updatePolish() call, it will
be removed from the itemsToPolish set. However, updatePolish()
internally works on a copy of the itemsToPolish set because changes to
the set would invalidate its iterator. Because it is a copy will still
contain the deleted item.
Fix this by simplifying the algorithm to instead pick items one by
one from the itemsToPolish set until it is empty. The recursion guard
has been increased because we're not decrementing it for every single
QQuickItem::updatePolish() call.
Task-number: QTBUG-42913
Change-Id: If7ab7f7616b01daf4d3ed843f927c163dfb03843
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-43810
Change-Id: I154ffa83512435c3e455937a3f81931a45d9e368
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I55265f16de153289b3e6f80d510d428f48492bbb
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qtdeclarative/src/quick/scenegraph/coreapi/qsgmaterial.cpp:384: warning: Class RenderState has no \inmodule command; using project name by default: QtQuick
qtdeclarative/src/quick/scenegraph/util/qsgsimplerectnode.cpp:39: warning: Class QSGSimpleRectNode has no \inmodule command; using project name by default: QtQuick
qtdeclarative/src/quick/scenegraph/util/qsgtextureprovider.cpp:38: warning: Class QSGTextureProvider has no \inmodule command; using project name by default: QtQuick
qtdeclarative/src/quick/items/qquickwindow.cpp:3156: warning: Cannot find 'closing(...)' in '\fn' void QQuickWindow::closing()
qtdeclarative/src/quick/items/qquickwindow.h:160: warning: No documentation for 'QQuickWindow::closing()'
qtdeclarative/src/quick/items/qquickwindow.cpp:3134: warning: Can't link to 'Window.closing()'
qtdeclarative/src/qml/qml/qqmlfileselector.cpp:90: warning: Undocumented parameter 'parent' in QQmlFileSelector::QQmlFileSelector()
Change-Id: I42cf1e06c9e7a63327acc470bd33a726acc69bfc
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Flickable can now handle wheel events which come from touchpads,
providing pixel deltas instead of angle deltas. It will interpret
them as distance to flick, rather than using an average-velocity
physics model as it does when handling events from a physical mouse
wheel. This enables much finer control and limits the tendency
to "zing" way out of bounds accidentally. It is achieved by
refactoring the direct-drag code which is needed for mouse dragging
and for touchpad gesture dragging (and eventually touchscreen dragging)
into a new internal drag() method.
[ChangeLog][QtQuick][Flickable] Flickable handles pixel deltas from
trackpad gestures as drags, for a more native feel
Task-number: QTBUG-22407
Change-Id: Ia613ddb25f46d452603f7cb567b74e80c95a346c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If true, scroll gestures coming from the operating system can cause
wheel to be emitted; if false, only an actual mouse wheel will do that.
The photosurface example demostrates the use case.
1) the flick gesture on a trackpad should flick the underlying
Flickable, not zoom an individual image
2) mouse wheel should zoom an individual image if the cursor is
pointing to it
3) dragging an image on a touchscreen should be possible, independently
of flicking the Flickable. This means multiPointTouchEnabled should be
true, so we cannot interpret multiPointTouchEnabled to mean that
multipoint touch scroll gestures should be disabled.
Change-Id: Ie063556866f07b3fbadc53990b110edeed532710
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PinchArea is the first Item where we handle a QNativeGestureEvent,
so QQuickWindowPrivate::deliverGestureEvent is added to deliver these
events in the same way as the other deliverXEvent methods.
For now there is not a separate virtual event handler in QQuickItem,
because QNativeGestureEvent is not universally available, so it's
necessary to handle this event type in QQuickPinchArea::event().
updatePinchTarget() contains code factored out from updatePinch()
to do the necessary tranformations on the Item which was set as
pinch.target in QML.
So far the QNativeGestureEvents are generated only on OSX, so
the behavior of the PinchArea on other platforms is unmodified.
On OSX the intention is that we do not need to enable multiple-touch
events in order to use any of the common 2-finger gestures, and the
"feel" will be similar to that of gestures in native applications.
[ChangeLog][QtQuick][PinchArea] Pinch gestures are recognized by
the operating system on OSX
Change-Id: I693526ea120a9144beb7666afeab6256caa73e51
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
childMouseEventFilter already gets touch events, and it is logical to
send the hover events which are essentially mouse events. By also
sending hover events to the filter it allows an item to track the mouse.
Existing implementations of childMouseEventFilter should not be effected
by more events being sent to it as checking for the event type should be
practiced in all overloads.
Change-Id: Ie00aceef05e41e4e8f6d80007343c5a5b9f566cf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QtQuick] Added Window.width and Window.height attached
properties
Change-Id: I3ef590a0d3e6fa660ed88992d5ae843deb09c7bc
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/jsruntime/qv4arraydata.cpp
src/qml/jsruntime/qv4context_p.h
src/qml/jsruntime/qv4globalobject.cpp
src/qml/jsruntime/qv4internalclass.cpp
src/quick/items/qquicktext_p.h
src/quick/items/qquicktextedit_p.h
src/quick/items/qquicktextinput_p.h
Change-Id: If07e483e03197cb997ef47a9c647a479cdb09f4c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Several more methods/slots are inherited from QWindow but are not
documented for the QML Window type. Also some other documentation
improvements.
Task-number: QTBUG-40093
Task-number: QTBUG-42426
Change-Id: Ib753be269cbc41ee540e6556e0ef483758eefe62
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |\
| | |
| | |
| | | |
Change-Id: I89bbb2977350a03c156d531f810d08a5560ffbb3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fractional scale factors are not as broken as previously
believed, especially for Qt Quick. Keep the door open
for finding a way to support it at some point in the
future.
Change-Id: Ifeadcc53175ac6c25ea0288d5fe1966e3de408f9
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
| |/
| |
| |
| |
| | |
Change-Id: Ic8c8e6d7a9d99216292b8b4faa2926d849333a05
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous code was wrong, as it cleared focus from the active
focus item directly. By doing so we would only clear focus inside
the focus scope that surrounded the item, but leave the scope itself
with active focus (which would then be the focus object). The intended
result is rather to end up with the root as focus object.
Change-Id: I455a8939f8bc6c48765119b995aa781aee6d1e70
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is essential to the Qt Quick Controls for implementing floating
text selection handle popups.
Change-Id: Ibae65110a5db6d65dacd197fef3ad567d11342dc
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Aborting when the extra wasn't allocated was just wrong. In addition
we didn't check for visibility/effectRefs which brought this
implementation out of sync with the children we added/removed in
the ChildUpdateMask block up above.
Change-Id: Ie174a683bb3712e392fece1636844e30574a1406
Task-number: QTBUG-42207
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|