aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquickgridview.cpp6
-rw-r--r--src/quick/items/qquickitemview.cpp7
-rw-r--r--src/quick/items/qquicklistview.cpp6
-rw-r--r--tests/auto/quick/qquickgridview/data/addTransitions.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/displacedTransitions.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/gridview-initCurrent.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/gridview-noCurrent.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/layouts.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/margins.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/moveTransitions.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/multipleDisplaced.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/multipleTransitions.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/populateTransitions.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/removeTransitions.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/resizeview.qml1
-rw-r--r--tests/auto/quick/qquickgridview/data/unrequestedItems.qml2
-rw-r--r--tests/auto/quick/qquickgridview/tst_qquickgridview.cpp7
-rw-r--r--tests/auto/quick/qquicklistview/data/addTransitions.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/displacedTransitions.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/header.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/listview-enforcerange.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/listview-noCurrent.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/listview-sections-package.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/listview-sections_delegate.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/margins.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/moveTransitions.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/multipleDisplaced.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/multipleTransitions.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/populateTransitions.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/removeTransitions.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/resizeview.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/unrequestedItems.qml2
-rw-r--r--tests/auto/quick/qquickvisualdatamodel/data/packageView.qml2
33 files changed, 52 insertions, 6 deletions
diff --git a/src/quick/items/qquickgridview.cpp b/src/quick/items/qquickgridview.cpp
index 331f23e4c8..fa1e96c824 100644
--- a/src/quick/items/qquickgridview.cpp
+++ b/src/quick/items/qquickgridview.cpp
@@ -1533,8 +1533,10 @@ void QQuickGridView::setHighlightFollowsCurrentItem(bool autoHighlight)
area may be created/retained. The buffered delegates are created asynchronously,
allowing creation to occur across multiple frames and reducing the
likelihood of skipping frames. In order to improve painting performance
- delegates outside the visible area have their \l visible property set to
- false until they are moved into the visible area.
+ delegates outside the visible area are not painted.
+
+ The default value of this property is platform dependent, but will usually
+ be a non-zero value.
Note that cacheBuffer is not a pixel buffer - it only maintains additional
instantiated delegates.
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index 26580e0346..8b8f9356c9 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -41,9 +41,14 @@
#include "qquickitemview_p_p.h"
#include <QtQuick/private/qquicktransition_p.h>
+#include "qplatformdefs.h"
QT_BEGIN_NAMESPACE
+// Default cacheBuffer for all views.
+#ifndef QML_VIEW_DEFAULTCACHEBUFFER
+#define QML_VIEW_DEFAULTCACHEBUFFER 320
+#endif
FxViewItem::FxViewItem(QQuickItem *i, bool own, bool trackGeometry)
: item(i)
@@ -1410,7 +1415,7 @@ void QQuickItemView::componentComplete()
QQuickItemViewPrivate::QQuickItemViewPrivate()
: itemCount(0)
- , buffer(0), bufferMode(BufferBefore | BufferAfter)
+ , buffer(QML_VIEW_DEFAULTCACHEBUFFER), bufferMode(BufferBefore | BufferAfter)
, layoutDirection(Qt::LeftToRight), verticalLayoutDirection(QQuickItemView::TopToBottom)
, moveReason(Other)
, visibleIndex(0)
diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp
index 75d4933862..5401abc442 100644
--- a/src/quick/items/qquicklistview.cpp
+++ b/src/quick/items/qquicklistview.cpp
@@ -2094,8 +2094,10 @@ void QQuickListView::setOrientation(QQuickListView::Orientation orientation)
area may be created/retained. The buffered delegates are created asynchronously,
allowing creation to occur across multiple frames and reducing the
likelihood of skipping frames. In order to improve painting performance
- delegates outside the visible area have their \l visible property set to
- false until they are moved into the visible area.
+ delegates outside the visible area are not painted.
+
+ The default value of this property is platform dependent, but will usually
+ be a non-zero value.
Note that cacheBuffer is not a pixel buffer - it only maintains additional
instantiated delegates.
diff --git a/tests/auto/quick/qquickgridview/data/addTransitions.qml b/tests/auto/quick/qquickgridview/data/addTransitions.qml
index 3f47cbd7b7..14ed2dc265 100644
--- a/tests/auto/quick/qquickgridview/data/addTransitions.qml
+++ b/tests/auto/quick/qquickgridview/data/addTransitions.qml
@@ -64,6 +64,7 @@ Rectangle {
height: 320
cellWidth: 80
cellHeight: 60
+ cacheBuffer: 0
anchors.centerIn: parent
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquickgridview/data/displacedTransitions.qml b/tests/auto/quick/qquickgridview/data/displacedTransitions.qml
index 4abf401840..4c36b76b21 100644
--- a/tests/auto/quick/qquickgridview/data/displacedTransitions.qml
+++ b/tests/auto/quick/qquickgridview/data/displacedTransitions.qml
@@ -80,6 +80,7 @@ Rectangle {
height: 320
cellWidth: 80
cellHeight: 60
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquickgridview/data/gridview-initCurrent.qml b/tests/auto/quick/qquickgridview/data/gridview-initCurrent.qml
index 624f639962..af35d2fa1b 100644
--- a/tests/auto/quick/qquickgridview/data/gridview-initCurrent.qml
+++ b/tests/auto/quick/qquickgridview/data/gridview-initCurrent.qml
@@ -57,6 +57,7 @@ Rectangle {
currentIndex: 35
cellWidth: 80
cellHeight: 60
+ cacheBuffer: 0
delegate: myDelegate
highlightMoveDuration: 400
model: testModel
diff --git a/tests/auto/quick/qquickgridview/data/gridview-noCurrent.qml b/tests/auto/quick/qquickgridview/data/gridview-noCurrent.qml
index 600716e2d4..4867075289 100644
--- a/tests/auto/quick/qquickgridview/data/gridview-noCurrent.qml
+++ b/tests/auto/quick/qquickgridview/data/gridview-noCurrent.qml
@@ -46,6 +46,7 @@ Rectangle {
currentIndex: -1
cellWidth: 80
cellHeight: 60
+ cacheBuffer: 0
delegate: myDelegate
model: testModel
}
diff --git a/tests/auto/quick/qquickgridview/data/layouts.qml b/tests/auto/quick/qquickgridview/data/layouts.qml
index e00351f1bf..f528841ba7 100644
--- a/tests/auto/quick/qquickgridview/data/layouts.qml
+++ b/tests/auto/quick/qquickgridview/data/layouts.qml
@@ -51,6 +51,7 @@ Rectangle {
height: 320
cellWidth: 80
cellHeight: 60
+ cacheBuffer: 0
flow: (testTopToBottom == false) ? GridView.LeftToRight : GridView.TopToBottom
layoutDirection: (testRightToLeft == true) ? Qt.RightToLeft : Qt.LeftToRight
verticalLayoutDirection: (testBottomToTop == true) ? GridView.BottomToTop : GridView.TopToBottom
diff --git a/tests/auto/quick/qquickgridview/data/margins.qml b/tests/auto/quick/qquickgridview/data/margins.qml
index d369658a91..e2ee6d6ac6 100644
--- a/tests/auto/quick/qquickgridview/data/margins.qml
+++ b/tests/auto/quick/qquickgridview/data/margins.qml
@@ -44,6 +44,7 @@ Rectangle {
height: 320
cellWidth: 100
cellHeight: 80
+ cacheBuffer: 0
leftMargin: 30
rightMargin: 50
flow: GridView.TopToBottom
diff --git a/tests/auto/quick/qquickgridview/data/moveTransitions.qml b/tests/auto/quick/qquickgridview/data/moveTransitions.qml
index a91f5a3295..8850b46c12 100644
--- a/tests/auto/quick/qquickgridview/data/moveTransitions.qml
+++ b/tests/auto/quick/qquickgridview/data/moveTransitions.qml
@@ -63,6 +63,7 @@ Rectangle {
height: 320
cellWidth: 80
cellHeight: 60
+ cacheBuffer: 0
anchors.centerIn: parent
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquickgridview/data/multipleDisplaced.qml b/tests/auto/quick/qquickgridview/data/multipleDisplaced.qml
index 7c48bf39ae..973f0ac48a 100644
--- a/tests/auto/quick/qquickgridview/data/multipleDisplaced.qml
+++ b/tests/auto/quick/qquickgridview/data/multipleDisplaced.qml
@@ -45,6 +45,7 @@ Rectangle {
anchors.centerIn: parent
width: 240
height: 320
+ cacheBuffer: 0
cellWidth: 80
cellHeight: 60
model: testModel
diff --git a/tests/auto/quick/qquickgridview/data/multipleTransitions.qml b/tests/auto/quick/qquickgridview/data/multipleTransitions.qml
index cfe0be7b1e..8112fea22d 100644
--- a/tests/auto/quick/qquickgridview/data/multipleTransitions.qml
+++ b/tests/auto/quick/qquickgridview/data/multipleTransitions.qml
@@ -55,6 +55,7 @@ Rectangle {
cellWidth: 80
cellHeight: 60
anchors.centerIn: parent
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquickgridview/data/populateTransitions.qml b/tests/auto/quick/qquickgridview/data/populateTransitions.qml
index c12d5ac39d..9060a4bc1e 100644
--- a/tests/auto/quick/qquickgridview/data/populateTransitions.qml
+++ b/tests/auto/quick/qquickgridview/data/populateTransitions.qml
@@ -54,6 +54,7 @@ Rectangle {
height: 320
cellWidth: 80
cellHeight: 60
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquickgridview/data/removeTransitions.qml b/tests/auto/quick/qquickgridview/data/removeTransitions.qml
index 3e82cf7f96..ec9156d651 100644
--- a/tests/auto/quick/qquickgridview/data/removeTransitions.qml
+++ b/tests/auto/quick/qquickgridview/data/removeTransitions.qml
@@ -65,6 +65,7 @@ Rectangle {
height: 320
cellWidth: 80
cellHeight: 60
+ cacheBuffer: 0
anchors.centerIn: parent
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquickgridview/data/resizeview.qml b/tests/auto/quick/qquickgridview/data/resizeview.qml
index 130a0defc1..eb7fb49245 100644
--- a/tests/auto/quick/qquickgridview/data/resizeview.qml
+++ b/tests/auto/quick/qquickgridview/data/resizeview.qml
@@ -13,6 +13,7 @@ Rectangle {
height: initialHeight
cellWidth: 80
cellHeight: 60
+ cacheBuffer: 0
model: testModel
delegate: Rectangle {
objectName: "wrapper"
diff --git a/tests/auto/quick/qquickgridview/data/unrequestedItems.qml b/tests/auto/quick/qquickgridview/data/unrequestedItems.qml
index 79f845fd25..bedb90b849 100644
--- a/tests/auto/quick/qquickgridview/data/unrequestedItems.qml
+++ b/tests/auto/quick/qquickgridview/data/unrequestedItems.qml
@@ -55,6 +55,7 @@ Item {
model: visualModel.parts.left
cellWidth: 60
cellHeight: 80
+ cacheBuffer: 0
}
GridView {
@@ -67,5 +68,6 @@ Item {
model: visualModel.parts.right
cellWidth: 60
cellHeight: 80
+ cacheBuffer: 0
}
}
diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
index d7eb5b2950..9876a36ec3 100644
--- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
+++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
@@ -58,6 +58,7 @@
#include "../shared/viewtestutil.h"
#include "../shared/visualtestutil.h"
#include <QtGui/qguiapplication.h>
+#include "qplatformdefs.h"
Q_DECLARE_METATYPE(QQuickGridView::Flow)
Q_DECLARE_METATYPE(Qt::LayoutDirection)
@@ -2236,7 +2237,11 @@ void tst_QQuickGridView::defaultValues()
QTRY_COMPARE(obj->highlightFollowsCurrentItem(), true);
QTRY_VERIFY(obj->flow() == 0);
QTRY_COMPARE(obj->isWrapEnabled(), false);
- QTRY_COMPARE(obj->cacheBuffer(), 0);
+#ifdef QML_VIEW_DEFAULTCACHEBUFFER
+ QTRY_COMPARE(obj->cacheBuffer(), QML_VIEW_DEFAULTCACHEBUFFER);
+#else
+ QTRY_COMPARE(obj->cacheBuffer(), 320);
+#endif
QTRY_COMPARE(obj->cellWidth(), qreal(100)); //### Should 100 be the default?
QTRY_COMPARE(obj->cellHeight(), qreal(100));
delete obj;
diff --git a/tests/auto/quick/qquicklistview/data/addTransitions.qml b/tests/auto/quick/qquicklistview/data/addTransitions.qml
index 6a7c3234f6..69e6ba1eea 100644
--- a/tests/auto/quick/qquicklistview/data/addTransitions.qml
+++ b/tests/auto/quick/qquicklistview/data/addTransitions.qml
@@ -62,6 +62,7 @@ Rectangle {
anchors.centerIn: parent
width: 240
height: 320
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquicklistview/data/displacedTransitions.qml b/tests/auto/quick/qquicklistview/data/displacedTransitions.qml
index 573bf2b1ae..d83ccfedf4 100644
--- a/tests/auto/quick/qquicklistview/data/displacedTransitions.qml
+++ b/tests/auto/quick/qquicklistview/data/displacedTransitions.qml
@@ -69,6 +69,7 @@ Rectangle {
anchors.centerIn: parent
width: 240
height: 320
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquicklistview/data/header.qml b/tests/auto/quick/qquicklistview/data/header.qml
index 1cc4ae09ee..076bf9cb97 100644
--- a/tests/auto/quick/qquicklistview/data/header.qml
+++ b/tests/auto/quick/qquicklistview/data/header.qml
@@ -26,6 +26,7 @@ Rectangle {
focus: true
width: initialViewWidth
height: initialViewHeight
+ cacheBuffer: 0
snapMode: ListView.SnapToItem
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquicklistview/data/listview-enforcerange.qml b/tests/auto/quick/qquicklistview/data/listview-enforcerange.qml
index f1bf6c2b57..f1052b1482 100644
--- a/tests/auto/quick/qquicklistview/data/listview-enforcerange.qml
+++ b/tests/auto/quick/qquicklistview/data/listview-enforcerange.qml
@@ -45,6 +45,7 @@ Rectangle {
objectName: "list"
width: 240
height: 320
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
highlight: myHighlight
diff --git a/tests/auto/quick/qquicklistview/data/listview-noCurrent.qml b/tests/auto/quick/qquicklistview/data/listview-noCurrent.qml
index 079966d8e4..cb9030090e 100644
--- a/tests/auto/quick/qquicklistview/data/listview-noCurrent.qml
+++ b/tests/auto/quick/qquicklistview/data/listview-noCurrent.qml
@@ -43,6 +43,7 @@ Rectangle {
currentIndex: -1
width: 240
height: 320
+ cacheBuffer: 0
delegate: myDelegate
highlightMoveSpeed: 1000
model: testModel
diff --git a/tests/auto/quick/qquicklistview/data/listview-sections-package.qml b/tests/auto/quick/qquicklistview/data/listview-sections-package.qml
index 8e5a4c4aa7..e0daf50b32 100644
--- a/tests/auto/quick/qquicklistview/data/listview-sections-package.qml
+++ b/tests/auto/quick/qquicklistview/data/listview-sections-package.qml
@@ -68,5 +68,6 @@ Rectangle {
height: 320
model: visualModel.parts.package
section.property: "number"
+ cacheBuffer: 0
}
}
diff --git a/tests/auto/quick/qquicklistview/data/listview-sections_delegate.qml b/tests/auto/quick/qquicklistview/data/listview-sections_delegate.qml
index 496d8d7784..d82ff4c63a 100644
--- a/tests/auto/quick/qquicklistview/data/listview-sections_delegate.qml
+++ b/tests/auto/quick/qquicklistview/data/listview-sections_delegate.qml
@@ -56,6 +56,7 @@ Rectangle {
objectName: "list"
width: 240
height: 320
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
section.property: sectionProperty
diff --git a/tests/auto/quick/qquicklistview/data/margins.qml b/tests/auto/quick/qquicklistview/data/margins.qml
index 19bbef500f..2d7b7ca59a 100644
--- a/tests/auto/quick/qquicklistview/data/margins.qml
+++ b/tests/auto/quick/qquicklistview/data/margins.qml
@@ -41,6 +41,7 @@ Rectangle {
anchors.fill: parent
topMargin: 30
bottomMargin: 50
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
}
diff --git a/tests/auto/quick/qquicklistview/data/moveTransitions.qml b/tests/auto/quick/qquicklistview/data/moveTransitions.qml
index 2f907bdc8a..c4dce99208 100644
--- a/tests/auto/quick/qquicklistview/data/moveTransitions.qml
+++ b/tests/auto/quick/qquicklistview/data/moveTransitions.qml
@@ -62,6 +62,7 @@ Rectangle {
anchors.centerIn: parent
width: 240
height: 320
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquicklistview/data/multipleDisplaced.qml b/tests/auto/quick/qquicklistview/data/multipleDisplaced.qml
index e315270360..5893c30447 100644
--- a/tests/auto/quick/qquicklistview/data/multipleDisplaced.qml
+++ b/tests/auto/quick/qquicklistview/data/multipleDisplaced.qml
@@ -44,6 +44,7 @@ Rectangle {
anchors.centerIn: parent
width: 240
height: 320
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquicklistview/data/multipleTransitions.qml b/tests/auto/quick/qquicklistview/data/multipleTransitions.qml
index c0e888c6c6..4fcc80be2d 100644
--- a/tests/auto/quick/qquicklistview/data/multipleTransitions.qml
+++ b/tests/auto/quick/qquicklistview/data/multipleTransitions.qml
@@ -53,6 +53,7 @@ Rectangle {
anchors.centerIn: parent
width: 240
height: 320
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquicklistview/data/populateTransitions.qml b/tests/auto/quick/qquicklistview/data/populateTransitions.qml
index 0994e0943d..84b5b6bc1f 100644
--- a/tests/auto/quick/qquicklistview/data/populateTransitions.qml
+++ b/tests/auto/quick/qquicklistview/data/populateTransitions.qml
@@ -52,6 +52,7 @@ Rectangle {
anchors.centerIn: parent
width: 240
height: 320
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquicklistview/data/removeTransitions.qml b/tests/auto/quick/qquicklistview/data/removeTransitions.qml
index a85b217138..861cf42d94 100644
--- a/tests/auto/quick/qquicklistview/data/removeTransitions.qml
+++ b/tests/auto/quick/qquicklistview/data/removeTransitions.qml
@@ -64,6 +64,7 @@ Rectangle {
anchors.centerIn: parent
width: 240
height: 320
+ cacheBuffer: 0
model: testModel
delegate: myDelegate
diff --git a/tests/auto/quick/qquicklistview/data/resizeview.qml b/tests/auto/quick/qquicklistview/data/resizeview.qml
index 8b13adba40..931e7b9949 100644
--- a/tests/auto/quick/qquicklistview/data/resizeview.qml
+++ b/tests/auto/quick/qquicklistview/data/resizeview.qml
@@ -12,6 +12,7 @@ Rectangle {
id: list
objectName: "list"
width: 240
+ cacheBuffer: 0
height: initialHeight
model: testModel
delegate: Rectangle {
diff --git a/tests/auto/quick/qquicklistview/data/unrequestedItems.qml b/tests/auto/quick/qquicklistview/data/unrequestedItems.qml
index 682f3833d1..e3719a8be0 100644
--- a/tests/auto/quick/qquicklistview/data/unrequestedItems.qml
+++ b/tests/auto/quick/qquicklistview/data/unrequestedItems.qml
@@ -44,6 +44,7 @@ Item {
ListView {
id: leftList
objectName: "leftList"
+ cacheBuffer: 0
anchors {
left: parent.left; top: parent.top;
right: parent.horizontalCenter; bottom: parent.bottom
@@ -54,6 +55,7 @@ Item {
ListView {
id: rightList
objectName: "rightList"
+ cacheBuffer: 0
anchors {
left: parent.horizontalCenter; top: parent.top;
right: parent.right; bottom: parent.bottom
diff --git a/tests/auto/quick/qquickvisualdatamodel/data/packageView.qml b/tests/auto/quick/qquickvisualdatamodel/data/packageView.qml
index 682f3833d1..e3719a8be0 100644
--- a/tests/auto/quick/qquickvisualdatamodel/data/packageView.qml
+++ b/tests/auto/quick/qquickvisualdatamodel/data/packageView.qml
@@ -44,6 +44,7 @@ Item {
ListView {
id: leftList
objectName: "leftList"
+ cacheBuffer: 0
anchors {
left: parent.left; top: parent.top;
right: parent.horizontalCenter; bottom: parent.bottom
@@ -54,6 +55,7 @@ Item {
ListView {
id: rightList
objectName: "rightList"
+ cacheBuffer: 0
anchors {
left: parent.horizontalCenter; top: parent.top;
right: parent.right; bottom: parent.bottom