@@ -40,13 +40,30 @@ Item {
40 height: 1;
40 height: 1;
41 hideSource: doShapeItem;
41 hideSource: doShapeItem;
43− UbuntuShape {
43+ Loader {
45− source: artShapeSource;
46 anchors.fill: parent;
44 anchors.fill: parent;
47− visible: doShapeItem;
45+ visible: artShape.doShapeItem;
46+ sourceComponent: root.artShapeStyle === "icon" ? artShapeIconComponent : artShapeShapeComponent;
48+ id: artShapeShapeComponent;
50+ source: artShapeSource;
51+ sourceFillMode: UbuntuShape.PreserveAspectCrop;
48− radius: "medium";
52+ radius: "medium";
54+ switch (root.artShapeStyle) {
49− aspect: root.artShapeStyle === "inset" ? UbuntuShape.Inset : UbuntuShape.Flat;
55+ case "inset": return UbuntuShape.Inset;
56+ case "shadow": return UbuntuShape.DropShadow;
58+ case "flat": return UbuntuShape.Flat;
64+ id: artShapeIconComponent;
65+ UbuntuShapeIcon { source: artShapeSource; }
51 readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1;
68 readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1;
52 readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1;
69 readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1;
@@ -115,7 +132,7 @@ UbuntuShape {
115 id: touchdown;
132 id: touchdown;
116 objectName: "touchdown";
133 objectName: "touchdown";
117 anchors { fill: artShapeHolder }
134 anchors { fill: artShapeHolder }
118− visible: root.pressed;
135+ visible: root.artShapeStyle != "shadow" && root.artShapeStyle != "icon" && root.pressed;
119 radius: "medium";
136 radius: "medium";
120 borderSource: "radius_pressed.sci"
137 borderSource: "radius_pressed.sci"