mirror of
https://github.com/JulianGro/overte.git
synced 2025-08-13 13:50:05 +02:00
55 lines
1.6 KiB
QML
55 lines
1.6 KiB
QML
import QtQuick 2.9
|
|
|
|
ListModel {
|
|
id: model
|
|
|
|
function makeThumbnailUrl(avatarUrl) {
|
|
var splittedUrl = avatarUrl.split('/');
|
|
var marketId = splittedUrl[splittedUrl.length - 2];
|
|
var indexOfVSuffix = marketId.indexOf('-v');
|
|
if(indexOfVSuffix !== -1) {
|
|
marketId = marketId.substring(0, indexOfVSuffix);
|
|
}
|
|
var avatarThumbnailUrl = "https://hifi-metaverse.s3-us-west-1.amazonaws.com/marketplace/previews/%marketId%/large/hifi-mp-%marketId%.jpg"
|
|
.split('%marketId%').join(marketId);
|
|
|
|
return avatarThumbnailUrl;
|
|
}
|
|
|
|
function populate(bookmarks) {
|
|
for(var avatarName in bookmarks) {
|
|
var avatarThumbnailUrl = makeThumbnailUrl(bookmarks[avatarName].avatarUrl);
|
|
|
|
var avatarEntry = {
|
|
'name' : avatarName,
|
|
'url' : avatarThumbnailUrl,
|
|
'wearables' : bookmarks[avatarName].avatarEntites ? bookmarks[avatarName].avatarEntites : [],
|
|
'entry' : bookmarks[avatarName],
|
|
'getMoreAvatars' : false
|
|
};
|
|
|
|
append(avatarEntry);
|
|
}
|
|
}
|
|
|
|
function findAvatarIndex(avatarName) {
|
|
for(var i = 0; i < count; ++i) {
|
|
if(get(i).name === avatarName) {
|
|
console.debug('avatar found by index: ', i)
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
function findAvatar(avatarName) {
|
|
console.debug('AvatarsModel: find avatar by', avatarName);
|
|
|
|
var avatarIndex = findAvatarIndex(avatarName);
|
|
if(avatarIndex === -1)
|
|
return undefined;
|
|
|
|
return get(avatarIndex);
|
|
}
|
|
|
|
}
|