ported some quickshell stuff from rivendell-hyprdots

This commit is contained in:
Tomas Rivera
2026-03-10 16:22:35 +01:00
parent 4b442dd121
commit b9e3f35abe
80 changed files with 4462 additions and 9 deletions
@@ -0,0 +1,53 @@
import QtQuick
Item {
id: root
property bool fillWindowWidth: false
property real extraVerticalMargin: 0
property alias mouseArea: mouseArea
property alias hoverEnabled: mouseArea.hoverEnabled
property alias acceptedButtons: mouseArea.acceptedButtons
property alias pressedButtons: mouseArea.pressedButtons
property alias containsMouse: mouseArea.containsMouse
property alias isPressed: mouseArea.pressed
signal clicked(event: MouseEvent)
signal entered
signal exited
signal pressed(event: MouseEvent)
signal released(event: MouseEvent)
signal wheel(event: WheelEvent)
MouseArea {
id: mouseArea
anchors {
fill: parent
// not much point in finding exact values
leftMargin: root.fillWindowWidth ? -50 : 0
rightMargin: root.fillWindowWidth ? -50 : 0
topMargin: -root.extraVerticalMargin
bottomMargin: -root.extraVerticalMargin
}
Component.onCompleted: {
this.clicked.connect(root.clicked);
//this.entered.connect(root.entered);
//this.exited.connect(root.exited);
//this.pressed.connect(root.pressed);
this.released.connect(root.released);
//this.wheel.connect(root.wheel);
}
// for some reason MouseArea.pressed is both a prop and signal so connect doesn't work
onPressed: event => root.pressed(event)
// connecting to onwheel seems to implicitly accept it. undo that.
onWheel: event => {
event.accepted = false;
root.wheel(event);
}
}
}