overlay: add battery level

This commit is contained in:
end-4
2025-11-09 11:12:18 +01:00
parent 53768a6885
commit f2462eb1b4
4 changed files with 42 additions and 5 deletions
@@ -178,7 +178,7 @@ Item { // Bar content region
}
BatteryIndicator {
visible: (root.useShortenedForm < 2 && UPower.displayDevice.isLaptopBattery)
visible: (root.useShortenedForm < 2 && Battery.available)
Layout.alignment: Qt.AlignVCenter
}
}
@@ -288,7 +288,7 @@ MouseArea {
opacity: root.toolbarOpacity
IconAndTextPair {
visible: UPower.displayDevice.isLaptopBattery
visible: Battery.available
icon: Battery.isCharging ? "bolt" : "battery_android_full"
text: Math.round(Battery.percentage * 100)
color: (Battery.isLow && !Battery.isCharging) ? Appearance.colors.colError : Appearance.colors.colOnSurfaceVariant
@@ -49,8 +49,13 @@ Rectangle {
}
Separator {}
TimeWidget {}
Separator {
visible: Battery.available
}
BatteryWidget {
visible: Battery.available
}
}
component Separator: Rectangle {
@@ -67,12 +72,44 @@ Rectangle {
Layout.rightMargin: 6
text: DateTime.time
color: Appearance.colors.colOnSurface
font {
family: Appearance.font.family.numbers
variableAxes: Appearance.font.variableAxes.numbers
pixelSize: 22
}
}
component BatteryWidget: Row {
id: batteryWidget
Layout.alignment: Qt.AlignVCenter
Layout.leftMargin: 6
Layout.rightMargin: 6
spacing: 2
property color colText: Battery.isLowAndNotCharging ? Appearance.colors.colError : Appearance.colors.colOnSurface
MaterialSymbol {
id: boltIcon
anchors.verticalCenter: parent.verticalCenter
fill: 1
text: Battery.isCharging ? "bolt" : "battery_android_full"
color: batteryWidget.colText
iconSize: 24
animateChange: true
}
StyledText {
id: batteryText
anchors.verticalCenter: parent.verticalCenter
text: Math.round(Battery.percentage * 100) + "%"
color: batteryWidget.colText
font {
family: Appearance.font.family.numbers
variableAxes: Appearance.font.variableAxes.numbers
pixelSize: 18
}
}
}
component WidgetButton: RippleButton {
id: widgetButton
@@ -148,11 +148,11 @@ Item { // Bar content region
}
HorizontalBarSeparator {
visible: UPower.displayDevice.isLaptopBattery
visible: Battery.available
}
BatteryIndicator {
visible: UPower.displayDevice.isLaptopBattery
visible: Battery.available
Layout.fillWidth: true
Layout.fillHeight: false
}