aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2019-10-06 15:22:46 +0900
committerKazuki Yamaguchi <k@rhe.jp>2019-10-06 15:22:46 +0900
commit140f0ddcfb67614fca835b43b003d41a2d936608 (patch)
tree88504f15b47a02c11cba6ca1856e3281d390a7be
parent27fc257a22d0633773e3aaa0704f09fefa010d93 (diff)
downloadwf-clock-140f0ddcfb67614fca835b43b003d41a2d936608.tar.gz
hide in the task tray when standalone window is closed
-rw-r--r--WarframeClock/App.xaml.cs1
-rw-r--r--WarframeClock/OverlayWindow.xaml.cs2
-rw-r--r--WarframeClock/StandaloneOverlayWindow.xaml.cs15
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();
}
}