@@ -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
64− function toggleCollapse() {
66− if (index != categoryView.expandedIndex && categoryView.expandedIndex != -1) {
67− var obj = categoryView.item(categoryView.expandedIndex);
69− obj.toggleCollapse();
71− rendererLoader.item.filter = !rendererLoader.item.filter;
72− if (rendererLoader.item.filter) {
73− categoryView.expandedIndex = -1
75− categoryView.expandedIndex = index
81 id: rendererLoader
65 id: rendererLoader
@@ -89,6 +73,9 @@ ScopeView {
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; });
94 Connections {
81 Connections {
@@ -139,9 +126,10 @@ ScopeView {
139 return "";
126 return "";
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;
147 pageHeader: PageHeader {
135 pageHeader: PageHeader {