on xenial help sign in
Remove maximum number of columns from ResponsiveGridView
d4080ccAlbert Astals Cid
qml/Components/ResponsiveGridView.qml+2−4
@@ -18,12 +18,10 @@ import QtQuick 2.4
18import Ubuntu.Components 1.3
18import Ubuntu.Components 1.3
19
19
20/*
20/*
21− Essentially a GridView where you can specify the maximum number of columns it can have.
21+ Essentially a GridView
22 */
22 */
23Item {
23Item {
24 property int minimumHorizontalSpacing: units.gu(0.5)
24 property int minimumHorizontalSpacing: units.gu(0.5)
25− // property int minimumNumberOfColumns: 2 // FIXME: not implemented
26− property int maximumNumberOfColumns: 6
27 readonly property int columns: gridView.columns
25 readonly property int columns: gridView.columns
28 property alias verticalSpacing: gridView.verticalSpacing
26 property alias verticalSpacing: gridView.verticalSpacing
29 readonly property alias margins: gridView.margin
27 readonly property alias margins: gridView.margin
@@ -81,7 +79,7 @@ Item {
81 }
79 }
82
80
83 property real allocatableHorizontalSpace: parent.width - columns * delegateWidth
81 property real allocatableHorizontalSpace: parent.width - columns * delegateWidth
84− property int columns: Math.min(columnsForSpacing(minimumHorizontalSpacing), maximumNumberOfColumns)
82+ property int columns: columnsForSpacing(minimumHorizontalSpacing)
85 property real horizontalSpacing: spacingForColumns(columns)
83 property real horizontalSpacing: spacingForColumns(columns)
86 property real verticalSpacing: horizontalSpacing
84 property real verticalSpacing: horizontalSpacing
87 property int margin: allocatableHorizontalSpace - columns * horizontalSpacing
85 property int margin: allocatableHorizontalSpace - columns * horizontalSpacing
tests/qmltests/Components/tst_ResponsiveGridView.qml−36
@@ -32,12 +32,6 @@ Item {
32 height: parent.height
32 height: parent.height
33 anchors.top: parent.top
33 anchors.top: parent.top
34 anchors.right: parent.right
34 anchors.right: parent.right
35− ListItem.ValueSelector {
36− id: maxColumnsSelector
37− text: "maximumNumberOfColumns"
38− values: [2,4,8,13,1000]
39− selectedIndex: 1
40− }
41 ListItem.ValueSelector {
35 ListItem.ValueSelector {
42 id: minHSpacingSelector
36 id: minHSpacingSelector
43 text: "minHorizontalSpacing"
37 text: "minHorizontalSpacing"
@@ -86,8 +80,6 @@ Item {
86 minimumHorizontalSpacing:
80 minimumHorizontalSpacing:
87 minHSpacingSelector.values[minHSpacingSelector.selectedIndex]
81 minHSpacingSelector.values[minHSpacingSelector.selectedIndex]
88 verticalSpacing: units.gu(2)
82 verticalSpacing: units.gu(2)
89− maximumNumberOfColumns:
90− maxColumnsSelector.values[maxColumnsSelector.selectedIndex]
91 delegateWidth: units.gu(6)
83 delegateWidth: units.gu(6)
92 delegateHeight: units.gu(6)
84 delegateHeight: units.gu(6)
93
85
@@ -123,31 +115,6 @@ Item {
123 name: "ResponsiveGridView"
115 name: "ResponsiveGridView"
124 when: windowShown
116 when: windowShown
125
117
126− function test_maximumNumberOfColumns_data() {
127− var data = new Array()
128−
129− data.push({selectedIndex: 0, maxColumnCount:2, columnCount: 2})
130− data.push({selectedIndex: 1, maxColumnCount:4, columnCount: 4})
131− data.push({selectedIndex: 2, maxColumnCount:8, columnCount: 8})
132− data.push({selectedIndex: 4, maxColumnCount:1000, columnCount: 13})
133−
134− return data
135− }
136−
137− /* Change ResponsiveGridView's maximumNumberOfColumns property and check
138− that the resulting number of columns matches expectations */
139− function test_maximumNumberOfColumns(data) {
140− minHSpacingSelector.selectedIndex = 0
141−
142− // sanity checks
143− compare(maxColumnsSelector.values[data.selectedIndex], data.maxColumnCount)
144− compare(minHSpacingSelector.values[0], 0)
145−
146− maxColumnsSelector.selectedIndex = data.selectedIndex
147− tryCompareFunction(countGridDelegatesOnFirstRow, data.columnCount);
148− compare(grid.columns, data.columnCount)
149− }
150−
151 function test_minimumHorizontalSpacing_data() {
118 function test_minimumHorizontalSpacing_data() {
152 var data = new Array()
119 var data = new Array()
153
120
@@ -162,10 +129,7 @@ Item {
162 /* Change ResponsiveGridView's minimumHorizontalSpacing property and check
129 /* Change ResponsiveGridView's minimumHorizontalSpacing property and check
163 that the resulting number of columns matches expectations */
130 that the resulting number of columns matches expectations */
164 function test_minimumHorizontalSpacing(data) {
131 function test_minimumHorizontalSpacing(data) {
165− maxColumnsSelector.selectedIndex = 4
166−
167 // sanity checks
132 // sanity checks
168− compare(maxColumnsSelector.values[4], 1000)
169 compare(minHSpacingSelector.values[data.selectedIndex], data.minHSpacing)
133 compare(minHSpacingSelector.values[data.selectedIndex], data.minHSpacing)
170
134
171 minHSpacingSelector.selectedIndex = data.selectedIndex
135 minHSpacingSelector.selectedIndex = data.selectedIndex