diff options
-rw-r--r-- | src/extras/qquickswipeview.cpp | 2 | ||||
-rw-r--r-- | tests/auto/extras/data/tst_swipeview.qml | 27 |
2 files changed, 28 insertions, 1 deletions
diff --git a/src/extras/qquickswipeview.cpp b/src/extras/qquickswipeview.cpp index 0f50fd53..ae23843c 100644 --- a/src/extras/qquickswipeview.cpp +++ b/src/extras/qquickswipeview.cpp @@ -96,7 +96,7 @@ void QQuickSwipeViewPrivate::insertItem(int index, QQuickItem *item) QQuickContainerPrivate::insertItem(index, item); - if (contentModel->count() == 1) + if (contentModel->count() == 1 && currentIndex == -1) q->setCurrentIndex(index); } diff --git a/tests/auto/extras/data/tst_swipeview.qml b/tests/auto/extras/data/tst_swipeview.qml index 6ec71acc..dbd1c10b 100644 --- a/tests/auto/extras/data/tst_swipeview.qml +++ b/tests/auto/extras/data/tst_swipeview.qml @@ -93,6 +93,33 @@ TestCase { control.destroy() } + Component { + id: initialCurrentSwipeView + SwipeView { + currentIndex: 1 + + property alias item0: item0 + property alias item1: item1 + + Item { + id: item0 + } + Item { + id: item1 + } + } + } + + function test_initialCurrent() { + var control = initialCurrentSwipeView.createObject(testCase) + + compare(control.count, 2) + compare(control.currentIndex, 1) + compare(control.currentItem, control.item1) + + control.destroy() + } + function test_addRemove() { var control = swipeView.createObject(testCase) |