1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // 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 QtGraphicalEffects 1.0
- 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
- property bool hasAvatar: source != ""
- Image
- {
- id: profileImage
- anchors.fill: parent
- fillMode: Image.PreserveAspectCrop
- visible: false
- mipmap: true
- }
- Rectangle
- {
- id: profileImageMask
- anchors.fill: parent
- radius: width
- color: hasAvatar ? "white" : "transparent"
- }
- OpacityMask
- {
- anchors.fill: parent
- source: profileImage
- maskSource: profileImageMask
- visible: hasAvatar
- cached: true
- }
- UM.RecolorImage
- {
- id: profileImageOutline
- anchors.centerIn: parent
- // Make it a bit bigger than it has to, otherwise it sometimes shows a white border.
- width: parent.width + 2
- height: parent.height + 2
- visible: hasAvatar
- source: UM.Theme.getIcon("CircleOutline")
- sourceSize: Qt.size(parent.width, parent.height)
- color: UM.Theme.getColor("account_widget_outline_active")
- }
- }
|