Added a new sensor type "Level" for wear or charge level (or any other percentage based sensors that don't fit into Load or Control).

This commit is contained in:
Michael Möller
2010-10-07 19:34:36 +00:00
parent 3e10baea63
commit d9ae399ad2
8 changed files with 31 additions and 8 deletions
+1
View File
@@ -64,6 +64,7 @@ namespace OpenHardwareMonitor.GUI {
typeNodes.Add(new TypeNode(SensorType.Fan));
typeNodes.Add(new TypeNode(SensorType.Flow));
typeNodes.Add(new TypeNode(SensorType.Control));
typeNodes.Add(new TypeNode(SensorType.Level));
foreach (ISensor sensor in hardware.Sensors)
SensorAdded(sensor);
+2 -1
View File
@@ -429,7 +429,8 @@ namespace OpenHardwareMonitor.GUI {
if ((sensor.SensorType != SensorType.Load &&
sensor.SensorType != SensorType.Control) || !sensor.Value.HasValue)
sensor.SensorType != SensorType.Control &&
sensor.SensorType != SensorType.Level) || !sensor.Value.HasValue)
{
string formatted;
+1
View File
@@ -74,6 +74,7 @@ namespace OpenHardwareMonitor.GUI {
case SensorType.Fan: format = "{0:F0} RPM"; break;
case SensorType.Flow: format = "{0:F0} L/h"; break;
case SensorType.Control: format = "{0:F1} %"; break;
case SensorType.Level: format = "{0:F1} %"; break;
}
bool hidden = settings.GetValue(new Identifier(sensor.Identifier,
+18 -6
View File
@@ -66,7 +66,10 @@ namespace OpenHardwareMonitor.GUI {
this.notifyIcon = new NotifyIcon();
Color defaultColor = Color.Black;
if (sensor.SensorType == SensorType.Load) {
if (sensor.SensorType == SensorType.Load ||
sensor.SensorType == SensorType.Control ||
sensor.SensorType == SensorType.Level)
{
defaultColor = Color.FromArgb(0xff, 0x70, 0x8c, 0xf1);
}
Color = settings.GetValue(new Identifier(sensor.Identifier,
@@ -173,6 +176,8 @@ namespace OpenHardwareMonitor.GUI {
return string.Format("{0:F11}", 1e-3f * sensor.Value);
case SensorType.Control:
return string.Format("{0:F0}", sensor.Value);
case SensorType.Level:
return string.Format("{0:F0}", sensor.Value);
}
return "-";
}
@@ -209,7 +214,7 @@ namespace OpenHardwareMonitor.GUI {
return IconFactory.Create(bytes, 16, 16, PixelFormat.Format32bppArgb);
}
private Icon CreateLoadIcon() {
private Icon CreatePercentageIcon() {
try {
graphics.Clear(Color.Transparent);
} catch (ArgumentException) {
@@ -233,11 +238,17 @@ namespace OpenHardwareMonitor.GUI {
public void Update() {
Icon icon = notifyIcon.Icon;
if (sensor.SensorType == SensorType.Load) {
notifyIcon.Icon = CreateLoadIcon();
} else {
notifyIcon.Icon = CreateTransparentIcon();
switch (sensor.SensorType) {
case SensorType.Load:
case SensorType.Control:
case SensorType.Level:
notifyIcon.Icon = CreatePercentageIcon();
break;
default:
notifyIcon.Icon = CreateTransparentIcon();
break;
}
if (icon != null)
icon.Dispose();
@@ -250,6 +261,7 @@ namespace OpenHardwareMonitor.GUI {
case SensorType.Fan: format = "\n{0}: {1:F0} RPM"; break;
case SensorType.Flow: format = "\n{0}: {1:F0} L/h"; break;
case SensorType.Control: format = "\n{0}: {1:F1} %"; break;
case SensorType.Level: format = "\n{0}: {1:F1} %"; break;
}
string formattedValue = string.Format(format, sensor.Name, sensor.Value);
string hardwareName = sensor.Hardware.Name;
+4
View File
@@ -76,6 +76,10 @@ namespace OpenHardwareMonitor.GUI {
this.Image = Utilities.EmbeddedResources.GetImage("control.png");
this.Text = "Controls";
break;
case SensorType.Level:
this.Image = Utilities.EmbeddedResources.GetImage("level.png");
this.Text = "Levels";
break;
}
NodeAdded += new NodeEventHandler(TypeNode_NodeAdded);