diff --git a/app/Input/InputDispatcher.cs b/app/Input/InputDispatcher.cs index 0cc17d66..8565cb34 100644 --- a/app/Input/InputDispatcher.cs +++ b/app/Input/InputDispatcher.cs @@ -337,7 +337,7 @@ namespace GHelper.Input if (e.Modifier == (ModifierKeys.Control | ModifierKeys.Shift)) { if (e.Key == keyProfile) modeControl.CyclePerformanceMode(); - if (e.Key == keyApp) Program.SettingsToggle("", true); + if (e.Key == keyApp) Program.SettingsToggle(); if (e.Key == Keys.F20) KeyProcess("m3"); } @@ -427,7 +427,7 @@ namespace GHelper.Input { Program.settingsForm.BeginInvoke(delegate { - Program.SettingsToggle("", true); + Program.SettingsToggle(); }); } catch (Exception ex) diff --git a/app/Program.cs b/app/Program.cs index 390c568c..5127a510 100644 --- a/app/Program.cs +++ b/app/Program.cs @@ -119,7 +119,7 @@ namespace GHelper if (Environment.CurrentDirectory.Trim('\\') == Application.StartupPath.Trim('\\') || action.Length > 0) { - SettingsToggle(action); + SettingsToggle(action, false); } Application.Run(); @@ -156,17 +156,17 @@ namespace GHelper lastTheme = DateTimeOffset.Now.ToUnixTimeMilliseconds(); } - if (settingsForm.fans is not null && settingsForm.fans.Text != "") - settingsForm.fans.InitTheme(); + if (settingsForm.fansForm is not null && settingsForm.fansForm.Text != "") + settingsForm.fansForm.InitTheme(); - if (settingsForm.keyb is not null && settingsForm.keyb.Text != "") - settingsForm.keyb.InitTheme(); + if (settingsForm.extraForm is not null && settingsForm.extraForm.Text != "") + settingsForm.extraForm.InitTheme(); - if (settingsForm.updates is not null && settingsForm.updates.Text != "") - settingsForm.updates.InitTheme(); + if (settingsForm.updatesForm is not null && settingsForm.updatesForm.Text != "") + settingsForm.updatesForm.InitTheme(); - if (settingsForm.matrix is not null && settingsForm.matrix.Text != "") - settingsForm.matrix.InitTheme(); + if (settingsForm.matrixForm is not null && settingsForm.matrixForm.Text != "") + settingsForm.matrixForm.InitTheme(); break; } } @@ -213,7 +213,7 @@ namespace GHelper SetAutoModes(true); } - public static void SettingsToggle(string action = "", bool checkForFocus = false) + public static void SettingsToggle(string action = "", bool checkForFocus = true) { if (settingsForm.Visible) { @@ -256,9 +256,9 @@ namespace GHelper gpuControl.RestartGPU(false); break; case "services": - settingsForm.keyb = new Extra(); - settingsForm.keyb.Show(); - settingsForm.keyb.ServiesToggle(); + settingsForm.extraForm = new Extra(); + settingsForm.extraForm.Show(); + settingsForm.extraForm.ServiesToggle(); break; case "uv": Startup.ReScheduleAdmin(); diff --git a/app/Settings.cs b/app/Settings.cs index f3c3dd11..035ccf94 100644 --- a/app/Settings.cs +++ b/app/Settings.cs @@ -32,10 +32,10 @@ namespace GHelper public static System.Timers.Timer sensorTimer = default!; - public Matrix? matrix; - public Fans? fans; - public Extra? keyb; - public Updates? updates; + public Matrix? matrixForm; + public Fans? fansForm; + public Extra? extraForm; + public Updates? updatesForm; static long lastRefresh; static long lastBatteryRefresh; @@ -282,21 +282,26 @@ namespace GHelper private void ButtonUpdates_Click(object? sender, EventArgs e) { - if (updates == null || updates.Text == "") + if (updatesForm == null || updatesForm.Text == "") { - updates = new Updates(); - updates.Show(); + updatesForm = new Updates(); + AddOwnedForm(updatesForm); + } + + if (updatesForm.Visible) + { + updatesForm.Close(); } else { - updates.Close(); + updatesForm.Show(); } } public void VisualiseMatrix(string image) { - if (matrix == null || matrix.Text == "") return; - matrix.VisualiseMatrix(image); + if (matrixForm == null || matrixForm.Text == "") return; + matrixForm.VisualiseMatrix(image); } protected override void WndProc(ref Message m) @@ -544,20 +549,20 @@ namespace GHelper private void ButtonMatrix_Click(object? sender, EventArgs e) { - if (matrix == null || matrix.Text == "") + if (matrixForm == null || matrixForm.Text == "") { - matrix = new Matrix(); - AddOwnedForm(matrix); + matrixForm = new Matrix(); + AddOwnedForm(matrixForm); } - if (matrix.Visible) + if (matrixForm.Visible) { - matrix.Close(); + matrixForm.Close(); } else { - matrix.FormPosition(); - matrix.Show(); + matrixForm.FormPosition(); + matrixForm.Show(); } } @@ -612,15 +617,19 @@ namespace GHelper private void ButtonKeyboard_Click(object? sender, EventArgs e) { - if (keyb == null || keyb.Text == "") + if (extraForm == null || extraForm.Text == "") { - keyb = new Extra(); - keyb.Show(); - AddOwnedForm(keyb); + extraForm = new Extra(); + AddOwnedForm(extraForm); + } + + if (extraForm.Visible) + { + extraForm.Close(); } else { - keyb.Close(); + extraForm.Show(); } } @@ -628,7 +637,7 @@ namespace GHelper { Invoke(delegate { - if (fans != null && fans.Text != "") fans.InitAll(); + if (fansForm != null && fansForm.Text != "") fansForm.InitAll(); }); } @@ -636,27 +645,27 @@ namespace GHelper { Invoke(delegate { - if (fans != null && fans.Text != "") fans.InitGPU(); + if (fansForm != null && fansForm.Text != "") fansForm.InitGPU(); }); } public void FansToggle(int index = 0) { - if (fans == null || fans.Text == "") + if (fansForm == null || fansForm.Text == "") { - fans = new Fans(); - AddOwnedForm(fans); + fansForm = new Fans(); + AddOwnedForm(fansForm); } - if (fans.Visible) + if (fansForm.Visible) { - fans.Close(); + fansForm.Close(); } else { - fans.FormPosition(); - fans.Show(); - fans.ToggleNavigation(index); + fansForm.FormPosition(); + fansForm.Show(); + fansForm.ToggleNavigation(index); } } @@ -848,9 +857,10 @@ namespace GHelper public void HideAll() { this.Hide(); - if (fans != null && fans.Text != "") fans.Close(); - if (keyb != null && keyb.Text != "") keyb.Close(); - if (updates != null && updates.Text != "") updates.Close(); + if (fansForm != null && fansForm.Text != "") fansForm.Close(); + if (extraForm != null && extraForm.Text != "") extraForm.Close(); + if (updatesForm != null && updatesForm.Text != "") updatesForm.Close(); + if (matrixForm != null && matrixForm.Text != "") matrixForm.Close(); } /// @@ -867,7 +877,11 @@ namespace GHelper /// Focus state public bool HasAnyFocus() { - return (fans != null && fans.ContainsFocus) || (keyb != null && keyb.ContainsFocus) || (updates != null && updates.ContainsFocus) || this.ContainsFocus; + return (fansForm != null && fansForm.ContainsFocus) || + (extraForm != null && extraForm.ContainsFocus) || + (updatesForm != null && updatesForm.ContainsFocus) || + (matrixForm != null && matrixForm.ContainsFocus) || + this.ContainsFocus; } private void SettingsForm_FormClosing(object? sender, FormClosingEventArgs e) @@ -962,8 +976,8 @@ namespace GHelper public void LabelFansResult(string text) { - if (fans != null && fans.Text != "") - fans.LabelFansResult(text); + if (fansForm != null && fansForm.Text != "") + fansForm.LabelFansResult(text); } public void ShowMode(int mode)