From 3e4a52edbf8cc5a99b15adf39696b23012d3b206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Wed, 16 Nov 2022 00:32:40 +0100 Subject: [PATCH] Persist properly `ShowOSD` --- PerformanceOverlay/Controller.cs | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/PerformanceOverlay/Controller.cs b/PerformanceOverlay/Controller.cs index e733184..df7d939 100644 --- a/PerformanceOverlay/Controller.cs +++ b/PerformanceOverlay/Controller.cs @@ -22,6 +22,7 @@ namespace PerformanceOverlay Container components = new Container(); RTSSSharedMemoryNET.OSD? osd; + System.Windows.Forms.ContextMenuStrip contextMenu; ToolStripMenuItem showItem; System.Windows.Forms.NotifyIcon notifyIcon; System.Windows.Forms.Timer osdTimer; @@ -33,7 +34,7 @@ namespace PerformanceOverlay public Controller() { - var contextMenu = new System.Windows.Forms.ContextMenuStrip(components); + contextMenu = new System.Windows.Forms.ContextMenuStrip(components); Instance.Open(TitleWithVersion, "Global\\PerformanceOverlay"); @@ -95,7 +96,10 @@ namespace PerformanceOverlay { GlobalHotKey.RegisterHotKey(Settings.Default.ShowOSDShortcut, () => { - showItem.Checked = !showItem.Checked; + Settings.Default.ShowOSD = !Settings.Default.ShowOSD; + Settings.Default.Save(); + + updateContextItems(contextMenu); }); } @@ -107,18 +111,14 @@ namespace PerformanceOverlay int index = values.IndexOf(Settings.Default.OSDModeParsed); Settings.Default.OSDModeParsed = values[(index + 1) % values.Count]; + Settings.Default.ShowOSD = true; + Settings.Default.Save(); - showItem.Checked = true; updateContextItems(contextMenu); }); } } - private void HelpItem_Click(object? sender, EventArgs e) - { - throw new NotImplementedException(); - } - private void updateContextItems(ContextMenuStrip contextMenu) { foreach (ToolStripItem item in contextMenu.Items) @@ -126,6 +126,8 @@ namespace PerformanceOverlay if (item.Tag is OverlayMode) ((ToolStripMenuItem)item).Checked = ((OverlayMode)item.Tag == Settings.Default.OSDModeParsed); } + + showItem.Checked = Settings.Default.ShowOSD; } private void NotifyIcon_Click(object? sender, EventArgs e) @@ -135,7 +137,9 @@ namespace PerformanceOverlay private void ShowItem_Click(object? sender, EventArgs e) { - showItem.Checked = !showItem.Checked; + Settings.Default.ShowOSD = !Settings.Default.ShowOSD; + Settings.Default.Save(); + updateContextItems(contextMenu); } private void OsdTimer_Tick(object? sender, EventArgs e) @@ -153,7 +157,7 @@ namespace PerformanceOverlay return; } - if (!showItem.Checked) + if (!Settings.Default.ShowOSD) { osdTimer.Interval = 1000; osdReset();