diff --git a/LibreHardwareMonitor/UI/MainForm.Designer.cs b/LibreHardwareMonitor/UI/MainForm.Designer.cs index 543e4f5..f647f1d 100644 --- a/LibreHardwareMonitor/UI/MainForm.Designer.cs +++ b/LibreHardwareMonitor/UI/MainForm.Designer.cs @@ -102,6 +102,13 @@ namespace LibreHardwareMonitor.UI this.log1hMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); this.log2hMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); this.log6hMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); + this.updateIntervalMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.updateInterval250msMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); + this.updateInterval500msMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); + this.updateInterval1sMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); + this.updateInterval2sMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); + this.updateInterval5sMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); + this.updateInterval10sMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); this.sensorValuesTimeWindowMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.timeWindow30sMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); this.timeWindow1minMenuItem = new LibreHardwareMonitor.UI.ToolStripRadioButtonMenuItem(); @@ -424,6 +431,7 @@ namespace LibreHardwareMonitor.UI this.logSeparatorMenuItem, this.logSensorsMenuItem, this.loggingIntervalMenuItem, + this.updateIntervalMenuItem, this.sensorValuesTimeWindowMenuItem, this.webMenuItemSeparator, this.webMenuItem}); @@ -637,6 +645,61 @@ namespace LibreHardwareMonitor.UI this.log6hMenuItem.Name = "log6hMenuItem"; this.log6hMenuItem.Size = new System.Drawing.Size(107, 22); this.log6hMenuItem.Text = "6h"; + // + // updateIntervalMenuItem + // + this.updateIntervalMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.updateInterval250msMenuItem, + this.updateInterval500msMenuItem, + this.updateInterval1sMenuItem, + this.updateInterval2sMenuItem, + this.updateInterval5sMenuItem, + this.updateInterval10sMenuItem}); + this.updateIntervalMenuItem.Name = "updateIntervalMenuItem"; + this.updateIntervalMenuItem.Size = new System.Drawing.Size(221, 22); + this.updateIntervalMenuItem.Text = "Update Interval"; + // + // updateInterval250msMenuItem + // + this.updateInterval250msMenuItem.CheckOnClick = true; + this.updateInterval250msMenuItem.Name = "updateInterval250msMenuItem"; + this.updateInterval250msMenuItem.Size = new System.Drawing.Size(107, 22); + this.updateInterval250msMenuItem.Text = "250ms"; + // + // updateInterval500msMenuItem + // + this.updateInterval500msMenuItem.CheckOnClick = true; + this.updateInterval500msMenuItem.Name = "updateInterval500msMenuItem"; + this.updateInterval500msMenuItem.Size = new System.Drawing.Size(107, 22); + this.updateInterval500msMenuItem.Text = "500ms"; + // + // updateInterval1sMenuItem + // + this.updateInterval1sMenuItem.CheckOnClick = true; + this.updateInterval1sMenuItem.Name = "updateInterval1sMenuItem"; + this.updateInterval1sMenuItem.Size = new System.Drawing.Size(107, 22); + this.updateInterval1sMenuItem.Text = "1s"; + // + // updateInterval2sMenuItem + // + this.updateInterval2sMenuItem.CheckOnClick = true; + this.updateInterval2sMenuItem.Name = "updateInterval2sMenuItem"; + this.updateInterval2sMenuItem.Size = new System.Drawing.Size(107, 22); + this.updateInterval2sMenuItem.Text = "2s"; + // + // updateInterval5sMenuItem + // + this.updateInterval5sMenuItem.CheckOnClick = true; + this.updateInterval5sMenuItem.Name = "updateInterval5sMenuItem"; + this.updateInterval5sMenuItem.Size = new System.Drawing.Size(107, 22); + this.updateInterval5sMenuItem.Text = "5s"; + // + // updateInterval10sMenuItem + // + this.updateInterval10sMenuItem.CheckOnClick = true; + this.updateInterval10sMenuItem.Name = "updateInterval10sMenuItem"; + this.updateInterval10sMenuItem.Size = new System.Drawing.Size(107, 22); + this.updateInterval10sMenuItem.Text = "10s"; // // sensorValuesTimeWindowMenuItem // @@ -964,6 +1027,13 @@ namespace LibreHardwareMonitor.UI private ToolStripRadioButtonMenuItem log1hMenuItem; private ToolStripRadioButtonMenuItem log2hMenuItem; private ToolStripRadioButtonMenuItem log6hMenuItem; + private System.Windows.Forms.ToolStripMenuItem updateIntervalMenuItem; + private ToolStripRadioButtonMenuItem updateInterval250msMenuItem; + private ToolStripRadioButtonMenuItem updateInterval500msMenuItem; + private ToolStripRadioButtonMenuItem updateInterval1sMenuItem; + private ToolStripRadioButtonMenuItem updateInterval2sMenuItem; + private ToolStripRadioButtonMenuItem updateInterval5sMenuItem; + private ToolStripRadioButtonMenuItem updateInterval10sMenuItem; private System.Windows.Forms.ToolStripMenuItem nicMenuItem; private System.Windows.Forms.ToolStripMenuItem sensorValuesTimeWindowMenuItem; private ToolStripRadioButtonMenuItem timeWindow30sMenuItem; diff --git a/LibreHardwareMonitor/UI/MainForm.cs b/LibreHardwareMonitor/UI/MainForm.cs index 3d7c4d9..e4e8bc6 100644 --- a/LibreHardwareMonitor/UI/MainForm.cs +++ b/LibreHardwareMonitor/UI/MainForm.cs @@ -26,6 +26,7 @@ public sealed partial class MainForm : Form private readonly SensorGadget _gadget; private readonly Logger _logger; private readonly UserRadioGroup _loggingInterval; + private readonly UserRadioGroup _updateInterval; private readonly UserOption _logSensors; private readonly UserOption _minimizeOnClose; private readonly UserOption _minimizeToTray; @@ -326,6 +327,44 @@ public sealed partial class MainForm : Form } }; + _updateInterval = new UserRadioGroup("updateIntervalMenuItem", + 2, + new[] + { + updateInterval250msMenuItem, + updateInterval500msMenuItem, + updateInterval1sMenuItem, + updateInterval2sMenuItem, + updateInterval5sMenuItem, + updateInterval10sMenuItem + }, + _settings); + + _updateInterval.Changed += (sender, e) => + { + switch (_updateInterval.Value) + { + case 0: + timer.Interval = 250; + break; + case 1: + timer.Interval = 500; + break; + case 2: + timer.Interval = 1000; + break; + case 3: + timer.Interval = 2000; + break; + case 4: + timer.Interval = 5000; + break; + case 5: + timer.Interval = 10000; + break; + } + }; + _sensorValuesTimeWindow = new UserRadioGroup("sensorValuesTimeWindow", 10, new[]