aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
Commit message (Collapse)AuthorAgeFilesLines
* QQuickCanvas: Fix requestAnimationFrame documentationv5.9.0-beta3Robin Burchell2017-04-211-2/+2
| | | | | | | The type here is an int, not a long. QML doesn't have a long type at all, too. Change-Id: I7aea92819f5e2afadddd7b79289a304875d4297f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Doc: remove reference to no longer existing propertiesNico Vertriest2017-04-211-2/+0
| | | | | | | | qquickmultipointtoucharea.cpp:170: warning: Can't link to 'horizontalDiameter' qquickmultipointtoucharea.cpp:170: warning: Can't link to 'verticalDiameter' Change-Id: Ib1cf7c634457f1557631d0e6ffdc942917746e04 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Silence GCC 7 warnings about implicit fallthrough in Qt codeThiago Macieira2017-04-204-2/+6
| | | | | | | | | | | | | | | This only deals with Qt code. MASM has a lot of those left. We should just update from upstream instead to get the fixes. qv4regalloc.cpp:660:52: warning: this statement may fall through [-Wimplicit-fallthrough=] if (leftSource->type == DoubleType || rightSource->type == DoubleType) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ qv4regalloc.cpp:666:13: note: here case OpBitAnd: ^~~~ Change-Id: I7814054a102a407d876ffffd14b6b0e2d6b03689 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add \since to QSGTexture::AnisotropyLevelFriedemann Kleint2017-04-191-0/+2
| | | | | | | Amends change 5ef3265cd46de6579399562429e26961d6f13885. Change-Id: I6c75273e45e235084e5aea53e83669bab85798ee Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QQuickShortcut: Initialize idRobin Burchell2017-04-191-0/+1
| | | | | | Change-Id: If1a8b91c11ca3d84e80691e247c0281a966a2939 Task-number: QTBUG-60206 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix warning for -no-feature-cursorStephan Binner2017-04-181-0/+2
| | | | | Change-Id: Idc2ab95d0ea1e556995e7bcd29b5cbcd82bc28f6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix warning for -no-feature-desktopservicesStephan Binner2017-04-181-0/+1
| | | | | Change-Id: Ia3a590a564ab9bde9b19c4e7955420a7d1eacb2b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix warning for -no-feature-shortcutStephan Binner2017-04-181-0/+2
| | | | | Change-Id: I2f6f38af1fb9ecc8a763f9c2d0a45200fd6374af Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QQuickAnimatorProxyJob: make sure to stop when detached from a windowJ-P Nurmi2017-04-181-3/+11
| | | | | | | | | | | | | | The previous attempt to fix this (05a88ef) had to be reverted (7fe0d1a) because Q_ASSERT(m_controller) in updateCurrentTime() failed in QQC1 auto tests. It seems that m_controller can be null when m_internalState is still State_Starting. Task-number: QTBUG-59034 Task-number: QTBUG-59953 Change-Id: I07ceec8fe4e66ba0571092b4385d8140035a4b33 Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Aleix Pol Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* QQuickText: optimize updateLayout()Anton Kudryavtsev2017-04-181-8/+2
| | | | | | | | QString::replace(QChar, QChar) was fixed in c12f42e91b146109cc9ee5d050928672776ca1ee So no need to use pre-condition. Change-Id: I98eadfc89350194832b229afe061dc0bd01f1bc9 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Doc: Fix property name from "url" to "source"Leena Miettinen2017-04-121-1/+1
| | | | | | | URL is the type of the property, not its name. Change-Id: Id76bdb70031a3cacdfd0951ff132e57a512ae208 Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
* Doc: Write URL in capital letters in textLeena Miettinen2017-04-121-1/+1
| | | | | Change-Id: Ibac6a3f8ddf4b441dd8359162094eb786fda84d7 Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-04-116-1/+23
|\ | | | | | | Change-Id: Ib3d81ad33a6ba28d891da91271a64d5fcc4874e6
| * Fix hidpi support for opengl window grabbingFilipe Azevedo2017-04-095-0/+7
| | | | | | | | | | | | | | | | | | | | 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>
| * Add missing override specifiersChristian Strømme2017-04-031-10/+10
| | | | | | | | | | | | | | | | | | | | Build failed on Android when using clang. error: '<name>' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] Change-Id: I080f8145b5a1c12bacf99f9c08f9e78271e5837a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Fix touch event delivery in childMouseEventFilterFrederik Gladhorn2017-03-161-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | Since moving to pointer events, we would deliver all events inside the filter function. The expected behavior though is that only points that are already grabbed, pressed inside or grabbed by children would be seen by the filter function. This broke using multiple touch aware items at the same time (2 pinch areas for example). Change-Id: I42a430f196ebbcf0a83a6dc8aca319e433ad52ad Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Use new ImageProviderWithOptions also for sync image loadingEirik Aavitsland2017-04-064-6/+17
| | | | | | | | | | | | | | | | | | | | | | When the new extended image provider api was added, only the async image loading function was changed to use it. This commit makes also the sync image loading function check for the new api, and use it if the provider implements it. Change-Id: I982e4de05b8119e1668e2b982d2d62b03a52b302 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | Fix crash in QQuickPixmapReader & friendsAlbert Astals Cid2017-04-051-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | In 9c50216c7bbbdb2bb51d4485286bf09e12fb5b62 I made the mistake of not copying providerOptions inside QQuickPixmapReply as is done for requestSize and url since i thought that i could just use the data pointer to access it, but that's not possible since data can get deleted in other thread so we need to copy the value Change-Id: Ie1d466b210108e1af1f0c8d3c618d4516448b73d Reviewed-by: Donald Carr <d@chaos-reins.com> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | Make scaled image size calculation available to image providersEirik Aavitsland2017-04-053-26/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | When reduced size image loading is requested through Image::sourceSize, the precise calculation of the scaled size to load is somewhat complex. This commit moves that calculation into a function accessible to image providers, so that they may use the same scaling as Quick's default image loading, and avoid code duplication. This is a code restructuring only; no behavior should change. Change-Id: Ic965fb2b6c22a5d21add41b8395e3a3842697d20 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Remove revision from Drag.imageSource propertyPaolo Angelelli2017-04-051-1/+1
| | | | | | | | | | | | | | | | | | Having the REVISION in the Q_PROPERTY seemingly breaks the feature. QML property revisioning does not work for attached (nor grouped) properties (QTBUG-33179). Change-Id: I770826e86936b59fb1a25885d7c6b123b5467fe2 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Fix QQuickCanvasItem::toImage() high-DPI captureMorten Johan Sørvig2017-03-312-8/+11
| | | | | | | | | | | | | | | | | | | | | | Make toImage() work for devicePixelRatio > 1 by scaling the source rect. Also set the devicePixelRatio on the returned image. Task-number: QTBUG-59170 Change-Id: I0c8ccd562c1cf1e89ff37ca1806b46296480b0d0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Simplify shortcut override handlingJoerg Bornemann2017-03-311-45/+1
| | | | | | | | | | | | | | | | | | Use QInputControl::isCommonTextEditShortcut to determine when to accept a ShortcutOverride event. This removes the code that was duplicated from QWidgetTextControl. Change-Id: Ia4a251e3870803bdb7b3943075003fddabae924b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Doc: add new enumeration descriptionsNico Vertriest2017-03-303-0/+8
| | | | | | | | | | | | | | | | | | | | | | qsgmaterial.cpp:416: warning: Undocumented enum item 'DirtyCachedMaterialData' in QSGMaterialShader::RenderState::DirtyState qsgmaterial.cpp:416: warning: Undocumented enum item 'DirtyAll' in QSGMaterialShader::RenderState::DirtyState qsgnode.cpp:104: warning: Undocumented enum item 'DirtySubtreeBlocked' in QSGNode::DirtyStateBit qsgnode.cpp:139: warning: Undocumented enum item 'RenderNodeType' in QSGNode::NodeType qsgengine.cpp:75: warning: Undocumented enum item 'TextureIsOpaque' in QSGEngine::CreateTextureOption Change-Id: Ia51d414151e42eddc5fa1198d3bad3ecbc20e30a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Flickable: don't steal grab from item with keepTouchGrab setShawn Rutledge2017-03-271-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | Sometimes filterMouseEvent can be given a mouse event which was synthesized from a touch point which was already grabbed. In such cases, if the grabber has keepTouchGrab set, respect it. This makes it possible again for a QQControls 2 slider to be draggable inside a Flickable which is also draggable in the same direction. Task-number: QTBUG-59416 Change-Id: I93b7fd9cb846b1e574615154f9a54316b60c0477 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | in childMouseEventFilter, touchpoint grabber is also the mouse grabberShawn Rutledge2017-03-271-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge "Merge remote-tracking branch 'origin/5.8' into 5.9" into refs/staging/5.9Simon Hausmann2017-03-252-8/+5
|\ \
| * | Merge remote-tracking branch 'origin/5.8' into 5.9Simon Hausmann2017-03-152-8/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qqmltypecompiler.cpp src/qml/compiler/qqmltypecompiler_p.h src/qml/qml/qqmltypeloader.cpp src/qml/qml/qqmltypeloader_p.h Change-Id: I4894555ab7a0879b56bbda7a46d16d1c40c19e7c
| | * Doc: Removed non-working reimplementation suggestionsChristoph Sterz2017-03-152-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSGSimpleMaterialShader::uniformMatrixName() and QSGSimpleMaterialShader::uniformOpacityName() cannot be reimplemented since they are non-virtual. Removed the suggestion, so nobody is tempted to do so. Added a Remark in the header to fix towards intended behavior in Qt6. Change-Id: Id23c8d54728095f143f1d0e0520590303cff91a0 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* | | Build fix for configure -no-openglPaul Olav Tvete2017-03-222-0/+4
| | | | | | | | | | | | | | | | | | | | | Change-Id: I21f111a04d9e2ce367d7677dbb48abbd591a4e71 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Joni Poikelin <joni.poikelin@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | QQuickEvents: Fix documentation of types for MouseEvent and WheelEvent x/yRobin Burchell2017-03-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | These types are qreal, not int. Change-Id: I26569c40825ce098ea095b3d9dc9b84eb3870c02 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Flickable: fix doc statement about content anchoringNikita Krupenko2017-03-161-2/+4
|/ / | | | | | | | | | | Task-number: QTBUG-54101 Change-Id: I3b0a0225efb77003c1c80c1d5b94ab572f3cc785 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.8' into 5.9" into refs/staging/5.9Liang Qi2017-03-143-0/+3
|\ \
| * | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-133-0/+3
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/qml/qml/qqmlimport.cpp Change-Id: I26f8d18fe8af664ee8573116f182fe12b71e089a
| | * Fix build for -no-feature-quick-pathStephan Binner2017-02-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id57c9bc4421fc252ab02e2a0cfe00d08aef0176d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * Fix build for -no-feature-quick-shadereffectStephan Binner2017-02-273-0/+4
| | | | | | | | | | | | | | | Change-Id: I334603209818a8030ddb5b5b316cab596c328bf1 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Add features.quick-particlesPaul Olav Tvete2017-03-131-0/+8
| | | | | | | | | | | | | | | Change-Id: I78b30d254ed64acadcb2acc278ad1dfde55216ac Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Build fix for -no-feature-quick-pathPaul Olav Tvete2017-03-132-3/+9
|/ / | | | | | | | | Change-Id: Ib52d45a12b367fa08982535a69c14881beec597e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Build fix for -no-feature-quick-shadereffectPaul Olav Tvete2017-03-104-1/+6
| | | | | | | | | | Change-Id: Ie1f601c6ae4c6c5d8d23b14a6670979d9c24e209 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QtQuick scene graph: fix text native renderingOleg Yadrov2017-03-092-0/+151
| | | | | | | | | | | | | | | | | | | | | | | | Only 65536 vertices (65536 / 4 = 16384 characters) can be drawn in one draw call. This is why QSGDistanceFieldGlyphNode (renderType: Text.QtRendering) creates subnodes if number of characters exceeds that limit. QSGDefaultGlyphNode (renderType: Text.NativeRendering) missed that logic for some reason. Task-number: QTBUG-58852 Change-Id: I88b3fcdb8e56bc92622d3347cd638634d43df138 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Fix copied QDragMoveEvent drop action to propagate to original eventAlexandru Croitor2017-03-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Revert "QQuickAnimatorProxyJob: make sure to stop when detached from a window"Liang Qi2017-03-071-7/+1
| | | | | | | | | | | | | | | | | | | | This reverts commit 05a88efb266ec3b7b16d6db0d971c21ae7f45c9d. It caused some test failures in qtquickcontrols and qtquickcontrols2. Task-number: QTBUG-59326 Task-number: QTBUG-59327 Change-Id: I9a26a4518bf7c106372916761aae69ba65f6df9e Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickAnimatorProxyJob: make sure to stop when detached from a windowJ-P Nurmi2017-03-061-1/+7
| | | | | | | | | | | | | | | | Qt Quick Controls 2 StackView auto tests exposed an issue that animator proxy jobs keep ticking after being unassociated from a window. Change-Id: Ib9b3a0e02ac4cc3f3e98ddf05c8b01f0bbd614d3 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* | When stealing a touchpoint as synth. mouse, ungrab touchFrederik Gladhorn2017-03-011-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Software: Flush whole window on Expose eventAndy Nichols2017-02-282-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The software render loop updates the window content via either an expose event or an update event. An expose event should always flush the entire backingstore, but previously only the newly updated region would be flushed. The first time a window is exposed this is fine because the whole scene would be rendered, but when hidden and shown again, the software renderer might show that nothing has changed, and nothing would be flushed. A new flag has been added that forces a full window flush for an expose event. Task-number: QTBUG-59177 Change-Id: I3700bbcc76bc97be4eb0c822e2945ebef339f11a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Ensure mouse ungrab is called when touch is also trueMichael Dippold2017-02-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-2420-53/+180
|\| | | | | | | | | | | | | | | | | | | | | 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
| * Fix build without features.cursorStephan Binner2017-02-201-2/+4
| | | | | | | | | | Change-Id: I20821e5fd4d2154aa49ef90015d512dd09c134f3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Shaders: Fix crash when disconnecting shaders from item propertiesErik Verbruggen2017-02-151-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | The disconnect was done with a signal index local to the item, instead of 'global' to the item and all its parents. The index also had to be a method index, not a signal index. Together this resulted in a failing disconnect, which would keep SlotObjects alive with outdated data. Any subsequent use would result in a crash. Task-number: QTBUG-58336 Change-Id: I26b1868b2f8c61a4ffab1c72c85178632ca87599 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Finish sentence properly in documentationFrederik Schwarzer2017-02-151-1/+1
| | | | | | | | | | Change-Id: I9bdae64a2d1b38c0b3f1b7f4cf460b3466d45dad Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Minor wording issues and typo fixes in docsFrederik Schwarzer2017-02-153-4/+4
| | | | | | | | | | Change-Id: I60af106607dca02fafc1df2d21d16053d64742b6 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>