me like nix
1import QtQuick
2import "../config" as Config
3
4Rectangle {
5 id: stateLayer
6
7 property alias hoverEnabled: mouseArea.hoverEnabled
8 property alias containsMouse: mouseArea.containsMouse
9 property alias acceptedButtons: mouseArea.acceptedButtons
10 property alias cursorShape: mouseArea.cursorShape
11
12 signal clicked(var mouse)
13 signal entered()
14 signal exited()
15
16 color: Config.Colours.overlay0
17 opacity: mouseArea.containsMouse ? (mouseArea.pressed ? 0.16 : 0.08) : 0.0
18 radius: parent.radius
19
20 Behavior on opacity {
21 Anim { duration: Config.Appearance.anim.durations.small }
22 }
23
24 MouseArea {
25 id: mouseArea
26 anchors.fill: parent
27 hoverEnabled: true
28 cursorShape: Qt.PointingHandCursor
29 onClicked: mouse => stateLayer.clicked(mouse)
30 onEntered: stateLayer.entered()
31 onExited: stateLayer.exited()
32 }
33}