forked from Shinonome/dots-hyprland
38 lines
927 B
QML
38 lines
927 B
QML
import QtQuick
|
|
import Quickshell
|
|
import Quickshell.Widgets
|
|
import Qt5Compat.GraphicalEffects
|
|
|
|
Item {
|
|
id: root
|
|
|
|
property bool colorize: false
|
|
property color color
|
|
property string source: ""
|
|
property string iconFolder: Qt.resolvedUrl(Quickshell.shellPath("assets/icons")) // The folder to check first
|
|
width: 30
|
|
height: 30
|
|
|
|
IconImage {
|
|
id: iconImage
|
|
anchors.fill: parent
|
|
source: {
|
|
const fullPathWhenSourceIsIconName = iconFolder + "/" + root.source;
|
|
if (iconFolder && fullPathWhenSourceIsIconName) {
|
|
return fullPathWhenSourceIsIconName
|
|
}
|
|
return root.source
|
|
}
|
|
implicitSize: root.height
|
|
}
|
|
|
|
Loader {
|
|
active: root.colorize
|
|
anchors.fill: iconImage
|
|
sourceComponent: ColorOverlay {
|
|
source: iconImage
|
|
color: root.color
|
|
}
|
|
}
|
|
}
|