Toggle between % and Wh for battery charge https://github.com/seerge/g-helper/issues/3246

This commit is contained in:
Serge
2024-10-11 18:06:15 +02:00
parent 9b5e2acf90
commit aa74730e12
2 changed files with 29 additions and 1 deletions

View File

@@ -34,6 +34,20 @@ public static class HardwareControl
static long lastUpdate; static long lastUpdate;
static bool _chargeWatt = AppConfig.Is("charge_watt");
public static bool chargeWatt
{
get
{
return _chargeWatt;
}
set
{
AppConfig.Set("charge_watt", value ? 1 : 0);
_chargeWatt = value;
}
}
private static int GetGpuUse() private static int GetGpuUse()
{ {
try try
@@ -227,8 +241,15 @@ public static class HardwareControl
if (fullCapacity > 0 && chargeCapacity > 0) if (fullCapacity > 0 && chargeCapacity > 0)
{ {
batteryCapacity = Math.Min(100, (decimal)chargeCapacity / (decimal)fullCapacity * 100); batteryCapacity = Math.Min(100, (decimal)chargeCapacity / (decimal)fullCapacity * 100);
batteryCharge = Math.Round((decimal)chargeCapacity / 1000, 1).ToString() + "Wh" + " " + Math.Round(batteryCapacity, 1) + "%";
if (batteryCapacity > 99) BatteryControl.UnSetBatteryLimitFull(); if (batteryCapacity > 99) BatteryControl.UnSetBatteryLimitFull();
if (chargeWatt)
{
batteryCharge = Math.Round((decimal)chargeCapacity / 1000, 1).ToString() + "Wh";
}
else
{
batteryCharge = Math.Round(batteryCapacity, 1) + "%";
}
} }

View File

@@ -235,6 +235,7 @@ namespace GHelper
labelCharge.MouseEnter += PanelBattery_MouseEnter; labelCharge.MouseEnter += PanelBattery_MouseEnter;
labelCharge.MouseLeave += PanelBattery_MouseLeave; labelCharge.MouseLeave += PanelBattery_MouseLeave;
labelBattery.Click += LabelBattery_Click;
buttonPeripheral1.Click += ButtonPeripheral_Click; buttonPeripheral1.Click += ButtonPeripheral_Click;
buttonPeripheral2.Click += ButtonPeripheral_Click; buttonPeripheral2.Click += ButtonPeripheral_Click;
@@ -284,6 +285,12 @@ namespace GHelper
InitVisual(); InitVisual();
} }
private void LabelBattery_Click(object? sender, EventArgs e)
{
HardwareControl.chargeWatt = !HardwareControl.chargeWatt;
RefreshSensors(true);
}
private void ButtonDonate_Click(object? sender, EventArgs e) private void ButtonDonate_Click(object? sender, EventArgs e)
{ {
AppConfig.Set("donate_click", 1); AppConfig.Set("donate_click", 1);