mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-29 15:25:02 +08:00
61 lines
1.6 KiB
QML
61 lines
1.6 KiB
QML
// Copyright (c) 2018 Ultimaker B.V.
|
|
// Cura is released under the terms of the LGPLv3 or higher.
|
|
|
|
import QtQuick 2.10
|
|
import QtQuick.Controls 2.3
|
|
|
|
import UM 1.4 as UM
|
|
|
|
Item
|
|
{
|
|
// This item shows the provided image while applying a round mask to it.
|
|
// It also shows a round border around it. The color is defined by the outlineColor property.
|
|
|
|
id: avatar
|
|
|
|
property alias source: profileImage.source
|
|
property alias outlineColor: profileImageOutline.color
|
|
|
|
// This should be set to the color behind the image
|
|
// It fills the space around a rectangular avatar to make the image under it look circular
|
|
property alias maskColor: profileImageMask.color
|
|
property bool hasAvatar: source != ""
|
|
|
|
Rectangle
|
|
{
|
|
id: profileImageBackground
|
|
anchors.fill: parent
|
|
radius: width
|
|
color: "white"
|
|
}
|
|
|
|
Image
|
|
{
|
|
id: profileImage
|
|
anchors.fill: parent
|
|
fillMode: Image.PreserveAspectCrop
|
|
visible: hasAvatar
|
|
mipmap: true
|
|
}
|
|
|
|
UM.ColorImage
|
|
{
|
|
// This image is a rectangle with a hole in the middle.
|
|
// Since we don't have access to proper masking in QT6 yet this is used as a primitive masking replacement
|
|
id: profileImageMask
|
|
anchors.fill: parent
|
|
source: UM.Theme.getIcon("CircleMask")
|
|
}
|
|
|
|
UM.ColorImage
|
|
{
|
|
// This creates the circle outline around the image
|
|
id: profileImageOutline
|
|
anchors.fill: parent
|
|
anchors.margins: .25
|
|
visible: hasAvatar
|
|
source: UM.Theme.getIcon("CircleOutline")
|
|
color: UM.Theme.getColor("account_widget_outline_active")
|
|
}
|
|
}
|