@@ -43,28 +43,36 @@ GridLayout {
43 Layout.column: index % grid.columns
43 Layout.column: index % grid.columns
44 Layout.row: index / grid.columns
44 Layout.row: index / grid.columns
45 Layout.columnSpan: index == repeater.count - 1 && grid.columns == 3 && column == 1 ? 2 : 1
45 Layout.columnSpan: index == repeater.count - 1 && grid.columns == 3 && column == 1 ? 2 : 1
46− Layout.maximumWidth: Math.max(icon.width, label.x + label.implicitWidth)
46+ Layout.maximumWidth: Math.max(iconLoader.width, labelLoader.x + labelLoader.implicitWidth)
47 Layout.fillWidth: true
47 Layout.fillWidth: true
48 height: units.gu(2)
48 height: units.gu(2)
50− id: icon
50+ id: iconLoader
51+ readonly property string source: "icon" in modelData && modelData["icon"] || ""
52+ active: source !== ""
53+ sourceComponent: Icon {
51− height: units.gu(2)
54+ height: units.gu(2)
52− // FIXME Workaround for bug https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1421293
55+ // FIXME Workaround for bug https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1421293
53− width: implicitWidth > 0 && implicitHeight > 0 ? (implicitWidth / implicitHeight * height) : implicitWidth
56+ width: implicitWidth > 0 && implicitHeight > 0 ? (implicitWidth / implicitHeight * height) : implicitWidth
54− source: "icon" in modelData && modelData["icon"] || ""
57+ source: parent.source
55− color: grid.color
58+ color: grid.color
58− id: label
62+ id: labelLoader
59 width: parent.width - x
63 width: parent.width - x
64+ readonly property string value: "value" in modelData && modelData["value"] || ""
66+ sourceComponent: Label {
60− anchors.verticalCenter: parent.verticalCenter
67+ anchors.verticalCenter: parent.verticalCenter
61− text: "value" in modelData && modelData["value"] || "";
68+ text: parent.value
62− elide: Text.ElideRight
69+ elide: Text.ElideRight
63− maximumLineCount: 1
70+ maximumLineCount: 1
64− font.weight: "style" in modelData && modelData["style"] === "highlighted" ? Font.Bold : Font.Light
71+ font.weight: "style" in modelData && modelData["style"] === "highlighted" ? Font.Bold : Font.Light
65− fontSize: "small"
72+ fontSize: "small"
66− font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale)
73+ font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale)
67− color: grid.color
74+ color: grid.color