@@ -159,7 +159,7 @@ function createCardComponent(parent, template, components) {
160 active: artShapeLoader.active && artShapeLoader.item && artShapeLoader.item.image.status === Image.Ready || false; \
160 active: artShapeLoader.active && artShapeLoader.item && artShapeLoader.item.image.status === Image.Ready || false; \
161 asynchronous: root.asynchronous; \
161 asynchronous: root.asynchronous; \
162− visible: status == Loader.Ready; \
162+ visible: showHeader && status == Loader.Ready; \
163 sourceComponent: ShaderEffect { \
163 sourceComponent: ShaderEffect { \
164 id: overlay; \
164 id: overlay; \
165 height: ' + height + ' \
165 height: ' + height + ' \
@@ -247,7 +247,7 @@ function createCardComponent(parent, template, components) {
247 objectName: "mascotShapeLoader"; \
247 objectName: "mascotShapeLoader"; \
248 asynchronous: root.asynchronous; \
248 asynchronous: root.asynchronous; \
249 active: mascotImage.status === Image.Ready; \
249 active: mascotImage.status === Image.Ready; \
250− visible: active && status == Loader.Ready; \
250+ visible: showHeader && active && status == Loader.Ready; \
251 width: units.gu(6); \
251 width: units.gu(6); \
252 height: units.gu(5.625); \
252 height: units.gu(5.625); \
253 sourceComponent: UbuntuShape { image: mascotImage } \
253 sourceComponent: UbuntuShape { image: mascotImage } \
@@ -267,7 +267,7 @@ function createCardComponent(parent, template, components) {
267 fillMode: Image.PreserveAspectCrop; \
267 fillMode: Image.PreserveAspectCrop; \
268 horizontalAlignment: Image.AlignHCenter; \
268 horizontalAlignment: Image.AlignHCenter; \
269 verticalAlignment: Image.AlignVCenter; \
269 verticalAlignment: Image.AlignVCenter; \
270− visible:' + (useMascotShape ? 'false' : 'true') + '; \
270+ visible: showHeader && ' + (useMascotShape ? 'false' : 'true') + '; \
@@ -297,7 +297,8 @@ function createCardComponent(parent, template, components) {
297 } else if (hasMascot) {
297 } else if (hasMascot) {
298 titleAnchors = 'anchors.verticalCenter: parent.verticalCenter;'
298 titleAnchors = 'anchors.verticalCenter: parent.verticalCenter;'
299 } else if (inOverlay && hasSubtitle) {
299 } else if (inOverlay && hasSubtitle) {
300+ titleAnchors = 'anchors.leftMargin: units.gu(1); \
300− titleAnchors = 'anchors.right: parent.right; \
301+ anchors.right: parent.right; \
301 anchors.bottom: subtitleLabel.top; \
302 anchors.bottom: subtitleLabel.top; \
302 anchors.bottomMargin: units.dp(2);';
303 anchors.bottomMargin: units.dp(2);';
303 titleAnchors += headerLeftAnchor;
304 titleAnchors += headerLeftAnchor;
@@ -331,6 +332,7 @@ function createCardComponent(parent, template, components) {
331 maximumLineCount: 2; \
332 maximumLineCount: 2; \
332 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale); \
333 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale); \
333 color: ' + color + '; \
334 color: ' + color + '; \
335+ visible: showHeader; \
334 text: root.title; \
336 text: root.title; \
335 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal; \
337 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal; \
336 horizontalAlignment: root.headerAlignment; \
338 horizontalAlignment: root.headerAlignment; \
@@ -345,7 +347,7 @@ function createCardComponent(parent, template, components) {
345 fontSize: "small"; \
347 fontSize: "small"; \
346 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale); \
348 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale); \
347 color: ' + color + '; \
349 color: ' + color + '; \
348− visible: titleLabel.text; \
350+ visible: showHeader && titleLabel.text; \
349 text: cardData && cardData["subtitle"] || ""; \
351 text: cardData && cardData["subtitle"] || ""; \
350 font.weight: Font.Light; \
352 font.weight: Font.Light; \
351 horizontalAlignment: root.headerAlignment; \
353 horizontalAlignment: root.headerAlignment; \