@@ -64,11 +64,26 @@ var kArtShapeHolderCode = 'Item { \n\
64 active: cardData && cardData["art"] || false; \n\
64 active: cardData && cardData["art"] || false; \n\
65 asynchronous: root.asynchronous; \n\
65 asynchronous: root.asynchronous; \n\
66 visible: status == Loader.Ready; \n\
66 visible: status == Loader.Ready; \n\
67− sourceComponent: UbuntuShape { \n\
67+ sourceComponent: Item { \n\
68 id: artShape; \n\
68 id: artShape; \n\
69 objectName: "artShape"; \n\
69 objectName: "artShape"; \n\
70− radius: "medium"; \n\
70+ property bool doShapeItem: components["art"]["conciergeMode"] !== true; \n\
71 visible: image.status == Image.Ready; \n\
71 visible: image.status == Image.Ready; \n\
72+ readonly property alias image: artImage.image; \n\
73+ ShaderEffectSource { \n\
74+ id: artShapeSource; \n\
75+ sourceItem: artImage; \n\
76+ anchors.centerIn: parent; \n\
79+ hideSource: doShapeItem; \n\
82+ image: artShapeSource; \n\
83+ anchors.fill: parent; \n\
84+ visible: doShapeItem; \n\
85+ radius: "medium"; \n\
72 readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; \n\
87 readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; \n\
73 readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; \n\
88 readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; \n\
74 Component.onCompleted: { updateWidthHeightBindings(); if (artShapeBorderSource !== undefined) borderSource = artShapeBorderSource; } \n\
89 Component.onCompleted: { updateWidthHeightBindings(); if (artShapeBorderSource !== undefined) borderSource = artShapeBorderSource; } \n\
@@ -87,11 +102,9 @@ var kArtShapeHolderCode = 'Item { \n\
87 objectName: "artImage"; \n\
102 objectName: "artImage"; \n\
88 source: cardData && cardData["art"] || ""; \n\
103 source: cardData && cardData["art"] || ""; \n\
89 asynchronous: root.asynchronous; \n\
104 asynchronous: root.asynchronous; \n\
91 width: %2; \n\
105 width: %2; \n\
92 height: %3; \n\
106 height: %3; \n\
94− image: artImage.image; \n\
@@ -322,7 +335,7 @@ function cardString(template, components) {
323 var hasArt = components["art"] && components["art"]["field"] || false;
336 var hasArt = components["art"] && components["art"]["field"] || false;
324 var hasSummary = components["summary"] || false;
337 var hasSummary = components["summary"] || false;
325− var artAndSummary = hasArt && hasSummary;
338+ var artAndSummary = hasArt && hasSummary && components["art"]["conciergeMode"] !== true;
326 var isHorizontal = template["card-layout"] === "horizontal";
339 var isHorizontal = template["card-layout"] === "horizontal";
327 var hasBackground = (!isHorizontal && (template["card-background"] || components["background"] || artAndSummary)) ||
340 var hasBackground = (!isHorizontal && (template["card-background"] || components["background"] || artAndSummary)) ||
328 (hasSummary && (template["card-background"] || components["background"]));
341 (hasSummary && (template["card-background"] || components["background"]));