Save settings more often

This commit is contained in:
2014-05-14 16:50:53 -04:00
parent feb1ac7972
commit a91106b895
2 changed files with 27 additions and 3 deletions

View File

@@ -108,23 +108,41 @@ namespace FloatingStatusWindowLibrary
_mainWindow = new MainWindow(windowSource); _mainWindow = new MainWindow(windowSource);
_mainWindow.Closed += HandleMainWindowClosed; _mainWindow.Closed += HandleMainWindowClosed;
_mainWindow.SizeChanged += HandleWindowSizeChanged; _mainWindow.SizeChanged += HandleWindowSizeChanged;
_mainWindow.LocationChanged += HandleWindowLocationChanged;
_mainWindow.LockStateChanged += HandleWindowLockStateChanged;
_mainWindow.Show(); _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); var appearanceWindow = new AppearanceWindow(_mainWindow.WindowSettings);
appearanceWindow.ShowDialog(); appearanceWindow.ShowDialog();
Save();
} }
private void HandleMainWindowClosed(object sender, EventArgs e) private void HandleMainWindowClosed(object sender, EventArgs e)
{ {
Save();
WindowClosed(null, new EventArgs()); WindowClosed(null, new EventArgs());
_taskbarIcon.Dispose(); _taskbarIcon.Dispose();
@@ -159,6 +177,8 @@ namespace FloatingStatusWindowLibrary
private void HandleExitMenuItemClick(object sender, RoutedEventArgs e) private void HandleExitMenuItemClick(object sender, RoutedEventArgs e)
{ {
Save();
_mainWindow.Close(); _mainWindow.Close();
} }

View File

@@ -11,6 +11,8 @@ namespace FloatingStatusWindowLibrary
{ {
internal partial class MainWindow internal partial class MainWindow
{ {
public event EventHandler LockStateChanged = delegate { };
private const int WindowCaptionHeight = 24; private const int WindowCaptionHeight = 24;
private readonly WindowChrome _windowChrome; private readonly WindowChrome _windowChrome;
@@ -39,6 +41,8 @@ namespace FloatingStatusWindowLibrary
// Show and enable the window border if the window is unlocked // Show and enable the window border if the window is unlocked
BorderFull.BorderBrush = (_locked ? Brushes.Transparent : SystemColors.ActiveCaptionBrush); BorderFull.BorderBrush = (_locked ? Brushes.Transparent : SystemColors.ActiveCaptionBrush);
BorderFull.IsEnabled = !_locked; BorderFull.IsEnabled = !_locked;
LockStateChanged(null, new EventArgs());
} }
} }