on xenial help sign in
Simplify a bit the toggle expanded logic
3ebd182Albert Astals
Dash/GenericScopeView.qml+7−19
@@ -61,22 +61,6 @@ ScopeView {
61 property bool expandable: rendererLoader.item ? rendererLoader.item.expandable : false
61 property bool expandable: rendererLoader.item ? rendererLoader.item.expandable : false
62 property bool filtered: rendererLoader.item ? rendererLoader.item.filter : true
62 property bool filtered: rendererLoader.item ? rendererLoader.item.filter : true
63
63
64− function toggleCollapse() {
65− if (expandable) {
66− if (index != categoryView.expandedIndex && categoryView.expandedIndex != -1) {
67− var obj = categoryView.item(categoryView.expandedIndex);
68− if (obj)
69− obj.toggleCollapse();
70− }
71− rendererLoader.item.filter = !rendererLoader.item.filter;
72− if (rendererLoader.item.filter) {
73− categoryView.expandedIndex = -1
74− } else {
75− categoryView.expandedIndex = index
76− }
77− }
78− }
79−
80 Loader {
64 Loader {
81 id: rendererLoader
65 id: rendererLoader
82 anchors {
66 anchors {
@@ -89,6 +73,9 @@ ScopeView {
89
73
90 onLoaded: {
74 onLoaded: {
91 item.model = results
75 item.model = results
76+ if (item.expandable) {
77+ item.filter = Qt.binding(function() { return index != categoryView.expandedIndex; });
78+ }
92 }
79 }
93
80
94 Connections {
81 Connections {
@@ -139,9 +126,10 @@ ScopeView {
139 return "";
126 return "";
140 }
127 }
141 onClicked: {
128 onClicked: {
142− var obj = categoryView.item(delegateIndex);
129+ if (categoryView.expandedIndex != delegateIndex)
143− if (obj)
130+ categoryView.expandedIndex = delegateIndex;
144− obj.toggleCollapse();
131+ else
132+ categoryView.expandedIndex = -1;
145 }
133 }
146 }
134 }
147 pageHeader: PageHeader {
135 pageHeader: PageHeader {