From 2da00a55ecfec1a203a9c5145845531868ff747e Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 16:22:21 +1300 Subject: [PATCH] Fixed auto start functionality DM wasn't autstarting when the checkbox on the MainForm was started. It wasn't correctly enabling the setting. It now does. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/MainForm.cs | 4 ++-- DisplayMagician/UIForms/SettingsForm.cs | 25 +++++++++++++++++----- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 1cd9722..1471f89 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.71")] -[assembly: AssemblyFileVersion("2.1.0.71")] +[assembly: AssemblyVersion("2.1.0.73")] +[assembly: AssemblyFileVersion("2.1.0.73")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index 9b60a55..624951b 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -489,7 +489,7 @@ namespace DisplayMagician.UIForms allowClose = false; // Enable the MinimiseOnStart setting Program.AppProgramSettings.MinimiseOnStart = true; - Program.AppProgramSettings.StartOnBootUp = true; + SettingsForm.SetBootMeUp(true); // Change the exit_button text to say 'Close' btn_exit.Text = "&Close"; } @@ -501,7 +501,7 @@ namespace DisplayMagician.UIForms allowClose = true; // Disable the MinimiseOnStart setting Program.AppProgramSettings.MinimiseOnStart = false; - Program.AppProgramSettings.StartOnBootUp = false; + SettingsForm.SetBootMeUp(false); // Change the exit_button text to say 'Exit' btn_exit.Text = "&Exit"; diff --git a/DisplayMagician/UIForms/SettingsForm.cs b/DisplayMagician/UIForms/SettingsForm.cs index e43b6c3..a63b711 100644 --- a/DisplayMagician/UIForms/SettingsForm.cs +++ b/DisplayMagician/UIForms/SettingsForm.cs @@ -172,10 +172,8 @@ namespace DisplayMagician.UIForms } - private void SettingsForm_FormClosing(object sender, FormClosingEventArgs e) + public static bool SetBootMeUp(bool enabled) { - - logger.Info($"SettingsForm/SettingsForm_Load: AppProgramSettings LogLevel set to Trace"); var bootMeUp = new BootMeUp { UseAlternativeOnFail = true, @@ -184,7 +182,7 @@ namespace DisplayMagician.UIForms }; // save start on Boot up - if (cb_start_on_boot.Checked) + if (enabled) { Program.AppProgramSettings.StartOnBootUp = true; bootMeUp.Enabled = true; @@ -192,10 +190,15 @@ namespace DisplayMagician.UIForms { logger.Error($"SettingsForm/SettingsForm_FormClosing: Failed to set up DisplayMagician to start when Windows starts"); MessageBox.Show("There was an issue setting DisplayMagician to run when the computer starts. Please try launching DisplayMagician again as Admin to see if that helps."); + return false; } else + { logger.Info($"SettingsForm/SettingsForm_FormClosing: Successfully set DisplayMagician to start when Windows starts"); - } + return true; + } + + } else { Program.AppProgramSettings.StartOnBootUp = false; @@ -204,10 +207,22 @@ namespace DisplayMagician.UIForms { logger.Error($"SettingsForm/SettingsForm_FormClosing: Failed to stop DisplayMagician from starting when Windows starts"); MessageBox.Show("There was an issue stopping DisplayMagician from running when the computer starts. Please try launching DisplayMagician again as Admin to see if that helps."); + return false; } else + { logger.Info($"SettingsForm/SettingsForm_FormClosing: Successfully stopped DisplayMagician from starting when Windows starts"); + return true; + } + } + } + + private void SettingsForm_FormClosing(object sender, FormClosingEventArgs e) + { + + logger.Info($"SettingsForm/SettingsForm_Load: Setting BootMeUp to {cb_start_on_boot.Checked}"); + SetBootMeUp(cb_start_on_boot.Checked); // save minimise on close if (cb_minimise_notification_area.Checked)