I believe the "name" property should only be left as convenience when used directly:
Icon {
name: "some-known-icon-name"
}
Whenever the icon url is provided by a backend - it should be a "fully-qualified" url, i.e. full image://theme/name path, not just "name", and Icon should have a "source" property to deal with those. No one should need to guess whether it's a themed icon or a full path. IMO Icon should be renamed to "ColourizedIcon" or similar, to denote its real purpose, but Image { } should be enough to use, letting the image providers do their thing.
Actually the above is incorrect.
I believe the "name" property should only be left as convenience when used directly:
Icon { icon-name"
name: "some-known-
}
Whenever the icon url is provided by a backend - it should be a "fully-qualified" url, i.e. full image://theme/name path, not just "name", and Icon should have a "source" property to deal with those. No one should need to guess whether it's a themed icon or a full path. IMO Icon should be renamed to "ColourizedIcon" or similar, to denote its real purpose, but Image { } should be enough to use, letting the image providers do their thing.