diff options
| author | nippy <you@example.com> | 2026-04-18 13:49:56 +0200 |
|---|---|---|
| committer | nippy <you@example.com> | 2026-04-18 13:49:56 +0200 |
| commit | 5d94c0a7d44a2255b81815a52a7056a94a39842d (patch) | |
| tree | 759bdea9645c6a62f9e1e4c001f7d81cccd120d2 /raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/RightSection.qml | |
| parent | e79cdf210b267f21a186255ce1a4d50029439d54 (diff) | |
| download | RaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.tar.gz RaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.zip | |
update Raveos themes
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/RightSection.qml')
| -rw-r--r-- | raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/RightSection.qml | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/RightSection.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/RightSection.qml new file mode 100644 index 0000000..58844bc --- /dev/null +++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/RightSection.qml @@ -0,0 +1,121 @@ +import QtQuick +import qs.Common + +Item { + id: root + + property var widgetsModel: null + property var components: null + property bool noBackground: false + required property var axis + property var parentScreen: null + property real widgetThickness: 30 + property real barThickness: 48 + property real barSpacing: 4 + property var barConfig: null + property var blurBarWindow: null + property bool overrideAxisLayout: false + property bool forceVerticalLayout: false + + readonly property bool isVertical: overrideAxisLayout ? forceVerticalLayout : (axis?.isVertical ?? false) + + implicitHeight: layoutLoader.item ? layoutLoader.item.implicitHeight : 0 + implicitWidth: layoutLoader.item ? layoutLoader.item.implicitWidth : 0 + + Loader { + id: layoutLoader + width: parent.width + height: parent.height + sourceComponent: root.isVertical ? columnComp : rowComp + } + + Component { + id: rowComp + Row { + readonly property real widgetSpacing: { + const baseSpacing = noBackground ? 2 : Theme.spacingXS; + const outlineThickness = (barConfig?.widgetOutlineEnabled ?? false) ? (barConfig?.widgetOutlineThickness ?? 1) : 0; + return baseSpacing + (outlineThickness * 2); + } + spacing: widgetSpacing + anchors.right: parent ? parent.right : undefined + Repeater { + id: rowRepeater + model: root.widgetsModel + Item { + readonly property real rowSpacing: parent.widgetSpacing + property var itemData: modelData + width: widgetLoader.item ? widgetLoader.item.width : 0 + height: widgetLoader.item ? widgetLoader.item.height : 0 + WidgetHost { + id: widgetLoader + anchors.verticalCenter: parent.verticalCenter + widgetId: itemData.widgetId + widgetData: itemData + spacerSize: itemData.size || 20 + components: root.components + isInColumn: false + axis: root.axis + section: "right" + parentScreen: root.parentScreen + widgetThickness: root.widgetThickness + barThickness: root.barThickness + barSpacing: root.barSpacing + barConfig: root.barConfig + blurBarWindow: root.blurBarWindow + isFirst: index === 0 + isLast: index === rowRepeater.count - 1 + sectionSpacing: parent.rowSpacing + isLeftBarEdge: false + isRightBarEdge: true + } + } + } + } + } + + Component { + id: columnComp + Column { + width: parent.width + readonly property real widgetSpacing: { + const baseSpacing = noBackground ? 2 : Theme.spacingXS; + const outlineThickness = (barConfig?.widgetOutlineEnabled ?? false) ? (barConfig?.widgetOutlineThickness ?? 1) : 0; + return baseSpacing + (outlineThickness * 2); + } + spacing: widgetSpacing + Repeater { + id: columnRepeater + model: root.widgetsModel + Item { + width: parent.width + readonly property real columnSpacing: parent.widgetSpacing + property var itemData: modelData + height: widgetLoader.item ? widgetLoader.item.height : 0 + WidgetHost { + id: widgetLoader + anchors.horizontalCenter: parent.horizontalCenter + widgetId: itemData.widgetId + widgetData: itemData + spacerSize: itemData.size || 20 + components: root.components + isInColumn: true + axis: root.axis + section: "right" + parentScreen: root.parentScreen + widgetThickness: root.widgetThickness + barThickness: root.barThickness + barSpacing: root.barSpacing + barConfig: root.barConfig + blurBarWindow: root.blurBarWindow + isFirst: index === 0 + isLast: index === columnRepeater.count - 1 + sectionSpacing: parent.columnSpacing + isTopBarEdge: false + isBottomBarEdge: true + } + } + } + } + } +} |