mirror of
https://github.com/belsabbagh/dotfiles.git
synced 2026-04-11 09:36:46 +00:00
57 lines
1.5 KiB
QML
57 lines
1.5 KiB
QML
import QtQuick
|
|
import qs.modules.components
|
|
|
|
Item {
|
|
id: root
|
|
|
|
property color color: "white"
|
|
readonly property real cx: width / 2
|
|
readonly property real cy: height / 2
|
|
readonly property real radius: Math.min(width, height) / 2
|
|
opacity: 0.4
|
|
|
|
// Hour marks (12 ticks)
|
|
Repeater {
|
|
model: 12
|
|
|
|
Item {
|
|
width: root.width
|
|
height: root.height
|
|
anchors.centerIn: parent
|
|
rotation: index * 30
|
|
transformOrigin: Item.Center
|
|
|
|
Rectangle {
|
|
width: 3 // thickness of tick
|
|
height: 15 // length of tick
|
|
color: root.color
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
y: -root.radius * 0.15 / 2
|
|
radius: width / 2
|
|
}
|
|
}
|
|
}
|
|
|
|
// Minute marks (60 ticks)
|
|
Repeater {
|
|
model: 60
|
|
|
|
Item {
|
|
width: root.width
|
|
height: root.height
|
|
anchors.centerIn: parent
|
|
rotation: index * 6
|
|
transformOrigin: Item.Center
|
|
|
|
Rectangle {
|
|
width: index % 5 === 0 ? 3 : 2 // thicker for 5-minute marks
|
|
height: index % 5 === 0 ? 15 : 8 // longer for 5-minute marks
|
|
color: root.color
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
y: -root.radius * 0.15 / 2
|
|
radius: width / 2
|
|
}
|
|
}
|
|
}
|
|
}
|