@@ -25,6 +25,7 @@ MouseArea {
25 signal handlePressed(var handle)
25 signal handlePressed(var handle)
26 signal handleReleased(var handle)
26 signal handleReleased(var handle)
28+ property real topMargin: 0
28 property alias icon: shapeImage.source
29 property alias icon: shapeImage.source
29 property alias text: titleLabel.text
30 property alias text: titleLabel.text
30 property alias subtext: subtitleLabel.text
31 property alias subtext: subtitleLabel.text
@@ -33,65 +34,71 @@ MouseArea {
33 property bool isFavorite: false
34 property bool isFavorite: false
34 property bool hideChildren: false
35 property bool hideChildren: false
36− UbuntuShape {
37+ Item {
37− id: shape
38+ id: holder
38− anchors {
39+ anchors.fill: parent
39− left: parent.left
40+ anchors.topMargin: root.topMargin
40− leftMargin: units.gu(1)
41− verticalCenter: parent.verticalCenter
45− visible: !hideChildren
49− fillMode: Image.PreserveAspectCrop
53− ColumnLayout {
42+ UbuntuShape {
46+ leftMargin: units.gu(1)
47+ verticalCenter: parent.verticalCenter
54− visible: !hideChildren
51+ visible: !hideChildren
55− anchors {
52+ image: Image {
56− left: shape.right
53+ id: shapeImage
57− leftMargin: units.gu(1)
54+ cache: true
58− right: starArea.right
55+ fillMode: Image.PreserveAspectCrop
59− rightMargin: units.gu(1)
60− verticalCenter: parent.verticalCenter
64− elide: Text.ElideRight
67− verticalAlignment: Text.AlignHCenter
71− elide: Text.ElideRight
75− verticalAlignment: Text.AlignHCenter
79− MouseArea {
59+ ColumnLayout {
81− height: parent.height
83− anchors.right: parent.right
84− onClicked: if (!editMode) root.requestFavorite(model.scopeId, !isFavorite);
85− onPressed: if (editMode) root.handlePressed(starArea);
86− onReleased: if (editMode) root.handleReleased(starArea);
89− anchors.centerIn: parent
92 visible: !hideChildren
60 visible: !hideChildren
63+ leftMargin: units.gu(1)
64+ right: starArea.right
65+ rightMargin: units.gu(1)
66+ verticalCenter: parent.verticalCenter
70+ elide: Text.ElideRight
73+ verticalAlignment: Text.AlignHCenter
77+ elide: Text.ElideRight
81+ verticalAlignment: Text.AlignHCenter
87+ height: parent.height
89+ anchors.right: parent.right
90+ onClicked: if (!editMode) root.requestFavorite(model.scopeId, !isFavorite);
91+ onPressed: if (editMode) root.handlePressed(starArea);
92+ onReleased: if (editMode) root.handleReleased(starArea);
95+ anchors.centerIn: parent
98+ visible: !hideChildren
93− // TODO is view-grid-symbolic what we really want here? Looks good but seems semantically wrong
99+ // TODO is view-grid-symbolic what we really want here? Looks good but seems semantically wrong
94− source: editMode ? "image://theme/view-grid-symbolic" : isFavorite ? "image://theme/starred" : "image://theme/non-starred"
100+ source: editMode ? "image://theme/view-grid-symbolic" : isFavorite ? "image://theme/starred" : "image://theme/non-starred"