@@ -35,15 +35,20 @@ Item {
3535
3636 /* Whether, when collapsed, a button should be displayed enabling the user to expand
3737 the grid to its full size. */
38− readonly property bool expandable: model.count > collapsedRowCount * iconTileGrid.columns
38+ readonly property bool expandable: model.count > actualCollapsedRowCount * iconTileGrid.columns
3939
4040 property var model: null
4141
4242 /* Maximum number of rows to be show when filter=true. */
4343 property int collapsedRowCount: 2
44+ /* Never show more rows than model would fill up. */
45+ readonly property int actualCollapsedRowCount: {
46+ return Math.min(collapsedRowCount, Math.ceil(model.count, columns))
47+ }
4448 property int uncollapsedRowCount: Math.ceil(model.count / columns)
4549 readonly property int collapsedHeight: {
46− return iconTileGrid.contentHeightForRows(Math.min(collapsedRowCount, Math.ceil(model.count / columns)))
50+ return iconTileGrid.contentHeightForRows(Math.min(
51+ actualCollapsedRowCount, Math.ceil(model.count / columns)))
4752 }
4853 readonly property int uncollapsedHeight: {
4954 return iconTileGrid.contentHeightForRows(uncollapsedRowCount)
@@ -106,7 +111,7 @@ Item {
106111
107112 model: LimitProxyModel {
108113 model: root.model
109− limit: (filter && !filterAnimation.running) ? collapsedRowCount * iconTileGrid.columns : -1
114+ limit: (filter && !filterAnimation.running) ? actualCollapsedRowCount * iconTileGrid.columns : -1
110115 }
111116 }
112117}