Server Monitor window now stores it's location.

This commit is contained in:
Brett Hewitson 2021-12-09 20:33:14 +10:00
parent 77cac3329a
commit 72a0c342c3
14 changed files with 110 additions and 12 deletions

View file

@ -10,7 +10,7 @@
xmlns:vm="clr-namespace:ServerManagerTool.Lib.ViewModel"
mc:Ignorable="d"
MinWidth="600" MinHeight="500" Width="900" Height="500" Left="50" Top="50" ResizeMode="CanResize"
Loaded="Window_Loaded" SizeChanged="Window_SizeChanged" StateChanged="Window_StateChanged"
Loaded="ServerMonitorWindow_Loaded" SizeChanged="ServerMonitorWindow_SizeChanged" StateChanged="ServerMonitorWindow_StateChanged" LocationChanged="ServerMonitorWindow_LocationChanged"
Name="ServerMonitorUI" Icon="../Art/favicon.ico" Title="{DynamicResource ServerMonitor_Title}">
<Window.Resources>
<ResourceDictionary>

View file

@ -53,6 +53,8 @@ namespace ServerManagerTool.Windows
SetWindowTitle();
this.Left = Config.Default.ServerMonitorWindow_Left;
this.Top = Config.Default.ServerMonitorWindow_Top;
this.Height = Config.Default.ServerMonitorWindow_Height;
this.Width = Config.Default.ServerMonitorWindow_Width;
@ -86,7 +88,7 @@ namespace ServerManagerTool.Windows
set { SetValue(IsStandAloneWindowProperty, value); }
}
private void Window_Loaded(object sender, RoutedEventArgs e)
private void ServerMonitorWindow_Loaded(object sender, RoutedEventArgs e)
{
if (ServerManager == null)
{
@ -120,12 +122,16 @@ namespace ServerManagerTool.Windows
}
}
private void Window_Closed(object sender, EventArgs e)
private void ServerMonitorWindow_LocationChanged(object sender, EventArgs e)
{
this.Activate();
if (this.WindowState == WindowState.Normal)
{
Config.Default.ServerMonitorWindow_Left = Math.Max(0D, this.Left);
Config.Default.ServerMonitorWindow_Top = Math.Max(0D, this.Top);
}
}
private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
private void ServerMonitorWindow_SizeChanged(object sender, SizeChangedEventArgs e)
{
if (this.WindowState != WindowState.Minimized)
{
@ -134,7 +140,7 @@ namespace ServerManagerTool.Windows
}
}
private void Window_StateChanged(object sender, EventArgs e)
private void ServerMonitorWindow_StateChanged(object sender, EventArgs e)
{
if (IsStandAloneWindow && Config.Default.MainWindow_MinimizeToTray && this.WindowState == WindowState.Minimized)
{
@ -142,6 +148,11 @@ namespace ServerManagerTool.Windows
}
}
private void Window_Closed(object sender, EventArgs e)
{
this.Activate();
}
protected override void OnClosing(CancelEventArgs e)
{
if (this.OwnedWindows.OfType<ProgressWindow>().Any())