fixup battery icon

This commit is contained in:
lucy 2026-08-28 23:52:51 +02:00
commit 6fb3d8f131

View file

@ -16,27 +16,19 @@ BarComponent {
property bool charging: UPower.displayDevice.state === UPowerDeviceState.Charging property bool charging: UPower.displayDevice.state === UPowerDeviceState.Charging
implicitWidth: batLayout.implicitWidth + 16 implicitWidth: batLayout.implicitWidth + 16
function batteryIcon() { function batteryIcon(): string {
let charging = root.charging; const p = root.percent;
let percent = root.percent; const chg = root.charging;
if (percent <= 10) const isFull = root.full;
return charging ? "battery-empty-charging" : "battery-empty";
if (percent < 40) if (isFull)
return charging ? "battery-level-30-charging" : "battery-level-30"; return "battery-level-100-charged-symbolic";
if (percent < 50)
return charging ? "battery-level-40-charging" : "battery-level-40"; if (p < 10)
if (percent < 60) return chg ? "battery-empty-charging-symbolic" : "battery-empty-symbolic";
return charging ? "battery-level-50-charging" : "battery-level-50";
if (percent < 70) const level = Math.min(100, Math.floor(p / 10) * 10);
return charging ? "battery-level-60-charging" : "battery-level-60"; return chg ? `battery-level-${level}-charging-symbolic` : `battery-level-${level}-symbolic`;
if (percent < 80)
return charging ? "battery-level-70-charging" : "battery-level-70";
if (percent < 90)
return charging ? "battery-level-80-charging" : "battery-level-80";
if (percent > 90)
return charging ? "battery-level-90-charging" : "battery-level-90";
if (percent == 100)
return charging ? "battery-level-100-charging" : "battery-level-100";
} }
RowLayout { RowLayout {
id: batLayout id: batLayout
@ -46,7 +38,7 @@ BarComponent {
} }
StyledText { StyledText {
text: Math.floor(root.percent, root.charging) + "%" text: Math.floor(root.percent) + "%"
} }
} }
} }