44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
| // Copyright 2019 miruka
 | |
| // This file is part of harmonyqml, licensed under LGPLv3.
 | |
| 
 | |
| import QtQuick 2.7
 | |
| import "../Base"
 | |
| import "../utils.js" as Utils
 | |
| 
 | |
| Rectangle {
 | |
|     property string name: ""
 | |
|     property var imageUrl: null
 | |
|     property int dimension: theme.avatar.size
 | |
|     property bool hidden: false
 | |
| 
 | |
|     width: dimension
 | |
|     height: hidden ? 1 : dimension
 | |
|     implicitWidth: dimension
 | |
|     implicitHeight: hidden ? 1 : dimension
 | |
| 
 | |
|     opacity: hidden ? 0 : 1
 | |
| 
 | |
|     color: name ? Utils.avatarColor(name) : theme.avatar.background.unknown
 | |
| 
 | |
|     HLabel {
 | |
|         z: 1
 | |
|         anchors.centerIn: parent
 | |
|         visible: ! hidden
 | |
| 
 | |
|         text: name ? name.charAt(0) : "?"
 | |
|         color: theme.avatar.letter
 | |
|         font.pixelSize: parent.height / 1.4
 | |
|     }
 | |
| 
 | |
|     HImage {
 | |
|         z: 2
 | |
|         anchors.fill: parent
 | |
|         //visible: ! hidden && imageUrl
 | |
|         visible: false
 | |
| 
 | |
|         //Component.onCompleted: if (imageUrl) { source = imageUrl }
 | |
|         fillMode: Image.PreserveAspectCrop
 | |
|         sourceSize.width: dimension
 | |
|     }
 | |
| }
 | 
