| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Change-Id: I7dfbd5f47893a3244c96989ad7eea7e93ea28603
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
| |
Change-Id: I0e60c54281cf6838845400fe1a7cf5f2b3a14d65
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
| |
Change-Id: Iccc1ec0cf4408e25c04ca0be2562175e76d2d198
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously flicking was restricted to the orientation of the ListView.
[ChangeLog][QtQuick][ListView] Made it possible to enable horizontal
flicking in a vertical ListView, and vice versa. The only thing apps
must do is to specify the desired flick direction and the content
width (vertical ListView) or content height (horizontal ListView),
which is not calculated by ListView.
Change-Id: Ic370e57f5d18679940d48e7a2c20c200b2ef36d1
Task-number: QTBUG-52553
Task-number: QTBUG-56501
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This difference is only used by the ListView, so calculating it and
storing it (on the stack) introduces a penalty for all items. As the new
geometry is already applied, the old geometry is passed along. This has
the added advantage that the ListView does not have to re-calculate that
either. This fixes a performance regression.
Change-Id: Id5e67bb663a5b11a55ec15ff24ca5b213d1fcef5
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|\
| |
| |
| | |
Change-Id: I175b27337b534c0b8f46a4a792d2c43cde73ffc4
|
| |
| |
| |
| |
| |
| |
| | |
Additionally, that way the braces are not needed anymore.
Change-Id: I5afc8fa738211f884ac011079a2ee63613a46d08
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: I326616356ee26d4532c6d57558c43c919f0a900d
|
| |\|
| | |
| | |
| | | |
Change-Id: I7bd70996e3372d154c6b0e47336baa22146667b0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These methods have real arguments.
Change-Id: Ieb4ea8396876f237adedf5df8ab5aeec1055229f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For CoW types, prefer const methods to avoid needless detach()ing.
Change-Id: I270cdc6eb8c5946f5c20b379bbb7c60f0ba518eb
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit e2c296c46b3f922ed12f83b166b1493dfded480e removed the passing
of the original geometry to the itemGeometryChanged method, and had a
wrong calculation of the original value the one place it is still
needed.
Change-Id: I69fdd89c2643b4b5d6a3483f961cf5f1de4d2dbf
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This prevents re-calculation of what actually changed, and removes the
now unused parameter newGeometry. Other than this change calculation,
the only place where oldGeometry was used is
QQuickListViewPrivate::itemGeometryChanged. To get rid of oldGeometry
too, QQuickListViewPrivate now stores the current (i.e. last known)
geometry, and updates it in itemGeometryChanged.
Change-Id: I8a5286d08a04132c9a4c81de7ce221f5676946e6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|\|
| |
| |
| | |
Change-Id: I70c0c672708522f7157849365cc53ee271d8e460
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit v5.6.0-beta1~7 (ListView: Sanitize visibleItems list after model
insertions, 2015-12-07) introduced sanitizing of the container of visibleItems,
but it did not affect the return value of the
QQuickListViewPrivate::applyInsertionChange
function. The return value is used in
QQuickItemViewPrivate::layout()
to determine whether the layouting should proceed, or an early return is
possible instead. If the layouting does not proceed, then the newly inserted
visible items do not get painted, resulting in the linked bug.
The return value of the
QQuickListViewPrivate::applyInsertionChange
function was previously determined by whether the new count of visible items is
greater than the previous count. After the sanitation in commit
v5.6.0-beta1~7, this numeric comparison is no longer a good indicator of
whether a repaint is needed. Change the return value to indicate whether new
items were inserted which are visible in a more-direct way.
Verify that visible items are initialized correctly in tests. They should not
be 'culled'. It is necessary to invoke the layout method first to clear the
forceLayout state. Two pre-existing tests fail before the fix in this patch.
Change-Id: I625f1e02bf7001834adb147161a1e478a0ce2a0d
Task-number: QTBUG-53263
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/jit/qv4targetplatform_p.h
src/quick/accessible/qaccessiblequickitem_p.h
Change-Id: Ic95075a5fad81ec997a61561bd65979dfa3b9d4d
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I have seen far too many cases of someone simply setting cacheBuffer to a
massive number in an attempt to workaround a slow delegate. It should be
explicit that cacheBuffer is not a solution for these problems.
Change-Id: I09416d06ff7faf51a104e09ca5f6b3593ddc53c7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes these documentation warnings:
src/quick/items/qquickgridview.cpp:1512: warning: Can't link to 'l'
src/quick/items/qquicklistview.cpp:2183: warning: Can't link to 'l'
Change-Id: Icbe4715f12cd66742873c815ef2ffc29b96b36fb
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I4af0bf8ec1569097d97f8ce0bb8bf1a0e4a989ec
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
Change-Id: I9588a3e2c7d590e031dd4c66905a79f0d74d3ac8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is useful for applications that need to selectively enable or
disable mouse and keyboard interaction.
[ChangeLog][QtQuick][ListView] added keyNavigationEnabled property to
allow mouse and keyboard interaction to be selectively
enabled/disabled.
Change-Id: I1cdb73e7be105bcc5c131e3cf2ae242dc66e8a65
Task-number: QTBUG-17051
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: Ica75a71062d0613e415f2433c5c22c2e251b37cd
|
| |
| |
| |
| |
| | |
Change-Id: Id13e982ff3286ec6f369c3d5898de3da3314579d
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These crashes occur randomly with tst_combobox from qtquickcontrols2,
and with the test case attached to the linked bug report.
Change-Id: If7d91045f86ec33e7fe398ed02f3edf80700651a
Task-number: QTBUG-48277
Reviewed-by: Nikita Krupenko <krnekit@gmail.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I3567f741394f912d4312460e85555b6c39b61cb4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Improve the logic for determining the desired viewport position, which
got partially broken with 134d980a7fcf61c5440019bcfb3fdfc39c3f5f3c.
Let's not alter topItem and bottomItem if their index appears to be
correct.
Task-number: QTBUG-49330
Change-Id: Ib1c88de51be28cbb0afb1741440adb03ae8ebd87
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Overlay headers are supposed to be fixed in position. This worked for "usual"
cases, but flicking a list with an empty model allowed the header & footer to
move.
Two fixes were required:
* viewportMoved needs to call updateHeader and updateFooter if there are no
items if sticky headers are enabled
* updateHeader and updatefooter need to always fix the position of the header &
footer.
Change-Id: I77519d91f587458777c6c8f4863270cf762ac286
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
| |
updateHeader checks for a nonexistent header at the very beginning and creates
one if there is none, so 'header' will always have a valid pointer. static_cast
isn't type-safe, so if it wasn't a FxListItemSG, it wouldn't end up giving us 0
anyway, so this check did nothing.
Change-Id: I7a021173b2ab7c634f0a290b8e3b3e1659756076
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the viewport is moved, the ListView may cull its currentItem
if it's out of the viewport bounds. However, it could be that this
is only a transient state while the currentItem is being animated.
Unfortunately, we don't uncull the currentItem at any moment during
the animation.
To solve this, we simply set the currentItem's culled state every
time its geometry changes.
Change-Id: I72d548f13f229029ccd8568721ea23e73f7b4392
Task-number: QTBUG-48044
Reviewed-by: J-P Nurmi <jpnurmi@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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When highlightRangeMode is set to StrictlyEnforceRange and the view gets
resized, we don't want the currentIndex to change.
The code touched by this patch was introduced by commit
I08b7e61496a79f71c3b40fafaca985ae90f88503 back in Qt 4.7 times, and
never changed since then.
Task-number: QTBUG-43555
Change-Id: Ie67faa6898f13a1f7b0f1c4ae6c29721cb7dfa41
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes a regression introduced by 1e3924d. The FxViewItem gets deleted
by QQuickItemViewPrivate::releaseItem(), so the QQuickItem pointer must
be stored before calling the base class implementation.
Change-Id: I0bcffc7bee8a4cdbebdce0fe2d2b990bfa52dc6c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/qml/qml/qqmlengine.cpp
src/quick/items/qquickitemsmodule.cpp
tools/qml/main.cpp
Change-Id: Ida8daf6b4d7e675385f2f5514c446e52dedaf136
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During item insertion, indexes of items in the visibleItems list were
not adjusted before new items were created. Section initialization was
broken during insertion because section calculation relies on the
indexes of the items in the visibleItems list. The incorrect section
properties caused spurious section header creation, and layout issues.
Apply the index offset before creating the new items. This mirrors what
GridView already does.
Change-Id: I549a81825cf0e979bc5830840bf6cb75c7a82cac
Task-number: QTBUG-43873
Reviewed-by: Bea Lam <bea.lam@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Contains essentially the same information, but allows the
item pointer to be null.
Change-Id: Ib848e0050c895facfbf13bddc6fec12df37a66ff
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an ObjectModel item is removed and destroyed.
Task-number: QTBUG-46798
Change-Id: Ia41dd359d9f3ec5b7af85498dc798f7ab55dca3c
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
|/
|
|
|
|
|
|
|
|
| |
When one or more items are in delayRemove state, the ListView's
contentHeight property should include their height. This previously
failed if the delayRemove items were at the end of the visibleItems
list. Also applies to GridView.
Change-Id: Id839e850367a3503123e8ac81dac6ebdccef1a1f
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
|
|
|
|
|
|
|
|
| |
Use std::math on floats and doubles, and qMath on qreals, and only
include the math headers actually needed.
Change-Id: I1d511d7b1bac0050eaa947c7baee760b736858bf
Reviewed-by: Sean Harmer <sean.harmer@kdab.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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Related to QTBUG-38515. It is not always desired to allow dragging over
bounds even if flicking overshoots. This makes it possible to implement
collision effects for flicks, while a drag over bounds would still do
nothing.
[ChangeLog][QtQuick][Flickable] Introduced Flickable.OvershootBounds
behavior that allows content overshooting the boundary when flicked,
but does not allow dragging content beyond the boundary of Flickable.
[ChangeLog][QtQuick][Important Behavior Changes]
Flickable.DragAndOvershootBounds value changed from 2 to 3. This will
only affect you if you've worked around enum type checking and have
the integer value explicitly in your code.
Change-Id: I63c3540ab293a9c7c801d81220f74909d3fa1e17
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
|
|
|
|
|
|
|
|
|
|
| |
Previously flick() would not always allow flicking to the very end of
a ListView if ListView.SnapToItem were set. Stop ListView from adding
overshoot, and then incorrectly correcting, if we are flicking exactly
to the end of a list.
Change-Id: Iad56e433bc1ba7d62f0553c4355469c9861df919
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/context2d/qquickcanvasitem.cpp
src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
src/quick/scenegraph/coreapi/qsgrenderer.cpp
src/quick/scenegraph/qsgadaptationlayer.cpp
src/quick/scenegraph/qsgrenderloop.cpp
src/quick/scenegraph/qsgthreadedrenderloop.cpp
src/quick/scenegraph/qsgwindowsrenderloop.cpp
src/quick/scenegraph/util/qsgatlastexture.cpp
src/quick/scenegraph/util/qsgtexture.cpp
src/quick/util/qquickprofiler_p.h
Change-Id: Ie274c3baf72a8a0711c87d67238d68e2b2887429
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-41250
Change-Id: I303d989992c9685f73baae50c64accf71b43549f
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickpainteditem.h
src/quick/items/qquickshadereffectsource.cpp
src/quick/items/qquickshadereffectsource_p.h
Change-Id: If98096443afe85fc4370cef971eace050006a61b
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It becomes configurable at runtime instead of having to uncomment
and recompile.
Change-Id: I2c6f24c89f7e6fe1a9a77b948cdac6f2994680bf
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|