diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2019-10-06 15:22:46 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2019-10-06 15:22:46 +0900 |
commit | 140f0ddcfb67614fca835b43b003d41a2d936608 (patch) | |
tree | 88504f15b47a02c11cba6ca1856e3281d390a7be | |
parent | 27fc257a22d0633773e3aaa0704f09fefa010d93 (diff) | |
download | wf-clock-140f0ddcfb67614fca835b43b003d41a2d936608.tar.gz |
hide in the task tray when standalone window is closed
-rw-r--r-- | WarframeClock/App.xaml.cs | 1 | ||||
-rw-r--r-- | WarframeClock/OverlayWindow.xaml.cs | 2 | ||||
-rw-r--r-- | WarframeClock/StandaloneOverlayWindow.xaml.cs | 15 |
3 files changed, 16 insertions, 2 deletions
diff --git a/WarframeClock/App.xaml.cs b/WarframeClock/App.xaml.cs index 6dbbda5..f5f92f3 100644 --- a/WarframeClock/App.xaml.cs +++ b/WarframeClock/App.xaml.cs @@ -57,6 +57,7 @@ namespace WarframeClock Text = $"Warframe Clock - {App.VersionString}", Visible = true }; + _notifyIcon.Click += (_, __) => MainWindow.Show(); // Last, start the main window if (Settings.Standalone) diff --git a/WarframeClock/OverlayWindow.xaml.cs b/WarframeClock/OverlayWindow.xaml.cs index e469d6f..63df9b5 100644 --- a/WarframeClock/OverlayWindow.xaml.cs +++ b/WarframeClock/OverlayWindow.xaml.cs @@ -41,7 +41,7 @@ namespace WarframeClock { if (e.PropertyName == nameof(OverlayWindowViewModel.Standalone) && _vm.Standalone) { - new StandaloneOverlayWindow(_vm).Show(); + (App.Current.MainWindow = new StandaloneOverlayWindow(_vm)).Show(); Close(); } } diff --git a/WarframeClock/StandaloneOverlayWindow.xaml.cs b/WarframeClock/StandaloneOverlayWindow.xaml.cs index 00be945..86cdcc1 100644 --- a/WarframeClock/StandaloneOverlayWindow.xaml.cs +++ b/WarframeClock/StandaloneOverlayWindow.xaml.cs @@ -11,6 +11,7 @@ namespace WarframeClock public partial class StandaloneOverlayWindow : Window { private readonly OverlayWindowViewModel _vm; + private bool _closing = false; public StandaloneOverlayWindow(OverlayWindowViewModel vm) { @@ -20,6 +21,17 @@ namespace WarframeClock _vm.PropertyChanged += OnVmPropertyChanged; } + protected override void OnClosing(CancelEventArgs e) + { + base.OnClosing(e); + + if (!_closing) + { + e.Cancel = true; + Hide(); + } + } + protected override void OnClosed(EventArgs e) { base.OnClosed(e); @@ -30,7 +42,8 @@ namespace WarframeClock { if (e.PropertyName == nameof(OverlayWindowViewModel.Standalone) && !_vm.Standalone) { - new OverlayWindow(_vm).Show(); + (App.Current.MainWindow = new OverlayWindow(_vm)).Show(); + _closing = true; Close(); } } |