| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Task-number: QTBUG-75171
Change-Id: I68ef40cd9fe47d26cd4c83064367c2a3272efe0f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In tst_qquickwidget::enterLeave(), retain the changes from
9d2a929fa4dd0beae3c30fb08d4ed4df7368ea4f rather than the cherry-pick.
Don't hard-code 5000ms timeout on qWaitForWindowExposed(): it's the
default anyway.
Task-number: QTBUG-64397
Change-Id: I67e4566c2c7f9e361a79e3a091436c3391f39786
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry-picked from commit 239b8f6ee869dbe1f27ec4fa5d5247eff502c47b)
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Take the available screen geometry and window borders into account
when positioning windows and moving cursors.
Task-number: QTBUG-64397
Fixes: QTBUG-72305
Change-Id: Ia2b35a0deb144ab7194f7658d599888ff9d4a706
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now, AA_SynthesizeMouseForUnhandledTouchEvents has only affected
behavior of QGuiApplicationPrivate::processTouchEvent, but had no
effect in Qt Quick. QQuickWindow also accepts the touch event
just to make sure that QGuiApplication will not synthesize mouse
from touch, because it would be redundant: QQuickWindow does that
for itself.
Now we make it have an effect in Qt Quick too: skip mouse synthesis
if it is set to false. This provides a way to simplify the
event delivery. If you set it false, then you cannot manipulate old
mouse-only items like MouseArea and Flickable on a touchscreen.
(You can of course use event handlers for that.)
[ChangeLog][QtQuick][QQuickWindow] You can now disable touch->mouse
event synthesis in QtQuick by calling
qGuiApp.setAttribute(Qt::AA_SynthesizeMouseForUnhandledTouchEvents, false);
This will simplify and speed up event delivery, and it will also prevent
any and all interaction with mouse-only items like MouseArea and
Flickable on a touchscreen.
Task-number: QTBUG-52748
Change-Id: I71f1731b5abaeabd9dbce1112cd23bc97d24c12a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When pressing tab/backtab then the offscreen window needs to pass it on
to the item in case it will handle this for changing focus. If it does
not handle the event, it will pass it back for QWidget handling.
[ChangeLog][QQuickWidget] Tab presses are now passed on to the root
item to be handled first. When not handled by the root item, it will
be handled like a standard QWidget.
Task-number: QTBUG-45641
Change-Id: Ief0552ba496c87ab0b6e12aa8e67ef44b5a20ae2
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From now on we prefer nullptr instead of 0 to clarify cases where
we are assigning or testing a pointer rather than a numeric zero.
Also, replaced cases where 0 was passed as Qt::KeyboardModifiers
with Qt::NoModifier (clang-tidy replaced them with nullptr, which
waas wrong, so it was just as well to make the tests more readable
rather than to revert those lines).
Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/shapes/qquickshape.cpp
src/imports/shapes/qquickshape_p_p.h
src/qml/compiler/qqmlpropertycachecreator_p.h
src/qml/jsruntime/qv4value_p.h
src/quick/items/qquickloader_p.h
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
tools/qmlprofiler/qmlprofilerapplication.cpp
Change-Id: Iafc66ae84bf78630ed72a986acb678e9d19e3a69
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
Change-Id: I64f7c1d776fab3cad4530f291b93afd2a8fb8533
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure events are delivered as expected and that synth-mouse
events have the right source().
Task-number: QTBUG-64241
Change-Id: I95a073ce0faea2111c8e1aca42fa44c1b529a6ec
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
src/qml/compiler/qqmlirbuilder.cpp
src/qml/compiler/qqmlirbuilder_p.h
src/qml/compiler/qqmltypecompiler.cpp
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4codegen_p.h
src/qml/compiler/qv4compileddata_p.h
src/qml/compiler/qv4compiler.cpp
src/qml/compiler/qv4compilercontext_p.h
src/qml/compiler/qv4isel_moth.cpp
src/qml/compiler/qv4jsir.cpp
src/qml/compiler/qv4jsir_p.h
src/qml/jit/qv4isel_masm.cpp
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4functionobject.cpp
src/qml/jsruntime/qv4runtimecodegen.cpp
src/qml/jsruntime/qv4script.cpp
src/qml/jsruntime/qv4script_p.h
src/qml/qml/qqmltypeloader.cpp
src/quick/items/qquickanimatedimage.cpp
src/quick/items/qquickanimatedimage_p_p.h
src/quick/scenegraph/compressedtexture/qsgpkmhandler.cpp
tests/auto/qml/qmlplugindump/qmlplugindump.pro
tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp
tools/qmlcachegen/qmlcachegen.cpp
tools/qmljs/qmljs.cpp
Done-with: Shawn Rutledge <shawn.rutledge@qt.io>
Done-with: Lars Knoll <lars.knoll@qt.io>
Done-with: Ulf Hermann <ulf.hermann@qt.io>
Change-Id: I010e6525440a85f3b9a10bb9083f8e4352751b1d
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4compileddata_p.h
src/qml/debugger/qqmlprofiler_p.h
src/qml/jsruntime/qv4engine.cpp
src/qml/memory/qv4mm.cpp
src/qml/qml/qqmlcomponent.cpp
src/qml/qml/qqmlobjectcreator.cpp
src/qml/qml/qqmlobjectcreator_p.h
src/qml/types/qqmldelegatemodel.cpp
src/quick/items/qquickitem_p.h
src/quick/items/qquickwindow.cpp
tests/auto/quick/touchmouse/BLACKLIST
tests/benchmarks/qml/holistic/tst_holistic.cpp
Change-Id: I520f349ab4b048dd337d9647113564fc257865c2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQuickWidget thinks of itself as a toplevel window, so it cannot process
the offsets in a parent window.
Amends 41293196b4db1aa7a0c616af312875c484639644.
Task-number: QTBUG-65800
Change-Id: I8c5dcb8f44a6cbdb58bcc956d8263e68d8180bec
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/quick/pointerhandlers/flickableinterop/data/FlashAnimation.qml
tests/auto/quick/pointerhandlers/flickableinterop/data/Slider.qml
tests/auto/quick/pointerhandlers/flickableinterop/data/TapHandlerButton.qml
tests/auto/quick/pointerhandlers/flickableinterop/data/flickableWithHandlers.qml
tests/auto/quick/pointerhandlers/multipointtoucharea_interop/data/pinchDragMPTA.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/DragAnywhereSlider.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/FlashAnimation.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/Slider.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/draggables.qml
tests/auto/quick/pointerhandlers/qquickdraghandler/data/multipleSliders.qml
tests/auto/quick/pointerhandlers/qquicktaphandler/data/Button.qml
tests/auto/quick/pointerhandlers/qquicktaphandler/data/FlashAnimation.qml
tests/auto/quick/pointerhandlers/qquicktaphandler/data/buttons.qml
tests/manual/pointer/content/FakeFlickable.qml
tests/manual/pointer/content/FlashAnimation.qml
tests/manual/pointer/content/MomentumAnimation.qml
tests/manual/pointer/content/MouseAreaButton.qml
tests/manual/pointer/content/MouseAreaSlider.qml
tests/manual/pointer/content/MptaButton.qml
tests/manual/pointer/content/MultiButton.qml
tests/manual/pointer/content/ScrollBar.qml
tests/manual/pointer/content/Slider.qml
tests/manual/pointer/content/TapHandlerButton.qml
tests/manual/pointer/fakeFlickable.qml
tests/manual/pointer/flickableWithHandlers.qml
tests/manual/pointer/flingAnimation.qml
tests/manual/pointer/joystick.qml
tests/manual/pointer/main.cpp
tests/manual/pointer/main.qml
tests/manual/pointer/map.qml
tests/manual/pointer/map2.qml
tests/manual/pointer/mixer.qml
tests/manual/pointer/multibuttons.qml
tests/manual/pointer/photosurface.qml
tests/manual/pointer/pinchDragFlingMPTA.qml
tests/manual/pointer/pinchHandler.qml
tests/manual/pointer/singlePointHandlerProperties.qml
tests/manual/pointer/tapHandler.qml
tests/manual/pointer/tapWithModifiers.qml
tests/manual/shapestest/main.cpp
Change-Id: I4f233a521305fab1ebfecbac801da192434ed524
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickwindow.cpp
src/quick/items/qquickwindow_p.h
tests/auto/quick/quick.pro
Change-Id: Ia12f20e95fb151bbbc75dbf187364a924cd0bc7a
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-64397
Change-Id: I28268ea87b81dd1f7dbf8bb5a8eb421962cc5f31
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
By passing the enter and leave events to the offscreen window it will
enable mouse areas inside a QQuickWidget to know when the mouse has
actually entered or left the area if it is covering the whole item.
Task-number: QTBUG-45557
Change-Id: I670ebe30e367e919c73fed449bf2bed7ca42b5fd
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some tests needed fixing
- Disabled tests too heavy for qemu
- Skipped tests requiring OpenGL without support from the platform
- Skipped tests requiring functionality on broken offscreen platform
- Skipped tests that take too long on qemu + software renderer
- Blacklisted tests for created bugs QTBUG-63049, QTBUG-63053
QTBUG-63055 and QTBUG-63057
Task-number: QTBUG-60268
Change-Id: I0346b0e436cf286d7d9cbc140acf324a4087cfb9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
| |
Task-number: QTBUG-47722
Change-Id: I612f89945961a3995878c424bf27dbbedf8375c8
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
| |
Test that it actually didn't grab a blank pixmap,
as happened with QOpenGLWidget in the past.
Change-Id: Iee8e7ff2f3fa2f2223a2a284fec96d96f62e36a6
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
|
|
|
|
|
| |
This is now essential since otherwise these events are simply lost.
Amends 0dbc575c1a8359534761167a5f5f1e29abedd51d
Task-number: QTBUG-60988
Change-Id: Ib1d99d8fcd5bb92c9b52977796f2910f0fe71c48
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now many cases outside of text input fields are simply broken,
e.g. one cannot use a TableView or other controls with the keyboard.
Removing the seemingly unnecessary focusObject() solves all problems
since this way key events get delivered to the QQuickWidget which in
turn forwards to the QQuickWindow.
Directly routing into the QQuickWindow's focusObject(), which can be
any item in the scene is wrong since it skips a big part of
QQuickWindow's event handling logic.
Task-number: QTBUG-45757
Change-Id: Ie53b9003d156ab019fa4b9cf461e209990e738f7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/context2d/qquickcanvasitem.cpp
src/quickwidgets/qquickwidget.cpp
tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
Change-Id: Idf279cb88e0df2a383489af5b6afdf04d04ae611
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A common usecase appears to be to set variables in the rootContext
before loading a url in a QQuickWidget. We there need to ensure there
is a QmlEngine to set variables on when this is attempted.
Change-Id: I07aff2104313eeb3fab902ea3c6043c3c82c50f7
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickWidget may be used with just a root item, and won't need a
QmlEngine in that case. So if one isn't given to the constructor, only
create one when one is needed for evaluating source.
Change-Id: I96cfe5e2473d5d53fc2d52d4646d36c43f4ccb8a
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QOpenGLWidget has offered a lot more fine-grained control over the lifetime
of the OpenGL context it uses for rendering. In practice QQuickWidget also
requires at least a part of this. To unify the behavior when it comes to
reparenting to a different top-level window, add the bail out condition for
AA_ShareOpenGLContexts to QQuickWidget as well.
[ChangeLog][QtQuick][Important Behavior Changes] QQuickWidget now behaves
identically to QOpenGLWidget when it comes to handling window changes when
reparenting the widget into a hierarchy belonging to another top-level
widget. Previously the OpenGL context always got destroyed and recreated
in order to ensure texture resource sharing with the new top-level widget.
From now on this is only true when when AA_ShareOpenGLContexts it not set.
Task-number: QTBUG-54133
Change-Id: Ifda0db76fdf71dae1b9606fb5d59cee6edc2f5a4
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)
Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
Change-Id: I9588a3e2c7d590e031dd4c66905a79f0d74d3ac8
|
| |
| |
| |
| |
| |
| |
| |
| | |
Do not access null share contexts.
Task-number: QTBUG-49929
Change-Id: I1c88563df71dd6c5d186b6f2ae147614fcc6ded9
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I3567f741394f912d4312460e85555b6c39b61cb4
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The "visibility" and "visible" properties are exported to QML and
should return useful values.
Task-number: QTBUG-49054
Change-Id: I3c474885653c4b57659b02f183293e3186edc972
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: Id27c36e55fcc68cc1140b0d9bec00b8ae6b52ed0
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ie37ed5fac642931b658d2b738ddd45d23cda54c6
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|/
|
|
|
| |
Change-Id: I691b8ddff60b5f16f06d32b379c76e87f44f84a9
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replace Q[TRY]_VERIFY(pointer == 0) by Q[TRY]_VERIFY(!pointer).
- Replace Q[TRY]_VERIFY(smartPointer == 0) by
Q[TRY]_VERIFY(smartPointer.isNull()).
- Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b) and
add casts where necessary. The values will then be logged
should a test fail.
Change-Id: Ib9f4c2486af23c47990be4b9e004b965de226dcc
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's a number of APIs (such as all the scenegraph-related
signals) that are currently missing from QQuickWidget.
Instead of duplicating every API in QQuickWidget, simply expose
the underlying offscreen QQuickWindow.
Task-number: QTBUG-45260
Change-Id: I1a89fe600ce675963ea24ee6dd56d6ca4fea9cd2
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
This seems to work now.
Task-number: QTBUG-39917
Change-Id: I01bbc9b7ddfbb003265479eaa2282e39eebf35c5
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.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>
|
|
|
|
|
|
|
|
|
| |
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3 & LICENSE.GPLv2
- Removed LICENSE.GPL
Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
|
|
This introduces the need for a grab function in QQuickWidget.
The render control has one already so there is no reason for not exposing
this in QQuickWidget too.
This also means that a relatively meaningful autotest can be now be added.
[ChangeLog][QtQuick] Added QQuickWidget::grabFramebuffer() for capturing the content into a QImage.
Task-number: QTBUG-37589
Change-Id: I5ca8192c0ef8dab4f076a4db27b64aebe3359bb8
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|