diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2019-09-24 10:09:12 +0200 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2019-09-24 14:53:38 +0200 |
commit | d39a6d80f63414a4e933ac2f859805635850942a (patch) | |
tree | 4c212c06d8bb669f5643cfb35e3942ce884732ba /tests | |
parent | 2275541b52a8879cd8c7bf281b385738e5a664fe (diff) |
Tumbler: fix displacement calculation when wrap is false
Use the position of the item and the currentItem in the calculation
in order to get reliable results. This fixes the displacement being
off by a small margin, which increased as the delegate height became
smaller.
Fixes: QTBUG-66799
Change-Id: Ieca5033fb4c0ed62f5965a21fcab7aa558bd40e6
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/controls/data/tst_tumbler.qml | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/tests/auto/controls/data/tst_tumbler.qml b/tests/auto/controls/data/tst_tumbler.qml index c9cc10d7..5b3ef6e3 100644 --- a/tests/auto/controls/data/tst_tumbler.qml +++ b/tests/auto/controls/data/tst_tumbler.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2019 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the test suite of the Qt Toolkit. @@ -54,8 +54,8 @@ import QtQuick.Controls 2.12 TestCase { id: testCase - width: 200 - height: 200 + width: 300 + height: 300 visible: true when: windowShown name: "Tumbler" @@ -513,6 +513,7 @@ TestCase { Text { text: parent.displacement.toFixed(2) anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter } property real displacement: Tumbler.displacement @@ -1236,4 +1237,24 @@ TestCase { // 5 - 2 = 3 compare(tumbler.currentIndex, 3); } + + function test_displacementAfterResizing() { + createTumbler({ + width: 200, + wrap: false, + delegate: displacementDelegate, + model: 30, + visibleItemCount: 7, + currentIndex: 15 + }) + + var delegate = findChild(tumblerView, "delegate15") + verify(delegate) + + tryCompare(delegate, "displacement", 0) + + // Resizing the Tumbler shouldn't affect the displacement. + tumbler.height *= 1.4 + tryCompare(delegate, "displacement", 0) + } } |