mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-05 21:15:38 -05:00
50 lines
1.1 KiB
QML
50 lines
1.1 KiB
QML
import QtQuick
|
|
import qs.Common
|
|
|
|
MouseArea {
|
|
id: root
|
|
|
|
property bool disabled: false
|
|
property color stateColor: Theme.surfaceText
|
|
property real cornerRadius: parent && parent.radius !== undefined ? parent.radius : Theme.cornerRadius
|
|
property var tooltipText: null
|
|
|
|
readonly property real stateOpacity: disabled ? 0 : pressed ? 0.12 : containsMouse ? 0.08 : 0
|
|
|
|
anchors.fill: parent
|
|
cursorShape: disabled ? undefined : Qt.PointingHandCursor
|
|
hoverEnabled: true
|
|
|
|
Rectangle {
|
|
anchors.fill: parent
|
|
radius: root.cornerRadius
|
|
color: Qt.rgba(stateColor.r, stateColor.g, stateColor.b, stateOpacity)
|
|
}
|
|
|
|
Timer {
|
|
id: hoverDelay
|
|
interval: 1000
|
|
repeat: false
|
|
onTriggered: {
|
|
tooltip.show(root.tooltipText, root, 0, 0, "bottom");
|
|
}
|
|
}
|
|
|
|
onEntered: {
|
|
if (!tooltipText)
|
|
return;
|
|
hoverDelay.restart();
|
|
}
|
|
|
|
onExited: {
|
|
if (!tooltipText)
|
|
return;
|
|
hoverDelay.stop();
|
|
tooltip.hide();
|
|
}
|
|
|
|
DankTooltipV2 {
|
|
id: tooltip
|
|
}
|
|
}
|