@@ -78,13 +78,30 @@ var kArtShapeHolderCode = 'Item { \n\
7878 height: 1; \n\
7979 hideSource: doShapeItem; \n\
8080 } \n\
81− UbuntuShape { \n\
82− id: artShapeShape; \n\
83− source: artShapeSource; \n\
81+ Loader { \n\
8482 anchors.fill: parent; \n\
85− visible: doShapeItem; \n\
86− radius: "medium"; \n\
87− aspect: root.artShapeStyle === "inset" ? UbuntuShape.Inset : UbuntuShape.Flat; \n\
83+ visible: artShape.doShapeItem; \n\
84+ sourceComponent: root.artShapeStyle === "icon" ? artShapeIconComponent : artShapeShapeComponent; \n\
85+ Component { \n\
86+ id: artShapeShapeComponent; \n\
87+ UbuntuShape { \n\
88+ source: artShapeSource; \n\
89+ sourceFillMode: UbuntuShape.PreserveAspectCrop; \n\
90+ radius: "medium"; \n\
91+ aspect: { \n\
92+ switch (root.artShapeStyle) { \n\
93+ case "inset": return UbuntuShape.Inset; \n\
94+ case "shadow": return UbuntuShape.DropShadow; \n\
95+ default: \n\
96+ case "flat": return UbuntuShape.Flat; \n\
97+ } \n\
98+ } \n\
99+ } \n\
100+ } \n\
101+ Component { \n\
102+ id: artShapeIconComponent; \n\
103+ ProportionalShape { source: artShapeSource; aspect: UbuntuShape.DropShadow; } \n\
104+ } \n\
88105 } \n\
89106 readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; \n\
90107 readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; \n\
@@ -236,7 +253,7 @@ var kTouchdownCode = 'UbuntuShape { \n\
236253 id: touchdown; \n\
237254 objectName: "touchdown"; \n\
238255 anchors { %1 } \n\
239− visible: root.pressed; \n\
256+ visible: root.artShapeStyle != "shadow" && root.artShapeStyle != "icon" && root.pressed; \n\
240257 radius: "medium"; \n\
241258 borderSource: "radius_pressed.sci" \n\
242259 }\n';