Files
omarchycn/shell/Ui/CursorSurface.qml
T
2026-05-18 15:30:29 +02:00

28 lines
850 B
QML

import QtQuick
import qs.Commons
// Shared visual chrome for keyboard-and-mouse-navigable items inside a panel.
// Contract: items must NOT read `containsMouse` for color/border. Mouse
// hover updates the panel's cursor state at the root; visuals derive from
// `hasCursor` / `current`. That's what guarantees a single highlight on
// screen at any time across both keyboard and mouse interaction.
Rectangle {
id: root
property bool hasCursor: false
property bool current: false
property color foreground: "#cacccc"
property color fill: Qt.rgba(foreground.r, foreground.g, foreground.b, 0.12)
property color currentFill: fill
radius: Style.cornerRadius
color: hasCursor ? fill : (current ? currentFill : "transparent")
border.width: 0
border.color: foreground
Behavior on color {
ColorAnimation { duration: 60 }
}
}