summaryrefslogtreecommitdiff
path: root/modules/dashboard
diff options
context:
space:
mode:
Diffstat (limited to 'modules/dashboard')
-rw-r--r--modules/dashboard/Dash.qml28
-rw-r--r--modules/dashboard/dash/Media.qml4
-rw-r--r--modules/dashboard/dash/Resources.qml85
3 files changed, 105 insertions, 12 deletions
diff --git a/modules/dashboard/Dash.qml b/modules/dashboard/Dash.qml
index 1af0d70..31ece71 100644
--- a/modules/dashboard/Dash.qml
+++ b/modules/dashboard/Dash.qml
@@ -1,7 +1,7 @@
-import "root:/widgets"
import "root:/services"
import "root:/config"
import "dash"
+import QtQuick
import QtQuick.Layouts
GridLayout {
@@ -17,7 +17,7 @@ GridLayout {
}
Rect {
- text: "toggles"
+ // text: "toggles"
Layout.column: 3
Layout.columnSpan: 2
@@ -32,7 +32,7 @@ GridLayout {
}
Rect {
- text: "calendar"
+ // text: "calendar"
Layout.row: 1
Layout.column: 1
@@ -42,12 +42,11 @@ GridLayout {
}
Rect {
- text: "perf"
-
Layout.row: 1
Layout.column: 4
- Layout.preferredWidth: 120
Layout.fillHeight: true
+
+ Resources {}
}
Rect {
@@ -59,15 +58,22 @@ GridLayout {
Media {}
}
- component Rect: StyledRect {
- property string text
+ component Rect: Rectangle {
+ default property Item child
+
+ children: [child]
+ implicitWidth: child.implicitWidth
+ implicitHeight: child.implicitHeight
radius: Appearance.rounding.small
color: Colours.palette.m3surfaceContainer
- StyledText {
- anchors.centerIn: parent
- text: parent.text
+ Behavior on color {
+ ColorAnimation {
+ duration: Appearance.anim.durations.normal
+ easing.type: Easing.BezierSpline
+ easing.bezierCurve: Appearance.anim.curves.standard
+ }
}
}
}
diff --git a/modules/dashboard/dash/Media.qml b/modules/dashboard/dash/Media.qml
index 945b989..7894c59 100644
--- a/modules/dashboard/dash/Media.qml
+++ b/modules/dashboard/dash/Media.qml
@@ -13,11 +13,13 @@ Item {
return active ? active.position / active.length : 0;
}
+ anchors.top: parent.top
+ anchors.bottom: parent.bottom
implicitWidth: DashboardConfig.sizes.mediaWidth
Behavior on playerProgress {
NumberAnimation {
- duration: Appearance.anim.durations.normal
+ duration: Appearance.anim.durations.large
easing.type: Easing.BezierSpline
easing.bezierCurve: Appearance.anim.curves.standard
}
diff --git a/modules/dashboard/dash/Resources.qml b/modules/dashboard/dash/Resources.qml
new file mode 100644
index 0000000..b22b2d1
--- /dev/null
+++ b/modules/dashboard/dash/Resources.qml
@@ -0,0 +1,85 @@
+import "root:/widgets"
+import "root:/services"
+import "root:/config"
+import QtQuick
+import QtQuick.Controls
+
+Row {
+ id: root
+
+ anchors.top: parent.top
+ anchors.bottom: parent.bottom
+
+ padding: Appearance.padding.large
+ spacing: Appearance.spacing.normal
+
+ Resource {
+ icon: "memory"
+ value: SystemUsage.cpuPerc
+ colour: Colours.palette.m3primary
+ }
+
+ Resource {
+ icon: "memory_alt"
+ value: SystemUsage.memPerc
+ colour: Colours.palette.m3secondary
+ }
+
+ Resource {
+ icon: "hard_disk"
+ value: SystemUsage.storagePerc
+ colour: Colours.palette.m3tertiary
+ }
+
+ component Resource: Item {
+ id: res
+
+ required property string icon
+ required property real value
+ required property color colour
+
+ anchors.top: parent.top
+ anchors.bottom: parent.bottom
+ anchors.margins: Appearance.padding.large
+ implicitWidth: icon.implicitWidth
+
+ StyledRect {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: parent.top
+ anchors.bottom: icon.top
+ anchors.bottomMargin: Appearance.spacing.small
+
+ implicitWidth: DashboardConfig.sizes.resourceProgessThickness
+
+ color: Colours.palette.m3surfaceContainerHigh
+ radius: Appearance.rounding.full
+
+ StyledRect {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.bottom: parent.bottom
+ implicitHeight: res.value * parent.height
+
+ color: res.colour
+ radius: Appearance.rounding.full
+ }
+ }
+
+ MaterialIcon {
+ id: icon
+
+ anchors.bottom: parent.bottom
+
+ text: res.icon
+ color: res.colour
+ }
+
+ Behavior on value {
+ NumberAnimation {
+ duration: Appearance.anim.durations.large
+ easing.type: Easing.BezierSpline
+ easing.bezierCurve: Appearance.anim.curves.standard
+ }
+ }
+ }
+}