aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickwidgets
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-291-4/+23
|\ | | | | | | Change-Id: I70c0c672708522f7157849365cc53ee271d8e460
| * Fix missing QQuickWidget updatesLaszlo Agocs2016-06-271-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Having an animated QQuickFramebufferObject inside a QQuickWidget is currently broken due to losing update requests. The problems are introduced in 4b4cf31c7a4bcb89cabca09102c4e0a22ab0c6b1 where we may erroneously reset the updatePending false even though there may be an active triggerUpdate ticking via the 5 ms update timer. Task-number: QTBUG-54239 Change-Id: If84af8ec9c992761cfef9049de642a943f91cfe6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * QQuickWidget: Fix crash when there's an offscreen window, but no real window ↵Kai Koehne2016-06-231-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | context Fix crash when creating a QQuickWidget where the offscreenWindow context is valid, but the window shareContext is not. This happens e.g. when QWebEngineWidgets is loaded, that creates a globally shared context. Task-number: QTBUG-54020 Change-Id: Ieeba0c20d12cce220b22cdd76adaf87d1ab2649e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * QQuickWidget: Propagate screen changes.Morten Johan Sørvig2016-06-201-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is required to make Qt Quick pick up changes to the devicePixelRatio. Failure to do so prevents a proper update of text nodes, as seen in the Qt Creator welcome screen. Propagate the new screen to the offscreenWindow, offscreenSurface and context. [ChangeLog][QtQuick] QQuickWidget now properly repaints text on high-DPI screen changes. Change-Id: I8f0b9f2f8768f99e293de018ae56d50ddf20b43a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Lazy create QmlEngine on accessing rootContextAllan Sandfeld Jensen2016-06-272-7/+9
| | | | | | | | | | | | | | | | | | 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>
* | Create QmlEngine lazy in case one is not neededAllan Sandfeld Jensen2016-06-242-12/+17
| | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-191-3/+7
|\| | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4engine_p.h Change-Id: I89ffccd699bee675732758d039e22224b275d60d
| * QQuickWidget: update() when resetting updatePending in showEvent()Ulf Hermann2016-05-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | If updatePending is set, that means we want to call update() eventually. If we just reset updatePending without calling update(), we produce UI glitches. Change-Id: Ie7353b2f5da567e196dbee8c113920e0e4702304 Task-number: QTCREATORBUG-16022 Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Add a note saying that QQuickWidget::rootObject can return nullAlbert Astals Cid2016-04-041-1/+3
| | | | | | | | | | Change-Id: Ia5db63c39287d23c3ed279aa5671a9e7bc7b26c0 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-071-2/+2
|\| | | | | | | Change-Id: Icfa1d61fcc286c3418d4a625de11d2191336fa60
| * Make more ctors explicitMarc Mutz2016-03-031-1/+1
| | | | | | | | | | | | | | | | | | Added explicit where it was missing. This is not a source- incompatible change, because code that breaks by this is a bug. Let's not have this sitting around in an LTS. Change-Id: Ic198750717799126b4e37817845a8ee4684d631f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Make public headers compile with -Wzero-as-null-pointer-constantMarc Mutz2016-03-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | ... or equivalent. QtBase 5.6 headers already compile that way, so let the other modules follow suit. Task-number: QTBUG-45291 Change-Id: Ied526fb2d7adc3a68946d6843a6bd6f475ebf864 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7J-P Nurmi2016-03-011-5/+1
|\| | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro Change-Id: I3ca8f0422828191b7e19539c25f31f2d048e9f18
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-5/+1
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: I5928f853a1d13b6a73533f9c6f6eae9da0e52a26 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-194-56/+80
| | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Rewrite inspector serviceUlf Hermann2016-01-121-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The inspector service had bitrotted to a point where there was little code to be rescued. Apparently it was never really finished and quite some code didn't make any sense. This change removes some features that were unused or didn't work correctly: 1. Panning and Zooming with mouse wheel and touch interaction. This might be useful in some contexts, but the implementation was so broken that it wasn't worth trying to fix it. The whole idea of doing this on the layer of QQuickItems is not so great because there is no distinction between spontaneous changes triggered by the application and debugging interaction triggered from outside. It might be better to implement such functionality on a lower level, e.g. in the renderer. 2. Reloading the scene with debug changes. Use one of the other debug services to change properties. Clearing the component cache is a rather drastic measure and not necessary here. In turn, we get support for inspecting multiple windows, and all subclasses of QQuickWindow are supported now. Also, show-on-top works now. Task-number: QTBUG-33376 Change-Id: I65497f49c6b46128a600b0e3a31483eeef40313c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-181-7/+16
|\| | | | | | | | | | | | | Conflicts: tests/auto/quick/qquicklistview/tst_qquicklistview.cpp Change-Id: I9588a3e2c7d590e031dd4c66905a79f0d74d3ac8
| * Fix crash when grabbing a QQuickWidget before it is shown.Friedemann Kleint2015-12-151-6/+7
| | | | | | | | | | | | | | | | Do not access null share contexts. Task-number: QTBUG-49929 Change-Id: I1c88563df71dd6c5d186b6f2ae147614fcc6ded9 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * QQuickWidget: Update position of offscreen window in show().Friedemann Kleint2015-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | The position of the offscreen window needs to be exact as it is used for popup menus by the Quick Controls. Updating the position in show amends the situation. Task-number: QTBUG-49097 Change-Id: I416021d6632ede45b1f9dc6b35a3ff15394566ee Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * Make QQuickWidget update inside a proxy widgetLaszlo Agocs2015-12-081-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Performance will be bad but this allows having simple scenes in a QQuickWidget embedded into a QGraphicsView (ouch). This kind of setup is strongly discouraged but QWidget already has the readback-based fallback for render(), so we only need to add the update re-routing to the proxy widget. Task-number: QTBUG-49724 Change-Id: I1c80cb0a7b401327304ec7b92c77dc654d843b33 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | QSGRenderLoop: Remove the exhaust delay timer.Robin Burchell2015-12-071-0/+8
| | | | | | | | | | | | | | | | | | This was replaced by a proper requestUpdate mechanism at the QWindow level, so it isn't needed anymore. As we can't remove the QQuickWidget version so easily, document the exhaust_delay reasoning, as it is not too obvious. Change-Id: I0a15237bacae47dc87af6b6018a7bc1b47eb8d2d Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-071-3/+5
|\| | | | | | | Change-Id: Ica75a71062d0613e415f2433c5c22c2e251b37cd
| * Create proper offscreen surface the first timePaul Olav Tvete2015-11-271-3/+5
| | | | | | | | | | | | | | | | | | | | | | Make sure the context is correct the first time we create the offscreenSurface, so we don't have to destroy it immediately afterwards and create a new one. This causes problems with some (probably buggy) drivers. Task-number: QTBUG-48440 Change-Id: I4790e1b02738fc84aca201430548934d8054e2b2 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-211-1/+36
|\| | | | | | | Change-Id: I3567f741394f912d4312460e85555b6c39b61cb4
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-11-171-1/+6
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/quick/util/qquickimageprovider.cpp Change-Id: I7ca4e49468b5ba697208287be4684e42b9900023
| | * Doc: added documentation to undocumented functionsNico Vertriest2015-11-021-1/+6
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-36985 Change-Id: I219375d405fbfb53611c0138698e955d9cd5d821 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * | QQuickWidget: Emulate visibility for offscreen windowUlf Hermann2015-11-161-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | QmlProfiler: Collect useful input eventsUlf Hermann2015-10-301-7/+14
|/ / | | | | | | | | | | | | | | | | Just "Key" or "Mouse" as only attributes of input events are not very useful. This change adds some additional information and also collects input events from QQuickWindow. Change-Id: I062bbffeef3fa87776bc8be33f2321edf793faa2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Add missing "We mean it" comments to private headers.Friedemann Kleint2015-10-061-0/+11
| | | | | | | | | | | | Task-number: QTBUG-48594 Change-Id: Ifc207938de7f0c8995fc712df92665f222612647 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-021-1/+6
|\| | | | | | | | | | | | | Conflicts: src/quickwidgets/qquickwidget.cpp Change-Id: I3e2326bc86a9d3adaafbe3830b75ce9afa81c45b
| * Assert that context exists in QQuickWidgetPrivate::renderRobert Loehning2015-09-221-0/+2
| | | | | | | | | | | | Task-number: QTCREATORBUG-15040 Change-Id: I401aec030840175efda2e2f0ec60569ce9c46b02 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * Don't try to render directly without context in showEventRobert Loehning2015-09-221-1/+4
| | | | | | | | | | | | | | | | | | | | Partially reverting db525935ccd64d2c5c674f8a66dbe7096d754e9f Task-number: QTCREATORBUG-15040 Change-Id: I6ced42a3d00bb1c419b2b0d4729bc4f5f3cf8bc7 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Fix up flawed TranslucentBackground usage in docs and examplesLaszlo Agocs2015-09-281-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the qtbase fixes, start doing things correctly in the QQuickWidget examples too. Remove the checkbox and use a --transparent command line argument (like in hellogl2). In addition --transparent --no_render_alpha can be used to verify the most problematic case: when alpha is present and the backingstore contains semi-transparent pixels in places where the underlying QOpenGLWidget is opaque. Here the result must still be an opaque pixel. This was previously ensured by a glColorMask call, now replaced by glBlendFuncSeparate in QPlatformBackingStore. Task-number: QTBUG-47276 Change-Id: Ia040f899405f73e95e957becee5df43683af9c39 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | QQuickWidget: do not render when there is no fbo due to no sizeLaszlo Agocs2015-09-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | It is not invalid to have a widget with a 0,0 size. The FBO logic already handles this: no FBO is created in this case, it will be done on a subsequent resize. However, we can still get to render() which is not currently prepared to handle this case. Correct this. Task-number: QTBUG-47588 Task-number: QTBUG-48059 Change-Id: Idd674c536847e5f293fec5a40aa3038600473c27 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | QQuickView/QQuickWidget::errors(): fix crashJ-P Nurmi2015-09-031-1/+1
| | | | | | | | | | | | Change-Id: Ie37ed5fac642931b658d2b738ddd45d23cda54c6 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Ulf Hermann2015-08-181-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Consistently use the override keywordThiago Macieira2015-07-191-2/+2
| | | | | | | | | | | | | | Clang doesn't like when it's inconsistent. Change-Id: Ib306f8f647014b399b87ffff13f23eebda07757b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Retrieve services from debug connector, not via static instance()Ulf Hermann2015-08-041-5/+7
| | | | | | | | | | | | | | | | | | 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>
* | Extract minimal abstract interfaces from debug services.Ulf Hermann2015-08-041-2/+2
| | | | | | | | | | | | | | | | We will access the services' functionality through those interfaces once they live in their own plugins. Change-Id: I0a0d7e73c07cb874b3b507cc4a9d304588c87bca Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Avoid multisampled contexts in QQuickWidgetLaszlo Agocs2015-08-042-1/+12
| | | | | | | | | | | | | | | | | | | | Like with QOpenGLWidget, not requesting a multisampled context unnecessarily avoids crashing with Mesa/Intel/EGL (f.ex. in the qquickviewcomparison example when enabling multisampling). Task-number: QTBUG-47509 Change-Id: Ia22110332f639a238cfb3b2c36916f65c00a7bbc Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* | Extract minimal interface from QQmlDebugServer and use it.Ulf Hermann2015-07-301-3/+3
| | | | | | | | | | | | | | | | | | | | This will allow us to move QQmlDebugServer into a plugin. The new QQmlDebugServer is the interface exposed to connection plugins. The interface exposed to services is renamed to QQmlDebugConnector, as technically it doesn't have to be a "server". Change-Id: Id508b8c0a6960228e889f45a437b73060392db39 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove static proxy methods from QQmlDebugServiceUlf Hermann2015-07-291-2/+3
| | | | | | | | | | | | | | | | | | They all internally map to one-liners and just add to binary size and complexity. Especially, the most used one, isDebuggingEnabled(), simply checks if there is a QQmlDebugServer::instance(). Change-Id: Ib269928e08506894d933f6696e34ff0d3acb048b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-06-301-1/+8
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/qml/qqmlengine.cpp src/quick/items/qquickitemsmodule.cpp tools/qml/main.cpp Change-Id: Ida8daf6b4d7e675385f2f5514c446e52dedaf136
| * Redirect the default FBO correctly with QQuickWidgetLaszlo Agocs2015-06-031-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similarly to QOpenGLWidget, functions like QOpenGLFramebufferObject::bindDefault() should bind the QQuickWidget's FBO, not 0, while rendering the scene graph. This becomes particularly important on platforms with surfaceless context support. Here offscreen surfaces are not backed by any surface. Therefore any OpenGL operation accessing the current draw framebuffer with FBO 0 bound may potentially crash, as there is no draw framebuffer at all. The distance field glyph cache exhibits this issue when running with EGL on Mesa: glViewport crashes when we render via QQuickWidget and the current framebuffer is reset to 0. The problem goes away when the code changed is to use bindDefault() - as it should have anyhow - and QQuickWidget is enhanced to communicate the "default" framebuffer to QOpenGLContext, just like QOpenGLWidget does. Task-number: QTBUG-46415 Task-number: QTBUG-43269 Change-Id: I35fe375a0870dadecc4a074dfdec122c6a4c92ab Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | Port from Q_ENUMS to new macro Q_ENUM.Friedemann Kleint2015-06-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | Remove Q_ENUMS in favor of the new Q_ENUM macro which provides registration as meta enum and a debug stream operator. QQuickXmlListModel::Status is left unmodified as porting it creates a link error in tst_qquickxmllistmodel. Change-Id: Id5e6192c9f85e7c94332508fbd91873ddda31e1a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-041-3/+13
|\| | | | | | | | | | | | | | | | | | | | | 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
| * Fix flickering when QQuickWidget becomes visibleJoni Poikelin2015-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | QQuickWidget used short delay before rendering. This caused black area to flash on the widget briefly. Instead of scheduling redraw, render scene immediately. Task-number: QTBUG-46387 Change-Id: I342d96a1aaef3244190221807b0d816815697623 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * Create contexts and pbuffers with the correct screen in QQuickWidgetLaszlo Agocs2015-05-121-2/+12
| | | | | | | | | | Change-Id: I8e9db998eee0af5f62c1384f2dcb2028254cc642 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-222-2/+48
|\| | | | | | | | | | | | | | | | | Conflicts: src/qml/qml/qqmlbinding.cpp src/qml/jsruntime/qv4arraybuffer.cpp src/qml/jsruntime/qv4functionobject.cpp Change-Id: Ic752e9dfd69b282093651c9234c110a49762f06d
| * Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Liang Qi2015-04-161-1/+1
| |\