on xenial help sign in
Simplify a bit the toggle expanded logic
commit3ebd1826132784bc6af3a69db919992647375306 authorAlbert Astals <albert.astals@canonical.com> dateThu 8 Aug 2013, 15:03 (13 years ago) parent202453c
1 file changed+7−19
Dash/GenericScopeView.qml+7−19
Dash/GenericScopeView.qml+7−19
@@ -61,22 +61,6 @@ ScopeView {
6161 property bool expandable: rendererLoader.item ? rendererLoader.item.expandable : false
6262 property bool filtered: rendererLoader.item ? rendererLoader.item.filter : true
6363
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−
8064 Loader {
8165 id: rendererLoader
8266 anchors {
@@ -89,6 +73,9 @@ ScopeView {
8973
9074 onLoaded: {
9175 item.model = results
76+ if (item.expandable) {
77+ item.filter = Qt.binding(function() { return index != categoryView.expandedIndex; });
78+ }
9279 }
9380
9481 Connections {
@@ -139,9 +126,10 @@ ScopeView {
139126 return "";
140127 }
141128 onClicked: {
142− var obj = categoryView.item(delegateIndex);
143− if (obj)
144− obj.toggleCollapse();
129+ if (categoryView.expandedIndex != delegateIndex)
130+ categoryView.expandedIndex = delegateIndex;
131+ else
132+ categoryView.expandedIndex = -1;
145133 }
146134 }
147135 pageHeader: PageHeader {