aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items
Commit message (Collapse)AuthorAgeFilesLines
* Prevent cutting in non-Normal echoMode of TextInputJoni Poikelin2016-03-071-5/+10
| | | | | | | | | | Cutting the text in Password mode led to the text being deleted. Cut and copy operations should not be allowed when echoMode is set to a mode other than Normal. Task-number: QTBUG-51231 Change-Id: If75cdaedac7478ecc1a5126ad4a5ecbf32acd1ab Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Export some more classes.Marc Mutz2016-03-063-2/+9
| | | | | | | | | | | | QQuickSprite is used in QtQuickParticles. Export unconditionally. QQuickScaleGrid is used in auto-tests. AUTOTEST_EXPORT it. Unbreaks UBSan build, which requires access to the classes' type_info. Change-Id: I65b538fe0a4255d1b5c4e2e1212001d356382cb4 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Make more ctors explicitMarc Mutz2016-03-034-4/+4
| | | | | | | | | 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>
* AnimatedSprite: don't access deleted scene graph nodesJ-P Nurmi2016-03-032-53/+49
| | | | | | | | | | | | | It’s a bad idea to store a scene graph paint node as a member variable. First of all, it should not access the node outside updatePaintNode(), that is, outside the render thread. Secondly, the node is owned by the scene graph and may be nuked whenever the scene graph feels so. Some creative re-parenting easily triggers a case where AnimatedSprite ends up accessing a node that was already deleted by the scene graph. Change-Id: I89205ac36333a2fcb094121afa61b6409fda5883 Task-number: QTBUG-51162 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Make public headers compile with -Wzero-as-null-pointer-constantMarc Mutz2016-03-037-15/+15
| | | | | | | | | | | ... 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>
* Ensure ShaderEffect correctly updates with supportsAtlasTexture.Michael Brasser2016-03-014-0/+11
| | | | | | | | | | | | | | | Given a simple ShaderEffect with supportsAtlasTexture: ShaderEffect { property variant source: myImage supportsAtlasTextures: true } ensure the atlas subrect used by the ShaderEffect is updated if myImage.source changes. Change-Id: I4560b80ba38c3487b16f53411451fb9891920738 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* QQuickRenderControl: cleanup material cache on invalidateTim Blechmann2016-03-011-0/+4
| | | | | | | | invalidate() releases resources, but doesn't clean up the materialCache, resulting in a memory leak Change-Id: I3cf7b7a3b977bb9aa295ef1824c384bcdf9494f2 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Flickable: handle wheel NoScrollPhase the same as ScrollUpdateShawn Rutledge2016-03-011-0/+1
| | | | | | | | | | | | | | | | Before change f253f4c in qtbase, when an ordinary mouse wheel is rotated the phase would be ScrollUpdate continuously, without going through the other phases; whereas on a gesture-interpreting trackpad there would be a ScrollBegin first. Now, an ordinary wheel mouse uses NoScrollPhase continuously, which makes it easier to tell the two cases apart. But we're required to handle the new phase explicitly. To avoid change in existing behavior, we handle it the same as ScrollUpdate phase was handled before. Change-Id: I2d51a89a965704cf843303d523463805b4fe6ff8 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* QQuickAnimatedSprite: fix memory leakTim Blechmann2016-02-241-0/+1
| | | | | | | | the QSGGeometryNode owns the geometry, so we need to set the flag to avoid a memory leak Change-Id: Ifaf1e88c437b765a76d7ab4028c63d66413440bb Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Fix off-by-one when checking overlaps in selection rangesEskil Abrahamsen Blomfeldt2016-02-171-3/+4
| | | | | | | | | | | | | | | | This was found while researching QTBUG-49596. The selection ranges in the QGlyphRun are inclusive, so the length needs to be end - start + 1. For a node of 1 glyph with either preceding or succeeding node, we would detect an overlap always, since the initial rangeLength would be 0. This is reproduced by the textinput_selected_fallback_font.qml test, but the bug was hidden by a different bug in QTextLayout. Change-Id: I65d70b1223eebeb5cfbb277fade7f4753465364f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6.0' into 5.6Liang Qi2016-02-156-9/+86
|\ | | | | | | Change-Id: Ib4eb5c3572cb5ec11eb744572ec796dc7e70456d
| * Rerender natively rendered text items when DPI scaling changes.Andreas Hartmetz2016-02-056-3/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The whole purpose of native rendering is to optimize precisely for a given pixel grid. DPI scaling can change when either settings of the current screen are changed, or when the window is moved to a different screen. Details: - add an ItemDevicePixelRatioHasChanged item change event - detect DPI scaling changes by watching screen (identity) and screen config changes - when DPI scaling changes, recursively send an ItemDevicePixelRatioHasChanged signal to all items with content - when a natively renderet TextItem catches such an event, call updateLayout() which automatically picks up the new logical DPI Task-number: QTBUG-49019 Change-Id: I9f4f8d1a7f2c172ed26c276294ab143161c4a48b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * Merge 5.6 into 5.6.0Oswald Buddenhagen2016-02-029-129/+25
| |\ | | | | | | | | | Change-Id: I971229ff050c98258729ad70d9e06b89e5bbf617
| * | QQuickItem: fix another infinite loop in nextItemInFocusChain()Liang Qi2016-01-301-6/+18
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-50516 Change-Id: I6a1513b22401b0fe45da758a239ad82038b83264 Reviewed-by: Zsombor Egri <zsombor.egri@canonical.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | | GridView: Sanitize visible items after model insertionGabriel de Dietrich2016-02-131-13/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is basically the same patch as 35d8d060b8621cfd, but this time for GridView instead of ListView. The major difference is that GridView seems to do the right thing when the model insertions happen after the visible index. That explains the missing part of the patch in applyInsertionChange() as compared to the same function in QQuickListView. Also, QQuickGridView auto-tests are a bit more robust than their ListView counterpart. So no changes were necessary to existing test cases. Task-number: QTBUG-48870 Change-Id: I19b24c4d84a1a4cef4fdb3ddd3381d0c6b93a76a Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | | QQuickGridView: Refactor FxViewItem releasing codeGabriel de Dietrich2016-02-131-14/+15
| | | | | | | | | | | | | | | | | | | | | | | | Same as 51443673dce131f2. Change-Id: I785f777e761aba369014d1e4ad8020066f35fbe0 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | | Fix crash when Canvas has negative width or heightMitch Curtis2016-02-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | m_fbo is null when using a threaded render loop. Change-Id: I297ba651f9605f1718dbe9d09bd30e9682fb8401 Task-number: QTBUG-50085 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Doc: correct Item::contains() return typeNikita Krupenko2016-02-031-1/+1
| | | | | | | | | | | | | | | Change-Id: Ifbfb36cee6742dbd34c1743fba0fa30a304f25ed Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | | Fix QQuickItemViewPrivate::updateUnrequestedPositions()J-P Nurmi2016-02-021-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't attempt to reposition unrequested items at negative indexes, meaning that they are not in the model. The chances are that they have been already deleted. Change-Id: Iadd08518b11e0ea5d7965215a517aafaf35c95ba Task-number: QTBUG-48277 Reviewed-by: Nikita Krupenko <krnekit@gmail.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | | Window attached property: fix notifier signalsJ-P Nurmi2016-02-021-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | The change notifiers must be emitted when an item's window is reset. Otherwise any existing bindings don't get re-evaluated, and in worst scenario one ends up with dangling pointers. Change-Id: I6075957f1447bb8628d25bd822345e45837c027a Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | | Flickable: ensure movementEnded after wheel/trackpad flickShawn Rutledge2016-02-023-2/+36
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In qtdeclarative/tests/manual/touch/flicktext.qml it was already clear that the moving/movingVertically/Horizontally properties did not revert to false after a trackpad flick on OS X. It turns out that the failure to emit the movementEnded signal also caused a scrolling bug in ListView. QQuickFlickable::wheelEvent() looks at event->phase(), but ScrollEnd is not absolute: on OS X with a bluetooth trackpad, it happens once when the user's fingers are lifted, then the "momentum" events occur with ScrollUpdate, and then ScrollEnd happens again at the end of the momentum phase. But if the user's fingers come to rest before being lifted, to stop the momentum, then the ScrollEnd phase happens only once, and that's actually the end of scrolling, flicking and movement, all at once. The events don't seem to provide enough information to disambiguate these two cases; but if ScrollEnd phase occurs, and then we don't receive any more events within some short time interval, we can be pretty sure the scrolling really ended. So, use a timer to check whether any more events have been received, a little later after the ScrollEnd phase. The movementEnded signal can now be emitted for several reasons: the regular timeline ended movement, the velocityTimeline ended movement, or the movementEndingTimer sent an event. Also, when flicking with a physical mouse wheel, flickStarted was emitted multiple times; now it will be emitted only once. Task-number: QTBUG-47151 Change-Id: I534e99befbd9bf6af24c4ebdca73dd21964f1063 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | PathView: don't leak item referencesJ-P Nurmi2016-01-281-0/+4
| | | | | | | | | | | | | | | | | | | | Every getItem() call increases the reference count. If getItem() was called on an item that was already managed, we must pair it with a call to releaseItem() in order to keep the reference count in sync. Change-Id: I897d19c77bc0c58717065cbe925c45a14153ad0b Task-number: QTBUG-50655 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | Fix rejecting drag enter events in QML DropAreaSebastian Sauer2016-01-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't initiate a drag and drop if the event was rejected. What happens is: QQuickDropArea::dragEnterEvent() sets d->containsDrag = true QQuickDropArea::dragLeaveEvent() sets d->containsDrag = false HOWEVER, when the enter event is rejected, the leave event is never delivered, and the drop area remains blocked because it thinks the first drag action is not done yet. Change-Id: I74c53fbe778c954e4aa2f22f393318c4938a5afe Task-number: QTBUG-39453 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Animated sprite would stop after running for 24 hours.Jan Arve Saether2016-01-271-2/+2
| | | | | | | | | | | | | | Fix is to use QElapsedTimer instead of QTime. Change-Id: I03d0a2428c7f0d82c4c54ab844023b09baf15175 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | Preparations for re-rendering native text on DPI scaling changes.Andreas Hartmetz2016-01-265-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes only non-functional changes so the next patch can make mostly functional changes. QQuickText: rename q_imageLoaded() to q_updateLayout(). Says what it does, not when it is called. QQuickWindow: split QQuickWindow::forcePolish() into QQuickWindow::handleScreenChanged() and QQuickWindowPrivate::forcePolish(). Change-Id: Ief2ae30cd9f27ee8083b2c75765fb5278bde5ea8 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | QQuickTextNode: Nuke some dead code.Robin Burchell2016-01-261-118/+0
|/ | | | | | | | | | This has been commented out since the initial introduction in 2011. I doubt it's actually useful anymore, and if it is, it's in git history regardless. Change-Id: Ife36f423a21d4b12ebca154b4ad14848844e4eef Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Doc: corrected some minor link issuesNico Vertriest2016-01-222-3/+3
| | | | | | Change-Id: I6bdd485eafe2c2a0c925690dab451664af1223dc Task-number: QTBUG-43810 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Simon Hausmann2016-01-213-2/+10
|\
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-193-2/+10
| |\ | | | | | | | | | Change-Id: Ieb48911638b5c1acdfd4dee8aa19dca9be99a1f6
| | * QQuickTextLine: set lineOffset to zero in ctor5.5Anton Kudryavtsev2015-12-171-1/+1
| | | | | | | | | | | | | | | Change-Id: Ie6b085157cebaf06750a30bc050b6bed0c7f6018 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * docfix: Make it clearer how Context2D relates to CanvasGunnar Sletta2015-11-301-0/+8
| | | | | | | | | | | | | | | Change-Id: Id64aff29ef8bc7cbb4f7fc46b1a0d30a47585055 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
| | * MouseArea: fixed a crash in propagate()Liang Qi2015-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Should not propagate without window. Task-number: QTBUG-49100 Change-Id: Ieda3a8357283f8d07d4ffc0cc62c4e15645d7e5a Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | | QQuickItem: fix an infinite loop nextItemInFocusChain()Liang Qi2016-01-201-0/+2
|/ / | | | | | | | | | | | | | | When isTabFence is set to true and no children. Task-number: QTBUG-50516 Change-Id: I8430336fde7ab041797f8f9d9dfe5b9d56fecddd Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | QQuickItemView: Take sticky header/footer into account for ↵Robin Burchell2016-01-153-4/+6
| | | | | | | | | | | | | | | | | | | | | | positionViewAtIndex(). When using an overlaid header or footer, we must adjust the position we come up with by the appropriate size in order to end up at the correct place. Change-Id: I218b9aef7fdf37f56ffb63dc395f97045b55a186 Task-number: QTBUG-50097 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | QQuickRepeater: Use qmlobject_(dis)connect instead of regular (dis)connect.Robin Burchell2016-01-051-10/+12
| | | | | | | | | | | | | | A bit faster, not that this is the most important case for it. Change-Id: I3e50bd4a45d2b60c105a9315ccf0b2c34502cb8d Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | Make QQuickPaintedItem support Item::layerGunnar Sletta2016-01-041-0/+7
| | | | | | | | | | Change-Id: I4baf8416704fdb65b96b7e0b8620c651f9199159 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | QQuickFlipable: Set enabled property on whichever side is considered active.Robin Burchell2015-12-311-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a regression in behavior whereby input is not blocked when the side changes. In QtQuick1, input was tied to opacity: items with a 0 opacity would not receive input. In QtQuick2, this is not the case. [ChangeLog][QtQuick][Flipable] Flipable now toggles the 'enabled' property on whichever side is active. This restores broken behavior compatibility with QtQuick1, and blocks input to whichever side is not active. Change-Id: I36e29089cd7ffd05bf1f415490e0e0816a86bf30 Task-number: QTBUG-37072 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | QQuickDropArea include cleanupSamuel Gaist2015-12-242-5/+0
| | | | | | | | | | | | | | Remove unused includes Change-Id: I088b7efda4269faaceb39ea865eadc85fb2f9039 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix ListView.OverlayHeaderJ-P Nurmi2015-12-231-2/+2
| | | | | | | | | | | | | | | | Infinite loop because of rounding in QQuickFlickablePrivate::fixup(). Change-Id: Icffe216587d90660ac3cb8090a676868416566c8 Task-number: QTBUG-50105 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Link to drag and drop examples in relevant placesMitch Curtis2015-12-162-0/+3
| | | | | | | | | | | | | | | | So users at least have some idea of how to use these types, as their documentation is quite lacking. Change-Id: Ic4644cc259fabbd1462e611316dcec3c5a0d2c4e Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Fix QQuickPaintedItem::renderTarget docsJ-P Nurmi2015-12-151-1/+1
| | | | | | | | | | Change-Id: I503ba2c7b6b58f01c8270d3a1416ec197f24e0e2 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | Fix containsMouse with touch and hoverEnabledPaul Olav Tvete2015-12-151-0/+9
| | | | | | | | | | | | | | | | | | | | | | 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>
* | QQuickTextEdit: Fully qualify enumerations in changed() signals.Friedemann Kleint2015-12-151-4/+4
| | | | | | | | | | | | | | | | | | Fix warnings when running tst_qquicktextedit: QWARN : tst_qquicktextedit::mouseSelectionMode_accessors() QSignalSpy: Unable to handle parameter 'mode' of type 'QQuickTextEdit::SelectionMode' of method 'mouseSelectionModeChanged', use qRegisterMetaType to register it. QWARN : tst_qquicktextedit::textFormat() QSignalSpy: Unable to handle parameter 'textFormat' of type 'QQuickTextEdit::TextFormat' of method 'textFormatChanged', use qRegisterMetaType to register it. Change-Id: I2d41f970777c9ee4d8999acceed9e1b9cf52b0f0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Clean up correctly in rendercontrol to avoid crashesLaszlo Agocs2015-12-092-7/+13
| | | | | | | | | | | | | | | | | | | | Not destroying the Animator controller leads to scenegraph animators running even after destroying the rendercontrol and the window. Add the missing delete call and fix the somewhat broken cleanup sequence. Task-number: QTBUG-49635 Change-Id: I170b4bb4b065bda46d8ab9ad9a3992bc8cfd1d1e Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | QQuickImageBase: Add support for @3x imagesOlivier Goffart2015-12-071-28/+12
| | | | | | | | | | | | | | | | | | | | | | | | Use the qt_findAtNxFile function from QtGui. Note: this changes the behavior slightly if the file name contains '@2x' not at the end of the file name. We now check that it contains '@2x.' including the dot. Change-Id: I7e6a97d2d9c5aa0706538badf22a13e4c41824c0 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | ListView: Sanitize visibleItems list after model insertionsGabriel de Dietrich2015-12-071-11/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QQuickListViewPrivate::applyInsertionChange(), we update the visibleItems list by first shifting the currently visible items and then we add as many items as the model was added and at the right position. We do this in such a way that we won't create items that will not be visible right away (and may be deleted right after by removeNonVisibleItems()). However, this may leave gaps in the item index sequence, and QQuickListView doesn't always recover gracefully from it. The purpose of this patch is to make sure those gaps are cleared right after inserting the new items. Since the insertions can happen in two different places (either before or after the first visible item) we need to update the visibleItems list accordingly. The way we sanitize visibleItems is by removing those items that lie beyond a possible index gap. If insertion happens before the first visible item, we'll remove all those items before the insertion point. If the insertion happens after the first visible item, we'll remove the items after the insertion point. Besides that, the logic for inserting before the visible position was wrong. As items are inserted bottom-up in that case, the insertion would start by just accounting for the item's size until the condition pos > from && insertionIdx < visibleIndex would become false only because 'pos' would be small enough. After that, the next loop run would start adding items before the 'from' position, which is wrong. Our fix is to move the condition outside the loop if the insertion index will be before the visible index and just account for the items' size in that case. Otherwise, the insertion happens as usual until pos < from. Change-Id: I35767cf6e9737bea1fe7677e580245fc7172710c Task-number: QTBUG-48870 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Flickable: avoid perturbing the timeline further while in overshootShawn Rutledge2015-12-071-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug was that when using the mouse wheel, a single "scroll down" wheel event followed by a rapid succession of "scroll up" events would cause extreme overshoot. Experimentally determined that when this happens, the calls to timeline.accel() in QQuickFlickablePrivate::flick() were occurring after the call to accel in QQuickFlickablePrivate::viewportAxisMoved(). But nearby, data.inOvershoot is set to true, so that can be used to avoid calling accel() additional times in flick(). So basically, this patch avoids doing any more acceleration in response to further wheel events after the momentum from previous events has already taken the content beyond bounds. Task-number: QTBUG-21328 Change-Id: I3ab5510a288a080f6b526407b6a2293c44a2498a Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Auto-tests for fast model updates while flickingGabriel de Dietrich2015-12-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stress testing might sound unfair, but it can happen that the user is flicking the view while the model gets updated resulting in an internally inconsistent state. We need to cover this and start working on a solution. The test is initially blacklisted as it's not expected to pass all the time. Task-number: QTBUG 48870 Change-Id: I7c1e4fd1876f52dd2dad5a28584b571753ebe69a Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | MultiPointTouchArea: Fixed released() duplication on mouse release.Alexandr Akulich2015-12-021-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MousePress and MouseRelease event handlers now better integrated into generic touch processing methods. We used to manually add a touch point for mouse press event and prevent updateTouchData() from pressed() emission, but mouseRelease handler used to cause the signal emission in updateTouchData() and then emit the signal on its own. The code reworked to always emit pressed() and released() signals from the single place in updateTouchData(). [ChangeLog][QtQuick][MultiPointTouchArea] Fixed released() signal duplication on mouseReleaseEvent. Task-number: QTBUG-44370 Change-Id: I2d88931ba56d6edf778213c61e9467c2b6abf0e7 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | QQuickListView: Refactor FxViewItem releasing codeGabriel de Dietrich2015-12-011-14/+16
| | | | | | | | | | Change-Id: Id13e982ff3286ec6f369c3d5898de3da3314579d Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>