@@ -92,11 +92,22 @@ QString gIconToDeclarativeImageProviderString(QString const &giconString)
9292 return result;
9393}
9494
95−QString uriToThumbnailerProviderString(QString const &uri, QString const &mimetype)
95+QString uriToThumbnailerProviderString(QString const &uri, QString const &mimetype, QVariantHash const &metadata)
9696{
9797 if (uri.startsWith(QLatin1String("file:///"))) {
98− QString thumbnailerUri(mimetype.startsWith(QLatin1String("audio/")) ? BASE_ALBUMART_URI : BASE_THUMBNAILER_URI);
99− thumbnailerUri.append(uri.midRef(7));
98+ bool isAudio = mimetype.startsWith(QLatin1String("audio/"));
99+ QString thumbnailerUri;
100+ if (isAudio) {
101+ thumbnailerUri = BASE_ALBUMART_URI;
102+ const QString album = metadata["album"].toString();
103+ const QString artist = metadata["artist"].toString();
104+ thumbnailerUri.append(album);
105+ thumbnailerUri.append("§"); //FIXME: change to proper escaping
106+ thumbnailerUri.append(artist);
107+ } else {
108+ thumbnailerUri = BASE_THUMBNAILER_URI;
109+ thumbnailerUri.append(uri.midRef(7));
110+ }
100111 return thumbnailerUri;
101112 }
102113