diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-04-29 12:07:44 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-04-29 12:07:44 +1000 |
| commit | 82139e9c2d04bae0d40fa5702751d6bf7edfce05 (patch) | |
| tree | 24e325f64accb6e9927fe6d2cb3035f04e5d3ad9 /widgets | |
| parent | refactor: bar clock use anchors (diff) | |
| download | caelestia-shell-82139e9c2d04bae0d40fa5702751d6bf7edfce05.tar.gz caelestia-shell-82139e9c2d04bae0d40fa5702751d6bf7edfce05.tar.bz2 caelestia-shell-82139e9c2d04bae0d40fa5702751d6bf7edfce05.zip | |
refactor: workspaces use inner bar height
Also simplify boxpadding
Diffstat (limited to 'widgets')
| -rw-r--r-- | widgets/BoxLayout.qml | 102 |
1 files changed, 8 insertions, 94 deletions
diff --git a/widgets/BoxLayout.qml b/widgets/BoxLayout.qml index a180d6b..2163000 100644 --- a/widgets/BoxLayout.qml +++ b/widgets/BoxLayout.qml @@ -1,102 +1,16 @@ import "root:/config" -import QtQuick import QtQuick.Layouts -Rectangle { - id: root - - default property alias children: layout.children - readonly property alias visibleChildren: layout.visibleChildren - +GridLayout { property bool vertical: false property bool homogenous: false - property bool animated: false property int spacing: Appearance.spacing.small - property var padding: 0 - - readonly property int paddingTop: getRealPadding().top - readonly property int paddingRight: getRealPadding().right - readonly property int paddingBottom: getRealPadding().bottom - readonly property int paddingLeft: getRealPadding().left - readonly property int paddingX: getRealPadding().x - readonly property int paddingY: getRealPadding().y - - function getRealPadding() { - const pad = {}; - - if (Array.isArray(padding)) { - if (padding.length === 2) { - pad.top = pad.bottom = padding[0]; - pad.left = pad.right = padding[1]; - } else if (padding.length === 3) { - pad.top = padding[0]; - pad.left = pad.right = padding[1]; - pad.bottom = padding[2]; - } else if (padding.length === 4) { - pad.top = padding[0]; - pad.right = padding[1]; - pad.bottom = padding[2]; - pad.left = padding[3]; - } - } else { - pad.top = pad.bottom = pad.left = pad.right = padding; - } - - pad.x = pad.left + pad.right; - pad.y = pad.top + pad.bottom; - - return pad; - } - - function childAt(x: real, y: real): Item { - return layout.childAt(x, y); - } - - color: "transparent" - - implicitWidth: layout.implicitWidth + paddingX - implicitHeight: layout.implicitHeight + paddingY - - GridLayout { - id: layout - - x: root.paddingLeft - y: root.paddingTop - - flow: root.vertical ? GridLayout.TopToBottom : GridLayout.LeftToRight - uniformCellWidths: root.homogenous || root.vertical - uniformCellHeights: root.homogenous || !root.vertical - rows: root.vertical ? -1 : 1 - columns: root.vertical ? 1 : -1 - rowSpacing: root.spacing - columnSpacing: root.spacing - } - - Behavior on color { - ColorAnimation { - duration: Appearance.anim.durations.normal - easing.type: Easing.BezierSpline - easing.bezierCurve: Appearance.anim.curves.standard - } - } - - Behavior on implicitWidth { - enabled: root.animated - - NumberAnimation { - duration: Appearance.anim.durations.normal - easing.type: Easing.BezierSpline - easing.bezierCurve: Appearance.anim.curves.emphasized - } - } - - Behavior on implicitHeight { - enabled: root.animated - NumberAnimation { - duration: Appearance.anim.durations.normal - easing.type: Easing.BezierSpline - easing.bezierCurve: Appearance.anim.curves.emphasized - } - } + flow: vertical ? GridLayout.TopToBottom : GridLayout.LeftToRight + uniformCellWidths: homogenous || vertical + uniformCellHeights: homogenous || !vertical + rows: vertical ? -1 : 1 + columns: vertical ? 1 : -1 + rowSpacing: spacing + columnSpacing: spacing } |