feat: unify battery icon logic
This commit is contained in:
parent
10feabc5a7
commit
8f472f4a05
3 changed files with 10 additions and 29 deletions
|
|
@ -249,15 +249,7 @@ StyledRect {
|
|||
return "rocket_launch";
|
||||
return "balance";
|
||||
}
|
||||
|
||||
const perc = UPower.displayDevice.percentage;
|
||||
const charging = [UPowerDeviceState.Charging, UPowerDeviceState.FullyCharged, UPowerDeviceState.PendingCharge].includes(UPower.displayDevice.state);
|
||||
if (perc === 1)
|
||||
return charging ? "battery_charging_full" : "battery_full";
|
||||
let level = Math.floor(perc * 7);
|
||||
if (charging && (level === 4 || level === 1))
|
||||
level--;
|
||||
return charging ? `battery_charging_${(level + 3) * 10}` : `battery_${level}_bar`;
|
||||
return Icons.getBatteryIcon(UPower.displayDevice.percentage, [UPowerDeviceState.Charging, UPowerDeviceState.FullyCharged, UPowerDeviceState.PendingCharge].includes(UPower.displayDevice.state));
|
||||
}
|
||||
color: !UPower.onBattery || UPower.displayDevice.percentage > 0.2 ? root.colour : Colours.palette.m3error
|
||||
fill: 1
|
||||
|
|
|
|||
|
|
@ -107,8 +107,8 @@ ColumnLayout {
|
|||
|
||||
MaterialIcon {
|
||||
visible: device.modelData.state === BluetoothDeviceState.Connected // qmllint disable unresolved-type
|
||||
text: Icons.getBatteryIcon(device.modelData.batteryAvailable ? device.modelData.battery * 100 : -1)
|
||||
color: device.modelData.battery < 0.2 ? Colours.palette.m3error : Colours.palette.m3onSurfaceVariant
|
||||
text: device.modelData.batteryAvailable ? Icons.getBatteryIcon(device.modelData.battery) : "battery_alert"
|
||||
color: device.modelData.batteryAvailable && device.modelData.battery < 0.2 ? Colours.palette.m3error : Colours.palette.m3onSurfaceVariant
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
|
|
|
|||
|
|
@ -241,23 +241,12 @@ Singleton {
|
|||
return icon;
|
||||
}
|
||||
|
||||
function getBatteryIcon(charge: int): string {
|
||||
if (charge > 0 && charge < 5)
|
||||
return "battery_0_bar";
|
||||
if (charge >= 5 && charge < 20)
|
||||
return "battery_1_bar";
|
||||
if (charge >= 20 && charge < 35)
|
||||
return "battery_2_bar";
|
||||
if (charge >= 35 && charge < 50)
|
||||
return "battery_3_bar";
|
||||
if (charge >= 50 && charge < 65)
|
||||
return "battery_4_bar";
|
||||
if (charge >= 65 && charge < 80)
|
||||
return "battery_5_bar";
|
||||
if (charge >= 80 && charge < 95)
|
||||
return "battery_6_bar";
|
||||
if (charge >= 95)
|
||||
return "battery_full";
|
||||
return "battery_alert";
|
||||
function getBatteryIcon(percentage: real, charging = false): string {
|
||||
if (percentage === 1)
|
||||
return charging ? "battery_charging_full" : "battery_full";
|
||||
let level = Math.floor(percentage * 7);
|
||||
if (charging && (level === 4 || level === 1))
|
||||
level--;
|
||||
return charging ? `battery_charging_${(level + 3) * 10}` : `battery_${level}_bar`;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue