overte/interface/resources/qml/hifi/avatarapp/AvatarThumbnail.qml
Alexander Ivash 5381dce8d8 get rid of 'isExternal' due to changes requirements
show avatar thumbnail if url was specified & valid, show 'guy-in-circle' otherwise
2018-07-06 21:00:54 +03:00

73 lines
2.1 KiB
QML

import QtQuick 2.9
import QtGraphicalEffects 1.0
Item {
width: 92
height: 92
property alias wearableIndicator: indicator
property int wearablesCount: 0
onWearablesCountChanged: {
console.debug('AvatarThumbnail: wearablesCount = ', wearablesCount)
}
property alias dropShadowRadius: avatarImage.dropShadowRadius
property alias dropShadowHorizontalOffset: avatarImage.dropShadowHorizontalOffset
property alias dropShadowVerticalOffset: avatarImage.dropShadowVerticalOffset
property url externalAvatarThumbnailUrl;
property var avatarUrl;
property alias border: avatarImage.border
ShadowImage {
id: avatarImage
anchors.fill: parent
radius: 5
fillMode: Image.PreserveAspectCrop
Binding on source {
when: avatarUrl !== ''
value: avatarUrl
}
onSourceChanged: {
console.debug('avatarImage: source = ', source);
}
visible: avatarImage.status !== Image.Loading && avatarImage.status !== Image.Error
}
ShadowImage {
id: customAvatarImage
anchors.fill: avatarImage;
visible: avatarUrl === '' || avatarImage.status === Image.Error
source: externalAvatarThumbnailUrl
}
ShadowRectangle {
anchors.fill: parent;
color: 'white'
visible: avatarImage.status === Image.Loading
radius: avatarImage.radius
border.width: avatarImage.border.width
border.color: avatarImage.border.color
dropShadowRadius: avatarImage.dropShadowRadius;
dropShadowHorizontalOffset: avatarImage.dropShadowHorizontalOffset
dropShadowVerticalOffset: avatarImage.dropShadowVerticalOffset
Spinner {
id: spinner
visible: parent.visible
anchors.fill: parent;
}
}
AvatarWearablesIndicator {
id: indicator
anchors.left: avatarImage.left
anchors.bottom: avatarImage.bottom
anchors.leftMargin: 57
wearablesCount: parent.wearablesCount
visible: parent.wearablesCount !== 0
}
}