31 lines
581 B
QML
31 lines
581 B
QML
import QtQuick
|
|
import Quickshell
|
|
|
|
Item {
|
|
id: root
|
|
required property var tooltip;
|
|
required property Item owner;
|
|
property bool isMenu: false;
|
|
property bool animateSize: true;
|
|
property bool show: false;
|
|
|
|
property real targetRelativeY: owner.height / 2;
|
|
property real hangTime: isMenu ? 0 : 200;
|
|
|
|
signal close();
|
|
|
|
onShowChanged: {
|
|
if (show) {
|
|
hangTimer.stop();
|
|
tooltip.setItem(this);
|
|
} else if (hangTime == 0) {
|
|
tooltip.removeItem(this);
|
|
} else hangTimer.start();
|
|
}
|
|
|
|
Timer {
|
|
id: hangTimer
|
|
interval: hangTime
|
|
onTriggered: tooltip.removeItem(root);
|
|
}
|
|
}
|