diff -r cc1e116d0f2c -r 813d8bc3192f GUI/HardwareNode.cs --- a/GUI/HardwareNode.cs Thu Aug 05 19:28:50 2010 +0000 +++ b/GUI/HardwareNode.cs Sun Aug 08 13:57:26 2010 +0000 @@ -43,14 +43,41 @@ namespace OpenHardwareMonitor.GUI { public class HardwareNode : Node { + private PersistentSettings settings; + private UnitManager unitManager; private IHardware hardware; private List typeNodes = new List(); - public HardwareNode(IHardware hardware) : base(hardware.Name) { - + public HardwareNode(IHardware hardware, PersistentSettings settings, + UnitManager unitManager) : base(hardware.Name) + { + this.settings = settings; + this.unitManager = unitManager; this.hardware = hardware; - this.Image = hardware.Icon; + switch (hardware.HardwareType) { + case HardwareType.CPU: + this.Image = Utilities.EmbeddedResources.GetImage("cpu.png"); + break; + case HardwareType.GPU: + if (hardware.Identifier.ToString().Contains("nvidia")) + this.Image = Utilities.EmbeddedResources.GetImage("nvidia.png"); + else + this.Image = Utilities.EmbeddedResources.GetImage("ati.png"); + break; + case HardwareType.HDD: + this.Image = Utilities.EmbeddedResources.GetImage("hdd.png"); + break; + case HardwareType.Mainboard: + this.Image = Utilities.EmbeddedResources.GetImage("mainboard.png"); + break; + case HardwareType.SuperIO: + this.Image = Utilities.EmbeddedResources.GetImage("chip.png"); + break; + case HardwareType.TBalancer: + this.Image = Utilities.EmbeddedResources.GetImage("bigng.png"); + break; + } typeNodes.Add(new TypeNode(SensorType.Voltage)); typeNodes.Add(new TypeNode(SensorType.Clock)); @@ -105,7 +132,7 @@ while (i < node.Nodes.Count && ((SensorNode)node.Nodes[i]).Sensor.Index < sensor.Index) i++; - SensorNode sensorNode = new SensorNode(sensor); + SensorNode sensorNode = new SensorNode(sensor, settings, unitManager); node.Nodes.Insert(i, sensorNode); }