Files
z-bar-qt/Modules/Dashboard/Dash.qml
T
Zacharias-Brohn a645c28d4f dashboard
2026-02-14 01:09:54 +01:00

145 lines
2.4 KiB
QML

import Quickshell
import QtQuick
import QtQuick.Layouts
import qs.Helpers
import qs.Components
import qs.Paths
import qs.Modules
import qs.Config
import qs.Modules.Dashboard.Dash
GridLayout {
id: root
required property PersistentProperties visibilities
required property PersistentProperties state
readonly property bool dashboardVisible: visibilities.dashboard
rowSpacing: Appearance.spacing.normal
columnSpacing: Appearance.spacing.normal
opacity: 0
scale: 0.9
onDashboardVisibleChanged: {
if (dashboardVisible) {
openAnim.start();
} else {
closeAnim.start();
}
}
ParallelAnimation {
id: openAnim
Anim {
target: root
property: "opacity"
to: 1
}
Anim {
target: root
property: "scale"
to: 1
}
}
ParallelAnimation {
id: closeAnim
Anim {
target: root
property: "opacity"
to: 0
}
Anim {
target: root
property: "scale"
to: 0.9
}
}
Rect {
Layout.column: 2
Layout.columnSpan: 3
Layout.preferredWidth: user.implicitWidth
Layout.preferredHeight: user.implicitHeight
radius: 6
User {
id: user
state: root.state
}
}
Rect {
Layout.row: 0
Layout.columnSpan: 2
Layout.preferredWidth: Config.dashboard.sizes.weatherWidth
Layout.fillHeight: true
radius: 6
Weather {}
}
Rect {
Layout.row: 1
Layout.preferredWidth: dateTime.implicitWidth
Layout.fillHeight: true
radius: 6
DateTime {
id: dateTime
}
}
Rect {
Layout.row: 1
Layout.column: 1
Layout.columnSpan: 3
Layout.fillWidth: true
Layout.preferredHeight: calendar.implicitHeight
radius: 6
Calendar {
id: calendar
state: root.state
}
}
Rect {
Layout.row: 1
Layout.column: 4
Layout.preferredWidth: resources.implicitWidth
Layout.fillHeight: true
radius: 6
Resources {
id: resources
}
}
Rect {
Layout.row: 0
Layout.column: 5
Layout.rowSpan: 2
Layout.preferredWidth: media.implicitWidth
Layout.fillHeight: true
radius: 6
Media {
id: media
}
}
component Rect: CustomRect {
color: DynamicColors.tPalette.m3surfaceContainer
}
}