aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/extras/qquickswipeview.cpp2
-rw-r--r--tests/auto/extras/data/tst_swipeview.qml27
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)