From f64432ed081999ee1af60722ab08adcd94010897 Mon Sep 17 00:00:00 2001 From: Nate Shoffner Date: Sun, 25 Feb 2018 10:24:29 -0500 Subject: [PATCH] Prevent redundant logging + autoscroll --- .../Forms/FormMain.Designer.cs | 182 +++++++++--------- DisableNvidiaTelemetry/Forms/FormMain.cs | 92 +++++---- 2 files changed, 150 insertions(+), 124 deletions(-) diff --git a/DisableNvidiaTelemetry/Forms/FormMain.Designer.cs b/DisableNvidiaTelemetry/Forms/FormMain.Designer.cs index 3fccea7..967445e 100644 --- a/DisableNvidiaTelemetry/Forms/FormMain.Designer.cs +++ b/DisableNvidiaTelemetry/Forms/FormMain.Designer.cs @@ -30,16 +30,16 @@ private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain)); this.tabControl1 = new System.Windows.Forms.TabControl(); - this.tabPage1 = new System.Windows.Forms.TabPage(); - this.tabPage2 = new System.Windows.Forms.TabPage(); - this.textBox1 = new System.Windows.Forms.TextBox(); - this.tabPage6 = new System.Windows.Forms.TabPage(); + this.tabTelemetry = new System.Windows.Forms.TabPage(); + this.tabLog = new System.Windows.Forms.TabPage(); + this.txtEventLog = new System.Windows.Forms.TextBox(); + this.tabSettings = new System.Windows.Forms.TabPage(); this.chkFileLogging = new System.Windows.Forms.CheckBox(); this.cbTaskTrigger = new System.Windows.Forms.ComboBox(); this.btnUpdatecheck = new System.Windows.Forms.Button(); this.chkUpdates = new System.Windows.Forms.CheckBox(); this.chkBackgroundTask = new System.Windows.Forms.CheckBox(); - this.tabPage3 = new System.Windows.Forms.TabPage(); + this.tabAbout = new System.Windows.Forms.TabPage(); this.lblVersion = new System.Windows.Forms.LinkLabel(); this.pbDonate = new System.Windows.Forms.PictureBox(); this.lblGithub = new System.Windows.Forms.LinkLabel(); @@ -56,9 +56,9 @@ private void InitializeComponent() this.btnApply = new System.Windows.Forms.Button(); this.btnDefaults = new System.Windows.Forms.Button(); this.tabControl1.SuspendLayout(); - this.tabPage2.SuspendLayout(); - this.tabPage6.SuspendLayout(); - this.tabPage3.SuspendLayout(); + this.tabLog.SuspendLayout(); + this.tabSettings.SuspendLayout(); + this.tabAbout.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbDonate)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pbGithub)).BeginInit(); this.tabControl2.SuspendLayout(); @@ -72,10 +72,10 @@ private void InitializeComponent() this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.tabControl1.Controls.Add(this.tabPage1); - this.tabControl1.Controls.Add(this.tabPage2); - this.tabControl1.Controls.Add(this.tabPage6); - this.tabControl1.Controls.Add(this.tabPage3); + this.tabControl1.Controls.Add(this.tabTelemetry); + this.tabControl1.Controls.Add(this.tabLog); + this.tabControl1.Controls.Add(this.tabSettings); + this.tabControl1.Controls.Add(this.tabAbout); this.tabControl1.Location = new System.Drawing.Point(12, 12); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; @@ -83,55 +83,55 @@ private void InitializeComponent() this.tabControl1.TabIndex = 0; this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged); // - // tabPage1 - // - this.tabPage1.AutoScroll = true; - this.tabPage1.Location = new System.Drawing.Point(4, 22); - this.tabPage1.Name = "tabPage1"; - this.tabPage1.Padding = new System.Windows.Forms.Padding(3); - this.tabPage1.Size = new System.Drawing.Size(553, 260); - this.tabPage1.TabIndex = 0; - this.tabPage1.Text = "Telemetry"; - this.tabPage1.UseVisualStyleBackColor = true; - // - // tabPage2 - // - this.tabPage2.Controls.Add(this.textBox1); - this.tabPage2.Location = new System.Drawing.Point(4, 22); - this.tabPage2.Name = "tabPage2"; - this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(553, 260); - this.tabPage2.TabIndex = 1; - this.tabPage2.Text = "Event Log"; - this.tabPage2.UseVisualStyleBackColor = true; - // - // textBox1 - // - this.textBox1.BackColor = System.Drawing.SystemColors.Window; - this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.textBox1.Location = new System.Drawing.Point(3, 3); - this.textBox1.Multiline = true; - this.textBox1.Name = "textBox1"; - this.textBox1.ReadOnly = true; - this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.textBox1.Size = new System.Drawing.Size(547, 254); - this.textBox1.TabIndex = 0; - // - // tabPage6 - // - this.tabPage6.Controls.Add(this.chkFileLogging); - this.tabPage6.Controls.Add(this.cbTaskTrigger); - this.tabPage6.Controls.Add(this.btnUpdatecheck); - this.tabPage6.Controls.Add(this.chkUpdates); - this.tabPage6.Controls.Add(this.chkBackgroundTask); - this.tabPage6.Location = new System.Drawing.Point(4, 22); - this.tabPage6.Name = "tabPage6"; - this.tabPage6.Padding = new System.Windows.Forms.Padding(3); - this.tabPage6.Size = new System.Drawing.Size(553, 260); - this.tabPage6.TabIndex = 3; - this.tabPage6.Text = "Settings"; - this.tabPage6.UseVisualStyleBackColor = true; + // tabTelemetry + // + this.tabTelemetry.AutoScroll = true; + this.tabTelemetry.Location = new System.Drawing.Point(4, 22); + this.tabTelemetry.Name = "tabTelemetry"; + this.tabTelemetry.Padding = new System.Windows.Forms.Padding(3); + this.tabTelemetry.Size = new System.Drawing.Size(553, 295); + this.tabTelemetry.TabIndex = 0; + this.tabTelemetry.Text = "Telemetry"; + this.tabTelemetry.UseVisualStyleBackColor = true; + // + // tabLog + // + this.tabLog.Controls.Add(this.txtEventLog); + this.tabLog.Location = new System.Drawing.Point(4, 22); + this.tabLog.Name = "tabLog"; + this.tabLog.Padding = new System.Windows.Forms.Padding(3); + this.tabLog.Size = new System.Drawing.Size(553, 295); + this.tabLog.TabIndex = 1; + this.tabLog.Text = "Event Log"; + this.tabLog.UseVisualStyleBackColor = true; + // + // txtEventLog + // + this.txtEventLog.BackColor = System.Drawing.SystemColors.Window; + this.txtEventLog.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.txtEventLog.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtEventLog.Location = new System.Drawing.Point(3, 3); + this.txtEventLog.Multiline = true; + this.txtEventLog.Name = "txtEventLog"; + this.txtEventLog.ReadOnly = true; + this.txtEventLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtEventLog.Size = new System.Drawing.Size(547, 289); + this.txtEventLog.TabIndex = 0; + // + // tabSettings + // + this.tabSettings.Controls.Add(this.chkFileLogging); + this.tabSettings.Controls.Add(this.cbTaskTrigger); + this.tabSettings.Controls.Add(this.btnUpdatecheck); + this.tabSettings.Controls.Add(this.chkUpdates); + this.tabSettings.Controls.Add(this.chkBackgroundTask); + this.tabSettings.Location = new System.Drawing.Point(4, 22); + this.tabSettings.Name = "tabSettings"; + this.tabSettings.Padding = new System.Windows.Forms.Padding(3); + this.tabSettings.Size = new System.Drawing.Size(553, 295); + this.tabSettings.TabIndex = 3; + this.tabSettings.Text = "Settings"; + this.tabSettings.UseVisualStyleBackColor = true; // // chkFileLogging // @@ -190,23 +190,23 @@ private void InitializeComponent() this.chkBackgroundTask.UseVisualStyleBackColor = true; this.chkBackgroundTask.CheckedChanged += new System.EventHandler(this.chkBackroundTask_CheckedChanged); // - // tabPage3 - // - this.tabPage3.Controls.Add(this.lblVersion); - this.tabPage3.Controls.Add(this.pbDonate); - this.tabPage3.Controls.Add(this.lblGithub); - this.tabPage3.Controls.Add(this.pbGithub); - this.tabPage3.Controls.Add(this.lblCopyright); - this.tabPage3.Controls.Add(this.tabControl2); - this.tabPage3.Controls.Add(this.pictureBox1); - this.tabPage3.Controls.Add(this.lblName); - this.tabPage3.Location = new System.Drawing.Point(4, 22); - this.tabPage3.Name = "tabPage3"; - this.tabPage3.Padding = new System.Windows.Forms.Padding(3); - this.tabPage3.Size = new System.Drawing.Size(553, 295); - this.tabPage3.TabIndex = 2; - this.tabPage3.Text = "About"; - this.tabPage3.UseVisualStyleBackColor = true; + // tabAbout + // + this.tabAbout.Controls.Add(this.lblVersion); + this.tabAbout.Controls.Add(this.pbDonate); + this.tabAbout.Controls.Add(this.lblGithub); + this.tabAbout.Controls.Add(this.pbGithub); + this.tabAbout.Controls.Add(this.lblCopyright); + this.tabAbout.Controls.Add(this.tabControl2); + this.tabAbout.Controls.Add(this.pictureBox1); + this.tabAbout.Controls.Add(this.lblName); + this.tabAbout.Location = new System.Drawing.Point(4, 22); + this.tabAbout.Name = "tabAbout"; + this.tabAbout.Padding = new System.Windows.Forms.Padding(3); + this.tabAbout.Size = new System.Drawing.Size(553, 295); + this.tabAbout.TabIndex = 2; + this.tabAbout.Text = "About"; + this.tabAbout.UseVisualStyleBackColor = true; // // lblVersion // @@ -329,7 +329,7 @@ private void InitializeComponent() this.tabPage5.Location = new System.Drawing.Point(4, 22); this.tabPage5.Name = "tabPage5"; this.tabPage5.Padding = new System.Windows.Forms.Padding(3); - this.tabPage5.Size = new System.Drawing.Size(533, 108); + this.tabPage5.Size = new System.Drawing.Size(533, 187); this.tabPage5.TabIndex = 1; this.tabPage5.Text = "Credits"; this.tabPage5.UseVisualStyleBackColor = true; @@ -344,7 +344,7 @@ private void InitializeComponent() this.textBox2.Name = "textBox2"; this.textBox2.ReadOnly = true; this.textBox2.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.textBox2.Size = new System.Drawing.Size(527, 102); + this.textBox2.Size = new System.Drawing.Size(527, 181); this.textBox2.TabIndex = 63; this.textBox2.Text = "Icon made by freepik from www.flaticon.com "; // @@ -423,12 +423,12 @@ private void InitializeComponent() this.Text = "Disable Nvidia Telemetry"; this.Load += new System.EventHandler(this.FormMain_Load); this.tabControl1.ResumeLayout(false); - this.tabPage2.ResumeLayout(false); - this.tabPage2.PerformLayout(); - this.tabPage6.ResumeLayout(false); - this.tabPage6.PerformLayout(); - this.tabPage3.ResumeLayout(false); - this.tabPage3.PerformLayout(); + this.tabLog.ResumeLayout(false); + this.tabLog.PerformLayout(); + this.tabSettings.ResumeLayout(false); + this.tabSettings.PerformLayout(); + this.tabAbout.ResumeLayout(false); + this.tabAbout.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbDonate)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pbGithub)).EndInit(); this.tabControl2.ResumeLayout(false); @@ -444,13 +444,13 @@ private void InitializeComponent() #endregion private System.Windows.Forms.TabControl tabControl1; - private System.Windows.Forms.TabPage tabPage1; - private System.Windows.Forms.TabPage tabPage2; - private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.TabPage tabTelemetry; + private System.Windows.Forms.TabPage tabLog; + private System.Windows.Forms.TextBox txtEventLog; private System.Windows.Forms.Button btnRefresh; private System.Windows.Forms.Button btnApply; private System.Windows.Forms.Button btnDefaults; - private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.TabPage tabAbout; private System.Windows.Forms.TabControl tabControl2; private System.Windows.Forms.TabPage tabPage4; private System.Windows.Forms.TextBox txtLicense; @@ -461,7 +461,7 @@ private void InitializeComponent() private System.Windows.Forms.PictureBox pbGithub; private System.Windows.Forms.LinkLabel lblGithub; private System.Windows.Forms.PictureBox pbDonate; - private System.Windows.Forms.TabPage tabPage6; + private System.Windows.Forms.TabPage tabSettings; private System.Windows.Forms.CheckBox chkBackgroundTask; private System.Windows.Forms.CheckBox chkUpdates; private System.Windows.Forms.Button btnUpdatecheck; diff --git a/DisableNvidiaTelemetry/Forms/FormMain.cs b/DisableNvidiaTelemetry/Forms/FormMain.cs index fe8e195..f4904c9 100644 --- a/DisableNvidiaTelemetry/Forms/FormMain.cs +++ b/DisableNvidiaTelemetry/Forms/FormMain.cs @@ -42,9 +42,9 @@ public FormMain() _registryControl = new TelemetryControl(Resources.Telemetry_registry_items) {Dock = DockStyle.Top}; _registryControl.CheckStateChanged += telemControl_CheckStateChanged; - tabPage1.Controls.Add(_registryControl); - tabPage1.Controls.Add(_tasksControl); - tabPage1.Controls.Add(_servicesControl); + tabTelemetry.Controls.Add(_registryControl); + tabTelemetry.Controls.Add(_tasksControl); + tabTelemetry.Controls.Add(_servicesControl); txtLicense.Text = Resources.ApplicationLicense; @@ -115,24 +115,28 @@ private void CheckBackgroundTask() private void OnLogEvent(object sender, LogExtensions.LogEventArgs e) { if (e.Log.Equals(Logging.GetFileLogger())) - textBox1.AppendText($"[{DateTime.Now:T}] {e.Message}{Environment.NewLine}"); + { + txtEventLog.AppendText($"[{DateTime.Now:T}] {e.Message}{Environment.NewLine}"); + txtEventLog.SelectionStart = txtEventLog.TextLength; + txtEventLog.ScrollToCaret(); + } } private void FormMain_Load(object sender, EventArgs e) { - RefreshTelemetryServices(); - RefreshTelemetryTasks(); - RefreshTelemetryRegistry(); + RefreshTelemetryServices(true); + RefreshTelemetryTasks(true); + RefreshTelemetryRegistry(true); } private void btnRefresh_Click(object sender, EventArgs e) { RefreshControls(); - textBox1.Clear(); + txtEventLog.Clear(); - RefreshTelemetryServices(); - RefreshTelemetryTasks(); - RefreshTelemetryRegistry(); + RefreshTelemetryServices(true); + RefreshTelemetryTasks(true); + RefreshTelemetryRegistry(true); } private void telemControl_CheckStateChanged(object sender, EventArgs e) @@ -222,9 +226,9 @@ private void btnApply_Click(object sender, EventArgs e) RefreshControls(); - RefreshTelemetryServices(); - RefreshTelemetryTasks(); - RefreshTelemetryRegistry(); + RefreshTelemetryServices(false); + RefreshTelemetryTasks(false); + RefreshTelemetryRegistry(false); } private void btnDefaults_Click(object sender, EventArgs e) @@ -240,7 +244,6 @@ private void btnDefaults_Click(object sender, EventArgs e) : $"{Resources.Automatic_service_startup_enabled}: {item.Service.DisplayName} ({item.Service.ServiceName})"); } - foreach (var item in _telemetryServices) { var result = NvidiaController.EnableTelemetryService(item); @@ -268,16 +271,22 @@ private void btnDefaults_Click(object sender, EventArgs e) : $"{Resources.Registry_item_enabled}: {result.Item.Name}"); } - RefreshTelemetryServices(); - RefreshTelemetryTasks(); - RefreshTelemetryRegistry(); + RefreshTelemetryServices(false); + RefreshTelemetryTasks(false); + RefreshTelemetryRegistry(false); btnApply.Enabled = false; } private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { - btnRefresh.Visible = btnDefaults.Visible = btnApply.Visible = tabControl1.SelectedTab == tabPage1; + btnRefresh.Visible = btnDefaults.Visible = btnApply.Visible = tabControl1.SelectedTab == tabTelemetry; + + if (tabControl1.SelectedTab == tabLog) + { + txtEventLog.SelectionStart = txtEventLog.TextLength; + txtEventLog.ScrollToCaret(); + } } private void RefreshControls() @@ -287,23 +296,29 @@ private void RefreshControls() _registryControl.Reset(); } - private void RefreshTelemetryTasks() + private void RefreshTelemetryTasks(bool logging) { var tasks = new List(); foreach (var result in NvidiaController.EnumerateTelemetryTasks()) { - Logging.GetFileLogger().Log(Level.Info, result.Error != null + if (logging) + { + Logging.GetFileLogger().Log(Level.Info, result.Error != null ? $"{Resources.Failed_to_find_task}: {result.Name}" : $"{Resources.Found_task}: {result.Item.Task.Name}"); + } if (result.Error == null) { var task = result.Item; - Logging.GetFileLogger().Log(Level.Info, task.Task.Enabled + if (logging) + { + Logging.GetFileLogger().Log(Level.Info, task.Task.Enabled ? $"{Resources.Task_is}: {Resources.Enabled}" : $"{Resources.Task_is}: {Resources.Disabled}"); + } _tasksControl.AddTelemetryItem(task, $"{Resources.Task}: {task.Task.Path}"); tasks.Add(task); @@ -314,15 +329,18 @@ private void RefreshTelemetryTasks() _telemetryTasks = tasks; } - private void RefreshTelemetryServices() + private void RefreshTelemetryServices(bool logging) { var services = new List(); foreach (var result in NvidiaController.EnumerateTelemetryServices()) { - Logging.GetFileLogger().Log(Level.Info, result.Error != null - ? $"{Resources.Failed_to_find_service}: {result.Name}" - : $"{Resources.Found_service}: {result.Item.Service.DisplayName} ({result.Item.Service.ServiceName})"); + if (logging) + { + Logging.GetFileLogger().Log(Level.Info, result.Error != null + ? $"{Resources.Failed_to_find_service}: {result.Name}" + : $"{Resources.Found_service}: {result.Item.Service.DisplayName} ({result.Item.Service.ServiceName})"); + } if (result.Error == null) { @@ -345,10 +363,14 @@ private void RefreshTelemetryServices() break; } - Logging.GetFileLogger().Log(Level.Info, running - ? $"{Resources.Service_is}: {Resources.Enabled}" - : $"{Resources.Service_is}: {Resources.Disabled}"); - Logging.GetFileLogger().Log(Level.Info, $"{Resources.Service_startup_mode}: {startupModeString}"); + if (logging) + { + Logging.GetFileLogger().Log(Level.Info, running + ? $"{Resources.Service_is}: {Resources.Enabled}" + : $"{Resources.Service_is}: {Resources.Disabled}"); + + Logging.GetFileLogger().Log(Level.Info, $"{Resources.Service_startup_mode}: {startupModeString}"); + } _servicesControl.AddTelemetryItem(service, $"{Resources.Service}: {service.Service.DisplayName}"); services.Add(service); @@ -359,19 +381,23 @@ private void RefreshTelemetryServices() _telemetryServices = services; } - private void RefreshTelemetryRegistry() + private void RefreshTelemetryRegistry(bool logging) { var keys = new List(); foreach (var result in NvidiaController.EnumerateTelemetryRegistryItems()) { - Logging.GetFileLogger().Log(Level.Info, result.Error != null + if (logging) + { + Logging.GetFileLogger().Log(Level.Info, result.Error != null ? $"{Resources.Failed_to_find_registry_item}: {result.Name}" : $"{Resources.Found_registry_item}: {result.Item.Name}"); + } if (result.Error == null) { - Logging.GetFileLogger().Log(Level.Info, $"{Resources.Registry_item_is}: {Resources.Enabled}"); + if (logging) + Logging.GetFileLogger().Log(Level.Info, $"{Resources.Registry_item_is}: {Resources.Enabled}"); var key = result.Item;