@@ -16,6 +16,9 @@
17.pragma library
17.pragma library
19+// %1 is the template["card-background"] string
20+// %2 is the template["card-background"]["elements"][0]
21+// %3 is the template["card-background"]["elements"][1]
19var kBackgroundLoaderCode = 'Loader {\n\
22var kBackgroundLoaderCode = 'Loader {\n\
20 id: backgroundLoader; \n\
23 id: backgroundLoader; \n\
21 objectName: "backgroundLoader"; \n\
24 objectName: "backgroundLoader"; \n\
@@ -34,18 +37,14 @@ var kBackgroundLoaderCode = 'Loader {\n\
34 objectName: "backgroundImage"; \n\
37 objectName: "backgroundImage"; \n\
35 source: { \n\
38 source: { \n\
36 if (cardData && typeof cardData["background"] === "string") return cardData["background"]; \n\
39 if (cardData && typeof cardData["background"] === "string") return cardData["background"]; \n\
37− else if (template && typeof template["card-background"] === "string") return template["card-background"]; \n\
40+ else return "%1"; \n\
41 function getColor(index) { \n\
43 function getColor(index) { \n\
42 if (cardData && typeof cardData["background"] === "object" \n\
44 if (cardData && typeof cardData["background"] === "object" \n\
43 && (cardData["background"]["type"] === "color" || cardData["background"]["type"] === "gradient")) { \n\
45 && (cardData["background"]["type"] === "color" || cardData["background"]["type"] === "gradient")) { \n\
44 return cardData["background"]["elements"][index]; \n\
46 return cardData["background"]["elements"][index]; \n\
45− } else if (template && typeof template["card-background"] === "object" \n\
47+ } else return index === 0 ? %2 : %3; \n\
46− && (template["card-background"]["type"] === "color" || template["card-background"]["type"] === "gradient")) { \n\
47− return template["card-background"]["elements"][index]; \n\
48− } else return undefined; \n\
@@ -315,9 +314,11 @@ var kSummaryLabelCode = 'Label { \n\
316function cardString(template, components) {
315function cardString(template, components) {
317 var code;
316 var code;
318+ var templateInteractive = (template == null ? true : (template["non-interactive"] !== undefined ? !template["non-interactive"] : true)) ? "true" : "false";
318 code = 'AbstractButton { \n\
320 code = 'AbstractButton { \n\
319 id: root; \n\
321 id: root; \n\
320− property var template; \n\
321 property var components; \n\
322 property var components; \n\
322 property var cardData; \n\
323 property var cardData; \n\
323 property var artShapeBorderSource: undefined; \n\
324 property var artShapeBorderSource: undefined; \n\
@@ -330,8 +331,8 @@ function cardString(template, components) {
330 property bool asynchronous: true; \n\
331 property bool asynchronous: true; \n\
331 property bool showHeader: true; \n\
332 property bool showHeader: true; \n\
332 implicitWidth: childrenRect.width; \n\
333 implicitWidth: childrenRect.width; \n\
333− enabled: root.template == null ? true : (root.template["non-interactive"] !== undefined ? !root.template["non-interactive"] : true); \n\
334+ enabled: %1; \n\
334− \n';
335+ \n'.arg(templateInteractive);
336 var hasArt = components["art"] && components["art"]["field"] || false;
337 var hasArt = components["art"] && components["art"]["field"] || false;
337 var hasSummary = components["summary"] || false;
338 var hasSummary = components["summary"] || false;
@@ -348,7 +349,18 @@ function cardString(template, components) {
348 var hasAttributes = hasTitle && components["attributes"]["field"] || false;
349 var hasAttributes = hasTitle && components["attributes"]["field"] || false;
350 if (hasBackground) {
351 if (hasBackground) {
352+ var templateCardBackground = (template && typeof template["card-background"] === "string") ? template["card-background"] : "";
353+ var backgroundElements0;
354+ var backgroundElements1;
355+ if (template && typeof template["card-background"] === "object" && (template["card-background"]["type"] === "color" || template["card-background"]["type"] === "gradient")) {
356+ if (template["card-background"]["elements"][0] !== undefined) {
357+ backgroundElements0 = '"%1"'.arg(template["card-background"]["elements"][0]);
359+ if (template["card-background"]["elements"][1] !== undefined) {
360+ backgroundElements1 = '"%1"'.arg(template["card-background"]["elements"][1]);
351− code += kBackgroundLoaderCode;
363+ code += kBackgroundLoaderCode.arg(templateCardBackground).arg(backgroundElements0).arg(backgroundElements1);
354 if (hasArt) {
366 if (hasArt) {