18 import Ubuntu.Components 0.1
20 import
"../Components"
33 readonly
property bool expandable: model.count > rowsWhenCollapsed * iconTileGrid.columns
35 property var model: null
38 property int collapsedRowCount: 2
39 property int uncollapsedRowCount: Math.ceil(model.count / columns)
41 readonly
property int rowsWhenCollapsed: Math.min(collapsedRowCount, uncollapsedRowCount)
42 readonly
property int collapsedHeight: iconTileGrid.contentHeightForRows(rowsWhenCollapsed)
43 readonly
property int uncollapsedHeight: iconTileGrid.contentHeightForRows(uncollapsedRowCount)
45 property alias minimumHorizontalSpacing: iconTileGrid.minimumHorizontalSpacing
46 property alias maximumNumberOfColumns: iconTileGrid.maximumNumberOfColumns
47 property alias columns: iconTileGrid.columns
48 property alias delegateWidth: iconTileGrid.delegateWidth
49 property alias delegateHeight: iconTileGrid.delegateHeight
50 property alias verticalSpacing: iconTileGrid.verticalSpacing
51 readonly
property alias margins: iconTileGrid.margins
52 property alias delegate: iconTileGrid.delegate
53 property alias cellWidth: iconTileGrid.cellWidth
54 property alias cellHeight: iconTileGrid.cellHeight
55 property alias delegateCreationBegin: iconTileGrid.delegateCreationBegin
56 property alias delegateCreationEnd: iconTileGrid.delegateCreationEnd
57 readonly
property alias originY: iconTileGrid.originY
58 readonly
property alias flicking: iconTileGrid.flicking
59 readonly
property alias moving: iconTileGrid.moving
60 readonly
property alias pressDelay: iconTileGrid.pressDelay
61 property alias highlightIndex: iconTileGrid.highlightIndex
62 readonly
property alias currentItem: iconTileGrid.currentItem
63 readonly
property alias filtered: d.filter
72 property bool filter:
true
73 property bool collapsed:
true
76 height: d.collapsed ? root.collapsedHeight : root.uncollapsedHeight
77 clip: filterAnimation.running
88 easing.type: Easing.InOutQuad
91 d.filter = d.collapsed;
93 heightBehaviour.enabled =
false;
98 function setFilter(filter, animate) {
99 heightBehaviour.enabled = animate;
100 d.collapsed = filter;
101 if (!animate || !filter) {
109 anchors { left: parent.left; right: parent.right }
110 height: totalContentHeight
113 minimumHorizontalSpacing: units.gu(0.5)
114 maximumNumberOfColumns: 6
115 delegateWidth: units.gu(11)
116 delegateHeight: units.gu(9.5)
117 verticalSpacing: units.gu(2)
119 model: LimitProxyModel {
121 limit: d.filter ? rowsWhenCollapsed * iconTileGrid.columns : -1