linphone-desktop/linphone-app/ui/modules/Common/Tooltip/TooltipArea.qml
2021-08-02 14:45:01 +02:00

52 lines
1.1 KiB
QML

import QtQuick 2.7
import Common 1.0
import Common.Styles 1.0
// =============================================================================
MouseArea {
id: tooltipArea
property alias text: tooltip.text
property int delay: TooltipStyle.delay
property bool force: false
property var tooltipParent: parent
property bool _visible: false
property int hoveringCursor : Qt.PointingHandCursor
anchors.fill:parent
hoverEnabled: true
scrollGestureEnabled: true
onContainsMouseChanged: _visible = containsMouse
cursorShape: containsMouse ? hoveringCursor : Qt.ArrowCursor
onPressed: mouse.accepted = false
onWheel: {
_visible = false
wheel.accepted = false
}
Tooltip {
id: tooltip
delay: tooltipArea.delay
parent: tooltipParent
visible: _visible || force
width: Math.min(tooltip.implicitWidth, Math.max(tooltipParent.width, TooltipStyle.minWidth))
//tooltipParent.width>TooltipStyle.minWidth?tooltipParent.width:TooltipStyle.minWidth
timeout: -1
// Workaround to always display tooltip.
onVisibleChanged: {
if (!visible && force) {
tooltip.visible = true
}
}
}
}