From a39f6e9b4c3ccba677f58f3c0aafe9e6186c3031 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Tue, 22 Nov 2016 12:02:49 -0800 Subject: clear cached window positions when display settings change --- windows/WinUI/ToolbarItem.xaml.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/windows/WinUI/ToolbarItem.xaml.cs b/windows/WinUI/ToolbarItem.xaml.cs index 5e8dd9f5..6ecac6c2 100644 --- a/windows/WinUI/ToolbarItem.xaml.cs +++ b/windows/WinUI/ToolbarItem.xaml.cs @@ -19,6 +19,7 @@ using System.Timers; using System.Windows.Threading; using System.IO; using System.Diagnostics; +using Microsoft.Win32; namespace WinUI { @@ -57,6 +58,8 @@ namespace WinUI mon.SubscribeNetworkUpdates(updateNetworks); mon.SubscribeStatusUpdates(updateStatus); + + SystemEvents.DisplaySettingsChanged += new EventHandler(SystemEvents_DisplaySettingsChanged); } ~ToolbarItem() @@ -276,5 +279,18 @@ namespace WinUI w.Top = top; w.Left = left; } + + private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e) + { + // reset cached locations to (0, 0) when display size changes + netListLocation.X = 0; + netListLocation.Y = 0; + joinNetLocation.X = 0; + joinNetLocation.Y = 0; + aboutViewLocation.X = 0; + aboutViewLocation.Y = 0; + prefsViewLocation.X = 0; + prefsViewLocation.Y = 0; + } } } -- cgit v1.2.3