on xenial help sign in
Fix filtering colllapsing/expanding again
f8cf7c6Albert Astals
Dash/DashFilterGrid.qml+3−2
@@ -35,8 +35,6 @@ DashRenderer {
35 rows: filter ? filterGrid.collapsedRowCount : filterGrid.uncollapsedRowCount
35 rows: filter ? filterGrid.collapsedRowCount : filterGrid.uncollapsedRowCount
36 currentItem: filterGrid.currentItem
36 currentItem: filterGrid.currentItem
37 expandable: filterGrid.expandable
37 expandable: filterGrid.expandable
38− delegateCreationBegin: filterGrid.delegateCreationBegin
39− delegateCreationEnd: filterGrid.delegateCreationEnd
40 height: filterGrid.height
38 height: filterGrid.height
41 margins: filterGrid.margins
39 margins: filterGrid.margins
42 uncollapsedHeight: filterGrid.uncollapsedHeight
40 uncollapsedHeight: filterGrid.uncollapsedHeight
@@ -56,9 +54,12 @@ DashRenderer {
56 model: dashFilterGrid.model
54 model: dashFilterGrid.model
57 filter: dashFilterGrid.filter
55 filter: dashFilterGrid.filter
58 highlightIndex: dashFilterGrid.highlightIndex
56 highlightIndex: dashFilterGrid.highlightIndex
57+ delegateCreationBegin: dashFilterGrid.delegateCreationBegin
58+ delegateCreationEnd: dashFilterGrid.delegateCreationEnd
59
59
60 onFilterChanged: {
60 onFilterChanged: {
61 dashFilterGrid.filter = filter
61 dashFilterGrid.filter = filter
62+ filter = Qt.binding(function() { return dashFilterGrid.filter })
62 }
63 }
63 }
64 }
64}
65}
Dash/DashRenderer.qml+2−2
@@ -38,9 +38,9 @@ Item {
38
38
39 property int uncollapsedHeight: height
39 property int uncollapsedHeight: height
40
40
41− property real delegateCreationBegin
41+ property var delegateCreationBegin: undefined
42
42
43− property real delegateCreationEnd
43+ property var delegateCreationEnd: undefined
44
44
45 property real verticalSpacing: 0
45 property real verticalSpacing: 0
46
46
tests/qmltests/Dash/tst_GenericScopeView.qml+30
@@ -276,6 +276,36 @@ Item {
276 closePreview();
276 closePreview();
277 tryCompare(previewListView, "open", false);
277 tryCompare(previewListView, "open", false);
278 }
278 }
279+
280+ function test_filter_expand_expand() {
281+ // wait for the item to be there
282+ tryCompareFunction(function() { return findChild(genericScopeView, "dashSectionHeader2") != undefined; }, true);
283+
284+ var categoryListView = findChild(genericScopeView, "categoryListView");
285+ categoryListView.contentY = categoryListView.height;
286+
287+ var header2 = findChild(genericScopeView, "dashSectionHeader2")
288+ var category2 = findChild(genericScopeView, "dashCategory2")
289+ var category2FilterGrid = category2.children[0].children[0].children[0];
290+ verify(UT.Util.isInstanceOf(category2FilterGrid, "FilterGrid"));
291+
292+ waitForRendering(header2);
293+ verify(category2.expandable);
294+ verify(category2.filtered);
295+
296+ mouseClick(header2, header2.width / 2, header2.height / 2);
297+ tryCompare(category2, "filtered", false);
298+ tryCompare(category2FilterGrid, "filter", false);
299+
300+ categoryListView.positionAtBeginning();
301+
302+ var header0 = findChild(genericScopeView, "dashSectionHeader0")
303+ var category0 = findChild(genericScopeView, "dashCategory0")
304+ mouseClick(header0, header0.width / 2, header0.height / 2);
305+ tryCompare(category0, "filtered", false);
306+ tryCompare(category2, "filtered", true);
307+ tryCompare(category2FilterGrid, "filter", true);
308+ }
279 }
309 }
280 }
310 }
281}
311}