noctalia-shell/Components/Avatar.qml
2025-08-03 08:49:03 -04:00

43 lines
1 KiB
QML

import QtQuick
import Qt5Compat.GraphicalEffects
import Quickshell
import Quickshell.Widgets
import qs.Settings
Item {
anchors.fill: parent
IconImage {
id: avatarImage
anchors.fill: parent
anchors.margins: 2
source: "file://" + Settings.settings.profileImage
visible: false
asynchronous: true
backer.fillMode: Image.PreserveAspectCrop
}
OpacityMask {
anchors.fill: avatarImage
source: avatarImage
maskSource: Rectangle {
width: avatarImage.width
height: avatarImage.height
radius: avatarImage.width / 2
visible: false
}
visible: Settings.settings.profileImage !== ""
}
// Fallback icon
Text {
anchors.centerIn: parent
text: "person"
font.family: "Material Symbols Outlined"
font.pixelSize: 24
color: Theme.onAccent
visible: Settings.settings.profileImage === undefined || Settings.settings.profileImage === ""
z: 0
}
}