Beat the butter and sugar together in a bowl until pale and creamy. Gradually mix in alternate spoonfuls of beaten egg and flour until all has been added.
Chop the dried fruit, nuts and pineapple and then fold into the cake mixture with the coconut, sultanas and 3 tablespoons of the reserved pineapple syrup.
Spoon the mixture into a greased and floured 23 cm (9 inch) ring mould or 20 cm (8 inch) cake tin. Bake in a preheated oven, 160°C (325°F), Gas Mark 3, for 1¼ hours if using a ring mould and 1½ hours if using a cake tin. Leave to cool in the tin for at least 10 minutes then loosen the edges and turn out on to a wire rack. Leave to cool completely.
Make the icing. Sift the icing sugar into the melted butter, then add 1 tablespoon of the reserved pineapple syrup and the coconut. Stir to combine, then spread the icing over the top of the cake and a little down the sides. Sprinkle with toasted coconut shavings to decorate.