| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generally the bufferedChanges are an "extension" of the currentChanges,
which can just not be applied at the moment because we are in a layout
phase. If we regenerate or clear the whole view in the mean time, the
bufferedChanges become just as invalid as the currentChanges.
On top of that, refilling can trigger further changes, part of which
will be applied during the refilling. As that leaves us in an
inconsistent state, we need to loop the refilling until no further
changes are generated. As the changes might affect items that are
already visible, and therefore not subject to refilling, we need to
clear all the items before refilling in this case.
In QTBUG-46488 things are added in the onCompleted callback of the
delegates (by expanding the tree view, which translates into adding
rows to the list view). Depending on where you add the new items, the
list view might pick them up when iterating the model on refill() or
it might create delegates for the same model entry twice. So, if that
happens we need to discard the result and refill again.
Task-number: QTBUG-46488
Change-Id: Ie4e0a731f7feda6aa962b6cb9a6cd5c3bf90486e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QQuickItemViewPrivate::applyModelChanges(), if
moveReason = QQuickItemViewPrivate::Other,
then QQuickItemView::trackedPositionChanged() will fail to call
d->setPosition(pos), which is normally what keeps the Flickable moving
for a while. Leave the reason as-is (it will be SetIndex in this
case), so as not to forget that we were actually trying to move down
when the sequence window->polishItems() -> QQIV::updatePolish() ->
layout() -> fixupPosition() did its part of the work of moving down.
Task-number: QTBUG-62864
Change-Id: I1021e2ea39265de9e1285e2ee17c5733189ab939
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
synchronously
The current implementation created new items with default incubation mode, which
is AsynchronousIfNested. But from reading the code, it seems like changes to the
model were really expected to be handled synchronously, since there aren't any
sections in the code that will recover from situations were requested items ends
up incubating async. This is also backed by the fact that the second argument
used to be a bool set to 'synchronous'. The fact that this was translated to
AsynchronousIfNested later down the chain didn't seems to be taken into account.
A bug with this is found in ListView when it's embedded inside an async Loader.
In that case, all list items will be incubating async at startup, which is normally
expected and fine. But if the model assigned to the ListView is modified before the
loader has finished, async loading will also happen to the items created because of
the change. And then the situation described above will occur.
This patch will force any items loaded because of a model change to be synchronous.
This seems to be in line with the synchronous logic that already exists. And its
also quite acceptable, since changing the model before everything is completed is
a corner case, and can naturally lead to some stuttering in the list view anyway.
A potential for improvement on this logic is to try to recover whenever creating an
item fails. But this takes a lot of work because of the way model changes are
structured and stored, and can easily cause regressions. Since this is a corner
case, it is probably not worth it.
[ChangeLog][QtQml][ListView] Fixed a bug in ListView that sometimes make items
end up with wrong geometry when changes to its model happens while the ListView
is being loaded async (e.g if wrapped inside an async Loader).
Task-number: QTBUG-61537
Change-Id: I8d6857beaf8ef98b02bb46282a1312749b0fb801
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- don't use QTRY_VERIFY or QTRY_COMPARE if there's nothing to wait for,
because it will always wait a short time and add needless delay to the test
- QVERIFY(QSignalSpy::wait())'s should perhaps not be done in sequence,
in case the second signal already happened while we were waiting for the first.
QTRY_VERIFY(QSignalSpy::count() > 0) should be more reliable in such a case,
as long as we are sure the count started at zero before the behavior
which was supposed to make the signal be emitted.
- 1000ms is probably not long enough to wait for ListView velocity change
on a slow CI system.
- according to the comment "verify that currentIndexChanged is triggered"
we need another spy for that signal.
Change-Id: I99d93a849b674ce6c81acbe91639f03933025117
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
| |
Sticky headers and footers weren't accounted for when calculating new
view position causing the requested item to be left behind them.
Task-number: QTBUG-63974
Change-Id: Id69579643a942e8558960b2c8b0fee980fa86947
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-30716
Change-Id: I0c6829ae496850d6a2cdcc349c496dfbf4e8adbb
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
| |
Index based scrolling does not enable moving and flicking properties.
Task-number: QTBUG-34576
Change-Id: Ief06d37115ca389027670c97ce6c0457a74d4872
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QQuickItemViewPrivate::applyModelChanges(), if
moveReason = QQuickItemViewPrivate::Other,
then QQuickItemView::trackedPositionChanged() will fail to call
d->setPosition(pos), which is normally what keeps the Flickable
moving for a while. Leave the reason as-is (it will be SetIndex in
this case), so as not to forget that we were actually trying to move
down. Updating the model was just a side-effect of that: either
because some QML code was trying to append to the model or because
fetchMore() was called.
Task-number: QTBUG-61269
Task-number: QTBUG-62864
Change-Id: I3fd402469950d6c12e6a8d6e42be83ea4f54776a
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
| |
Change-Id: Icc08925454445fc9497fb3bfd2c26efe90605983
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Ensure that the same flick consistently produces the same results,
by making sure we don't use old timestamps from previous flicks.
Task-number: QTBUG-62939
Change-Id: Ie738076abba66d38ff505292925e9441c38a3c95
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
When fixupPosition is called for a ListView with StrictlyEnforceRange,
the original reason for the move is lost, and the fixup is applied
immediately. There are already checks for whether the view is moving,
so expand these checks to include movement caused by highlight.
Change-Id: I25f771b9a529d31dc28acb9f91fcd2b582428200
Task-number: QTBUG-33568
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling releaseItem() destroys the item, which emits childrenChanged
for the contentItem, and if at that point anything calls setFooMargin(),
setContentHeight(), returnToBounds(), or many other methods that
indirectly access the visibleItems list, it leads to a crash due to
read after free. Add a releaseVisibleItems() helper method that makes
a copy, clears the original list first, and then releases the items.
Task-number: QTBUG-48394
Task-number: QTBUG-61294
Change-Id: I29e4d3870d33549e8bf789de84c67ab1826fca7d
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch, this code:
import QtQuick 2.7
ListView {
keyNavigationEnabled: true
}
Would cause this error:
"ListView.keyNavigationEnabled" is not available in QtQuick 2.7.
This is because ItemView was missing a revision:
qmlRegisterUncreatableType<QQuickItemView, 7>(
uri, 2, 7, "ItemView", QQuickItemView::tr("ItemView is an abstract base class"));
Task-number: QTBUG-57621
Change-Id: Ia00cb7446a0d83278760f3aa361db5a864661bc6
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix warnings about assignment used as truth value in Q[TRY_]VERIFY
by generally pulling out the assignment in case of QVERIFY and adding
parentheses in case of QTRY_VERIFY. Also fix 2 cases in which apparently
QTRY_VERIFY(find()) was intended.
Fixes warnings:
tst_qquickpathview.cpp: In member function 'void tst_QQuickPathView::creationContext()':
tst_qquickpathview.cpp:1637:100: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquickpathview.cpp: In member function 'void tst_QQuickPathView::currentOffsetOnInsertion()':
tst_qquickpathview.cpp:1688:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquickpathview.cpp:1700:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquickpathview.cpp:1712:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::sectionsPositioning()':
tst_qquicklistview.cpp:2392:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::itemListFlicker()':
tst_qquicklistview.cpp:2979:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:2981:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:2983:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:2988:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:2990:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:2992:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:2997:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:2999:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:3001:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::creationContext()':
tst_qquicklistview.cpp:5339:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5341:98: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5343:98: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5345:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::unrequestedVisibility()':
tst_qquicklistview.cpp:5626:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5628:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5631:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5633:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5636:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5638:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5640:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5642:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5650:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5652:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5663:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5665:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5668:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5670:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5673:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5675:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5677:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5679:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5687:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5690:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5692:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5695:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5697:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5699:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5701:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5707:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5709:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5711:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5713:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5719:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5721:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5723:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5725:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5731:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5733:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5735:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5737:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5743:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5745:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5747:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:5749:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::displayMargin()':
tst_qquicklistview.cpp:7255:100: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:7259:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::negativeDisplayMargin()':
tst_qquicklistview.cpp:7292:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:7295:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:7298:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
tst_qquicklistview.cpp:7303:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
Change-Id: Ic069c8336cf15db75860c6f79dfd215a5592ca79
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/qml/qqmlcomponent.cpp
tests/auto/quick/scenegraph/tst_scenegraph.cpp
Change-Id: Ibc811b95a57f175ca53337db7bbd1f575a745937
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp
src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h
Change-Id: I1e6a9424e7f87d9e4ac1ea387ec70e151106f1c7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a test for commit 49c892328223dfa2502b462d8e5e8e181f4f6cd5
in qtbase
Change-Id: Id7be42ddd9136b73af08093117316fe2e86a000a
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickshadereffect.cpp
5.7 had a bug-fix in code dev has replaced wholesale.
src/quick/items/qquickwindow.cpp
src/quick/items/qquickwindow_p.h
One side changed a method's signature; the other side renamed a method
declared adjacent to it and changed some code using it, moving some
from the public class to its private partner.
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
One side added a blank line before a comment the other re-wrote.
Kept the re-write, killed the stray blank.
.qmake.conf
Ignore 5.7's change to MODULE_VERSION.
src/qml/compiler/qqmltypecompiler.cpp
src/qml/compiler/qqmlpropertyvalidator.cpp
5.7 changed code in the former that dev moved to the latter.
Reflect 5.7's changes there, adapted to dev's form.
src/qml/qml/qqmlobjectcreator.cpp
One side added new QVariant types; the other changed how it handled
each type of QVariant (without git seeing any conflict); adapted the
new stanzas to work the same as the transformed ones.
tests/manual/v4/test262
dev had a broken sha1 for it; so used 5.7's 9741ac4655808ac46c127e3d1d8ba3d27ada618e
Change-Id: I1fbe2255b97d6ef405cdd1d0cea7fab8dc351d6f
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
examples/quick/demos/photoviewer/deployment.pri
One side made it redundant; the other removed part of it; remove it all !
src/quick/scenegraph/util/qsgatlastexture.cpp
One side changed a preprocessor condition, the other a code condition,
on adjacent lines; keep both changes.
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
One side changed a condition, the other the content of its block; keep both.
Change-Id: Idb8937f92a7edb28212449dfe0c5cfdb8e6de986
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I18983b06d28bf8f31043070db5aa6c1540062197
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/context2d/qquickcanvasitem.cpp
src/quickwidgets/qquickwidget.cpp
tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
Change-Id: Idf279cb88e0df2a383489af5b6afdf04d04ae611
|
| |\|
| | |
| | |
| | | |
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>
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The existing names are copy-paste duplication from the test above.
Change-Id: Ie50a0ed6530361c321b619549b3e3896472b7242
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
To get QtWayland in the CI, we need to blacklist populateTransitions
on OpenSUSE 42.1
Task-number: QTBUG-53863
Change-Id: I7b8b1467757083ea630a0e08e7f27f4b2396e0b1
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickitem.cpp
tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
Change-Id: I3cf47faa2fe567d62fffd985aeecbefe5811cc42
|
| |
| |
| |
| |
| |
| |
| | |
This is going to be reused for QQuickGridview's counterpart.
Change-Id: I3eaf272229b0e45dfc8c0b78ba94d57c72f9cc5d
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: Iec1b2de53c275996364c4bab0123ccb3e6e9895e
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These are exception safe (not that that matters greatly here) but more
importantly idiot-proof. A number of tests weren't cleaning up windows properly
before.
Change-Id: Ieca676c8eea54d3c2a1d9e4738133acdb2b370fe
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I4af0bf8ec1569097d97f8ce0bb8bf1a0e4a989ec
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since it has a lot of table driven tests, if we reuse the window like the other
table driven tests do, the total time is a lot lower (~2 seconds lower for just
this test for me).
Change-Id: I01ce38442f70d592d70ba584df3e0783956ebeaf
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 -> 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:
src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.h
tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
tests/auto/quick/qquicktextedit/qquicktextedit.pro
tests/auto/quick/qquicktextinput/qquicktextinput.pro
Change-Id: I95d2c20a8619e5b8fa361c941a16dd8dce3e04e7
|
| |
| |
| |
| |
| |
| |
| |
| | |
Infinite loop because of rounding in QQuickFlickablePrivate::fixup().
Change-Id: Icffe216587d90660ac3cb8090a676868416566c8
Task-number: QTBUG-50105
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|\|
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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: 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>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/debugger/qqmldebug.cpp
Change-Id: I93de5a81b18cdece475870cf7cfba1b9baef2304
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: Id27c36e55fcc68cc1140b0d9bec00b8ae6b52ed0
|
| |
| |
| |
| |
| |
| |
| | |
really change
Change-Id: I8892bb9b6ab6737d4a6f6f8aab836f863668682e
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|/
|
|
|
|
|
| |
Fix usage of API that is marked deprecated.
Change-Id: Ia887437f99b9ce207891ca19bc49294acb7d629d
Reviewed-by: Liang Qi <liang.qi@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>
|
|
|
|
|
|
|
|
| |
Preparing the replacement of Q[TRY]_VERIFY(a == b) by
Q[TRY]_COMPARE(a, b) for non-boolean types.
Change-Id: I8a4e44a2b4e20a9c8b811799e3932c8ce1a2cbbb
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|