@@ -196,8 +196,8 @@ FocusScope {
199− onHeightChanged: rendererLoader.updateDelegateCreationRange();
199+ onHeightChanged: rendererLoader.updateRanges();
200− onYChanged: rendererLoader.updateDelegateCreationRange();
200+ onYChanged: rendererLoader.updateRanges();
203 id: rendererLoader
203 id: rendererLoader
@@ -245,7 +245,7 @@ FocusScope {
245 var shouldExpand = categoryId === categoryView.expandedCategoryId;
245 var shouldExpand = categoryId === categoryView.expandedCategoryId;
246 baseItem.expand(shouldExpand, false /*animate*/);
246 baseItem.expand(shouldExpand, false /*animate*/);
248− updateDelegateCreationRange();
248+ updateRanges();
249 if (scope && scope.id === "clickscope" && (categoryId === "predefined" || categoryId === "local")) {
249 if (scope && scope.id === "clickscope" && (categoryId === "predefined" || categoryId === "local")) {
250 // Yeah, hackish :/
250 // Yeah, hackish :/
251 cardTool.artShapeSize = Qt.size(units.gu(8), units.gu(7.5));
251 cardTool.artShapeSize = Qt.size(units.gu(8), units.gu(7.5));
@@ -300,17 +300,17 @@ FocusScope {
303− onOriginYChanged: rendererLoader.updateDelegateCreationRange();
303+ onOriginYChanged: rendererLoader.updateRanges();
304− onContentYChanged: rendererLoader.updateDelegateCreationRange();
304+ onContentYChanged: rendererLoader.updateRanges();
305− onHeightChanged: rendererLoader.updateDelegateCreationRange();
305+ onHeightChanged: rendererLoader.updateRanges();
306− onContentHeightChanged: rendererLoader.updateDelegateCreationRange();
306+ onContentHeightChanged: rendererLoader.updateRanges();
308 Connections {
308 Connections {
309 target: scopeView
309 target: scopeView
310− onIsCurrentChanged: rendererLoader.updateDelegateCreationRange();
310+ onIsCurrentChanged: rendererLoader.updateRanges();
313− function updateDelegateCreationRange() {
313+ function updateRanges() {
314 if (categoryView.moving) {
314 if (categoryView.moving) {
315 // Do not update the range if we are overshooting up or down, since we'll come back
315 // Do not update the range if we are overshooting up or down, since we'll come back
316 // to the stable position and delete/create items without any reason
316 // to the stable position and delete/create items without any reason
@@ -322,6 +322,11 @@ FocusScope {
325+ if (item && item.hasOwnProperty("visibleRangeBegin")) {
326+ item.visibleRangeBegin = Math.max(-baseItem.y, 0)
327+ item.visibleRangeEnd = item.visibleRangeBegin + Math.min(categoryView.height, rendererLoader.height)
325 if (item && item.hasOwnProperty("displayMarginBeginning")) {
330 if (item && item.hasOwnProperty("displayMarginBeginning")) {
326 // TODO do we need item.originY here, test 1300302 once we have a silo
331 // TODO do we need item.originY here, test 1300302 once we have a silo
327 // and we can run it on the phone
332 // and we can run it on the phone