on xenial help sign in
First attempt at showing the arrow
6267307Albert Astals
Components/ListItems/Header.qml+11−2
@@ -24,6 +24,7 @@ Item {
24 \qmlproperty string text
24 \qmlproperty string text
25 */
25 */
26 property alias text: label.text
26 property alias text: label.text
27+ property alias image: image.source
27
28
28 signal clicked(variant mouse)
29 signal clicked(variant mouse)
29
30
@@ -33,6 +34,7 @@ Item {
33 anchors {
34 anchors {
34 left: parent.left
35 left: parent.left
35 right: parent.right
36 right: parent.right
37+ rightMargin: units.gu(0.5)
36 top: parent.top
38 top: parent.top
37 bottom: bottomBorder.top
39 bottom: bottomBorder.top
38 }
40 }
@@ -42,8 +44,6 @@ Item {
42 anchors {
44 anchors {
43 left: parent.left
45 left: parent.left
44 leftMargin: units.gu(2)
46 leftMargin: units.gu(2)
45− right: parent.right
46− rightMargin: units.gu(0.5)
47 verticalCenter: parent.verticalCenter
47 verticalCenter: parent.verticalCenter
48 }
48 }
49
49
@@ -56,6 +56,15 @@ Item {
56 style: Text.Raised
56 style: Text.Raised
57 styleColor: "black"
57 styleColor: "black"
58 }
58 }
59+
60+ Image {
61+ id: image
62+ anchors {
63+ left: label.right
64+ leftMargin: units.gu(1)
65+ verticalCenter: parent.verticalCenter
66+ }
67+ }
59 }
68 }
60
69
61 ThinDivider {
70 ThinDivider {
Dash/GenericScopeView.qml+11
@@ -58,6 +58,9 @@ ScopeView {
58 delegate: ListItems.Base {
58 delegate: ListItems.Base {
59 highlightWhenPressed: false
59 highlightWhenPressed: false
60
60
61+ property bool expandable: rendererLoader.item ? rendererLoader.item.expandable : false
62+ property bool filtered: rendererLoader.item ? rendererLoader.item.filter : true
63+
61 function toggleCollapse() {
64 function toggleCollapse() {
62 if (rendererLoader.item.expandable) {
65 if (rendererLoader.item.expandable) {
63 if (index != categoryView.expandedIndex && categoryView.expandedIndex != -1) {
66 if (index != categoryView.expandedIndex && categoryView.expandedIndex != -1) {
@@ -125,8 +128,16 @@ ScopeView {
125
128
126 sectionProperty: "name"
129 sectionProperty: "name"
127 sectionDelegate: ListItems.Header {
130 sectionDelegate: ListItems.Header {
131+ property var delegate: categoryView.item(delegateIndex)
128 width: categoryView.width
132 width: categoryView.width
129 text: section
133 text: section
134+ image: {
135+ if (delegate) {
136+ if (delegate.expandable)
137+ return delegate.filtered ? "graphics/header_handlearrow.png" : "graphics/header_handlearrow2.png"
138+ }
139+ return "";
140+ }
130 onClicked: {
141 onClicked: {
131 var obj = categoryView.item(delegateIndex);
142 var obj = categoryView.item(delegateIndex);
132 if (obj)
143 if (obj)
Dash/graphics/header_handlearrow2@20.pngnew file

Binary file not shown.

Dash/graphics/header_handlearrow@20.pngnew file

Binary file not shown.

plugins/ListViewWithPageHeader/listviewwithpageheader.cpp+4
@@ -779,6 +779,10 @@ ListViewWithPageHeader::ListItem *ListViewWithPageHeader::createItem(int modelIn
779 m_firstVisibleIndex = modelIndex;
779 m_firstVisibleIndex = modelIndex;
780 polish();
780 polish();
781 }
781 }
782+ if (listItem->m_sectionItem) {
783+ QQmlContext *context = QQmlEngine::contextForObject(listItem->m_sectionItem)->parentContext();
784+ context->setContextProperty(QLatin1String("delegateIndex"), modelIndex);
785+ }
782 adjustMinYExtent();
786 adjustMinYExtent();
783 m_contentHeightDirty = true;
787 m_contentHeightDirty = true;
784 }
788 }