// Month-stepping arrow in CalendarGrid's header. A round hover target sized // like GNOME's calendar arrows rather than a bare glyph, so it reads as a // button before the pointer is anywhere near it. import QtQuick import qs.config Rectangle { id: root signal activated required property string glyph implicitWidth: 26 implicitHeight: 26 radius: width / 2 border.width: 0 color: mouse.containsMouse ? Theme.alpha(Theme.fg, Theme.hoverAlpha) : "transparent" // Fast in, relaxed out — the arrow answers the pointer, so arriving should // feel immediate and leaving should not snap. Behavior on color { ColorAnimation { duration: mouse.containsMouse ? Theme.durFast : Theme.durNormal } } Text { anchors.centerIn: parent text: root.glyph // fontMono is the Nerd Font: used here to draw an icon, never text. font.family: Theme.fontMono font.pixelSize: Theme.fontSize color: mouse.containsMouse ? Theme.fg : Theme.fgDim } MouseArea { id: mouse anchors.fill: parent hoverEnabled: true cursorShape: Qt.PointingHandCursor onClicked: root.activated() } }