1.1 --- a/GUI/MainForm.cs Sun Jul 08 19:26:00 2012 +0000
1.2 +++ b/GUI/MainForm.cs Wed Jul 11 17:35:30 2012 +0000
1.3 @@ -12,6 +12,7 @@
1.4
1.5 using System;
1.6 using System.Collections.Generic;
1.7 +using System.Collections.ObjectModel;
1.8 using System.ComponentModel;
1.9 using System.Drawing;
1.10 using System.IO;
1.11 @@ -50,7 +51,13 @@
1.12 private UserOption minimizeToTray;
1.13 private UserOption minimizeOnClose;
1.14 private UserOption autoStart;
1.15 +
1.16 + private UserOption readMainboardSensors;
1.17 + private UserOption readCpuSensors;
1.18 + private UserOption readGpuSensors;
1.19 + private UserOption readFanControllersSensors;
1.20 private UserOption readHddSensors;
1.21 +
1.22 private UserOption showGadget;
1.23 private UserRadioGroup plotLocation;
1.24 private WmiProvider wmiProvider;
1.25 @@ -207,6 +214,30 @@
1.26 }
1.27 };
1.28
1.29 + readMainboardSensors = new UserOption("mainboardMenuItem", true,
1.30 + mainboardMenuItem, settings);
1.31 + readMainboardSensors.Changed += delegate(object sender, EventArgs e) {
1.32 + computer.MainboardEnabled = readMainboardSensors.Value;
1.33 + };
1.34 +
1.35 + readCpuSensors = new UserOption("cpuMenuItem", true,
1.36 + cpuMenuItem, settings);
1.37 + readCpuSensors.Changed += delegate(object sender, EventArgs e) {
1.38 + computer.CPUEnabled = readCpuSensors.Value;
1.39 + };
1.40 +
1.41 + readGpuSensors = new UserOption("gpuMenuItem", true,
1.42 + gpuMenuItem, settings);
1.43 + readGpuSensors.Changed += delegate(object sender, EventArgs e) {
1.44 + computer.GPUEnabled = readGpuSensors.Value;
1.45 + };
1.46 +
1.47 + readFanControllersSensors = new UserOption("fanControllerMenuItem", true,
1.48 + fanControllerMenuItem, settings);
1.49 + readFanControllersSensors.Changed += delegate(object sender, EventArgs e) {
1.50 + computer.FanControllerEnabled = readFanControllersSensors.Value;
1.51 + };
1.52 +
1.53 readHddSensors = new UserOption("hddMenuItem", true, hddMenuItem,
1.54 settings);
1.55 readHddSensors.Changed += delegate(object sender, EventArgs e) {
1.56 @@ -227,15 +258,13 @@
1.57 server = new HttpServer(root, this.settings.GetValue("listenerPort", 8085));
1.58 runWebServer = new UserOption("runWebServerMenuItem", false,
1.59 runWebServerMenuItem, settings);
1.60 - runWebServer.Changed += delegate(object sender, EventArgs e)
1.61 - {
1.62 - if (runWebServer.Value)
1.63 - runWebServer.Value = server.startHTTPListener();
1.64 - else
1.65 - server.stopHTTPListener();
1.66 + runWebServer.Changed += delegate(object sender, EventArgs e) {
1.67 + if (runWebServer.Value)
1.68 + runWebServer.Value = server.startHTTPListener();
1.69 + else
1.70 + server.stopHTTPListener();
1.71 };
1.72
1.73 -
1.74 InitializePlotForm();
1.75
1.76 startupMenuItem.Visible = startupManager.IsAvailable;
1.77 @@ -357,13 +386,23 @@
1.78 plotForm.Hide();
1.79 };
1.80 }
1.81 +
1.82 + private void InsertSorted(Collection<Node> nodes, HardwareNode node) {
1.83 + int i = 0;
1.84 + while (i < nodes.Count && nodes[i] is HardwareNode &&
1.85 + ((HardwareNode)nodes[i]).Hardware.HardwareType <
1.86 + node.Hardware.HardwareType)
1.87 + i++;
1.88 + nodes.Insert(i, node);
1.89 + }
1.90
1.91 private void SubHardwareAdded(IHardware hardware, Node node) {
1.92 HardwareNode hardwareNode =
1.93 new HardwareNode(hardware, settings, unitManager);
1.94 hardwareNode.PlotSelectionChanged += PlotSelectionChanged;
1.95
1.96 - node.Nodes.Add(hardwareNode);
1.97 + InsertSorted(node.Nodes, hardwareNode);
1.98 +
1.99 foreach (IHardware subHardware in hardware.SubHardware)
1.100 SubHardwareAdded(subHardware, hardwareNode);
1.101 }