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 "rocket_launch";
|
||||||
return "balance";
|
return "balance";
|
||||||
}
|
}
|
||||||
|
return Icons.getBatteryIcon(UPower.displayDevice.percentage, [UPowerDeviceState.Charging, UPowerDeviceState.FullyCharged, UPowerDeviceState.PendingCharge].includes(UPower.displayDevice.state));
|
||||||
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`;
|
|
||||||
}
|
}
|
||||||
color: !UPower.onBattery || UPower.displayDevice.percentage > 0.2 ? root.colour : Colours.palette.m3error
|
color: !UPower.onBattery || UPower.displayDevice.percentage > 0.2 ? root.colour : Colours.palette.m3error
|
||||||
fill: 1
|
fill: 1
|
||||||
|
|
|
||||||
|
|
@ -107,8 +107,8 @@ ColumnLayout {
|
||||||
|
|
||||||
MaterialIcon {
|
MaterialIcon {
|
||||||
visible: device.modelData.state === BluetoothDeviceState.Connected // qmllint disable unresolved-type
|
visible: device.modelData.state === BluetoothDeviceState.Connected // qmllint disable unresolved-type
|
||||||
text: Icons.getBatteryIcon(device.modelData.batteryAvailable ? device.modelData.battery * 100 : -1)
|
text: device.modelData.batteryAvailable ? Icons.getBatteryIcon(device.modelData.battery) : "battery_alert"
|
||||||
color: device.modelData.battery < 0.2 ? Colours.palette.m3error : Colours.palette.m3onSurfaceVariant
|
color: device.modelData.batteryAvailable && device.modelData.battery < 0.2 ? Colours.palette.m3error : Colours.palette.m3onSurfaceVariant
|
||||||
}
|
}
|
||||||
|
|
||||||
StyledRect {
|
StyledRect {
|
||||||
|
|
|
||||||
|
|
@ -241,23 +241,12 @@ Singleton {
|
||||||
return icon;
|
return icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getBatteryIcon(charge: int): string {
|
function getBatteryIcon(percentage: real, charging = false): string {
|
||||||
if (charge > 0 && charge < 5)
|
if (percentage === 1)
|
||||||
return "battery_0_bar";
|
return charging ? "battery_charging_full" : "battery_full";
|
||||||
if (charge >= 5 && charge < 20)
|
let level = Math.floor(percentage * 7);
|
||||||
return "battery_1_bar";
|
if (charging && (level === 4 || level === 1))
|
||||||
if (charge >= 20 && charge < 35)
|
level--;
|
||||||
return "battery_2_bar";
|
return charging ? `battery_charging_${(level + 3) * 10}` : `battery_${level}_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";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue