mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-06 05:25:41 -05:00
- CC Color picker widget - Tooltips in more places - Attempt to improve niri screen transitiosn
57 lines
1.4 KiB
QML
57 lines
1.4 KiB
QML
import QtQuick
|
|
|
|
QtObject {
|
|
id: root
|
|
|
|
property string edge: "top"
|
|
|
|
readonly property string orientation: isVertical ? "vertical" : "horizontal"
|
|
readonly property bool isVertical: edge === "left" || edge === "right"
|
|
readonly property bool isHorizontal: !isVertical
|
|
|
|
function primarySize(item) {
|
|
return isVertical ? item.height : item.width
|
|
}
|
|
|
|
function crossSize(item) {
|
|
return isVertical ? item.width : item.height
|
|
}
|
|
|
|
function setPrimaryPos(item, value) {
|
|
if (isVertical) {
|
|
item.y = value
|
|
} else {
|
|
item.x = value
|
|
}
|
|
}
|
|
|
|
function getPrimaryPos(item) {
|
|
return isVertical ? item.y : item.x
|
|
}
|
|
|
|
function primaryAnchor(anchors) {
|
|
return isVertical ? anchors.verticalCenter : anchors.horizontalCenter
|
|
}
|
|
|
|
function crossAnchor(anchors) {
|
|
return isVertical ? anchors.horizontalCenter : anchors.verticalCenter
|
|
}
|
|
|
|
function outerVisualEdge() {
|
|
if (edge === "bottom") return "bottom"
|
|
if (edge === "left") return "right"
|
|
if (edge === "right") return "left"
|
|
if (edge === "top") return "top"
|
|
return "bottom"
|
|
}
|
|
|
|
signal axisEdgeChanged()
|
|
signal axisOrientationChanged()
|
|
signal changed() // Single coalesced signal
|
|
|
|
onEdgeChanged: {
|
|
axisEdgeChanged()
|
|
axisOrientationChanged()
|
|
changed()
|
|
}
|
|
} |