From a91106b89517bd0db15f7d922a96dccf15257aed Mon Sep 17 00:00:00 2001 From: Chris Kaczor Date: Wed, 14 May 2014 16:50:53 -0400 Subject: [PATCH] Save settings more often --- .../FloatingStatusWindow.cs | 26 ++++++++++++++++--- .../MainWindow.xaml.cs | 4 +++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/FloatingStatusWindowLibrary/FloatingStatusWindow.cs b/FloatingStatusWindowLibrary/FloatingStatusWindow.cs index ed9abc3..4c2068e 100644 --- a/FloatingStatusWindowLibrary/FloatingStatusWindow.cs +++ b/FloatingStatusWindowLibrary/FloatingStatusWindow.cs @@ -108,23 +108,41 @@ namespace FloatingStatusWindowLibrary _mainWindow = new MainWindow(windowSource); _mainWindow.Closed += HandleMainWindowClosed; _mainWindow.SizeChanged += HandleWindowSizeChanged; + _mainWindow.LocationChanged += HandleWindowLocationChanged; + _mainWindow.LockStateChanged += HandleWindowLockStateChanged; _mainWindow.Show(); } - void HandleWindowSizeChanged(object sender, SizeChangedEventArgs e) + private void HandleWindowLockStateChanged(object sender, EventArgs e) { - WindowResized(this, new EventArgs()); + Save(); } - void HandleChangeAppearancemMenuItemClick(object sender, RoutedEventArgs e) + private void HandleWindowLocationChanged(object sender, EventArgs e) + { + Save(); + } + + private void HandleWindowSizeChanged(object sender, SizeChangedEventArgs e) + { + WindowResized(this, new EventArgs()); + + Save(); + } + + private void HandleChangeAppearancemMenuItemClick(object sender, RoutedEventArgs e) { var appearanceWindow = new AppearanceWindow(_mainWindow.WindowSettings); appearanceWindow.ShowDialog(); + + Save(); } private void HandleMainWindowClosed(object sender, EventArgs e) { + Save(); + WindowClosed(null, new EventArgs()); _taskbarIcon.Dispose(); @@ -159,6 +177,8 @@ namespace FloatingStatusWindowLibrary private void HandleExitMenuItemClick(object sender, RoutedEventArgs e) { + Save(); + _mainWindow.Close(); } diff --git a/FloatingStatusWindowLibrary/MainWindow.xaml.cs b/FloatingStatusWindowLibrary/MainWindow.xaml.cs index d30db50..c2d904c 100644 --- a/FloatingStatusWindowLibrary/MainWindow.xaml.cs +++ b/FloatingStatusWindowLibrary/MainWindow.xaml.cs @@ -11,6 +11,8 @@ namespace FloatingStatusWindowLibrary { internal partial class MainWindow { + public event EventHandler LockStateChanged = delegate { }; + private const int WindowCaptionHeight = 24; private readonly WindowChrome _windowChrome; @@ -39,6 +41,8 @@ namespace FloatingStatusWindowLibrary // Show and enable the window border if the window is unlocked BorderFull.BorderBrush = (_locked ? Brushes.Transparent : SystemColors.ActiveCaptionBrush); BorderFull.IsEnabled = !_locked; + + LockStateChanged(null, new EventArgs()); } }