mirror of https://github.com/Sonarr/Sonarr
Dispose tray icon when application is exited
This commit is contained in:
parent
4fc4cc51fc
commit
823d7c539c
|
@ -1,6 +1,8 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Threading;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using NzbDrone.Common;
|
using NzbDrone.Common;
|
||||||
using NzbDrone.Common.EnvironmentInfo;
|
using NzbDrone.Common.EnvironmentInfo;
|
||||||
|
@ -30,6 +32,9 @@ namespace NzbDrone.SysTray
|
||||||
|
|
||||||
public void Start()
|
public void Start()
|
||||||
{
|
{
|
||||||
|
Application.ThreadException += new ThreadExceptionEventHandler(OnThreadException);
|
||||||
|
Application.ApplicationExit += new EventHandler(OnApplicationExit);
|
||||||
|
|
||||||
_trayMenu.MenuItems.Add("Launch Browser", LaunchBrowser);
|
_trayMenu.MenuItems.Add("Launch Browser", LaunchBrowser);
|
||||||
_trayMenu.MenuItems.Add("-");
|
_trayMenu.MenuItems.Add("-");
|
||||||
_trayMenu.MenuItems.Add("Exit", OnExit);
|
_trayMenu.MenuItems.Add("Exit", OnExit);
|
||||||
|
@ -44,6 +49,11 @@ namespace NzbDrone.SysTray
|
||||||
Application.Run(this);
|
Application.Run(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void OnClosing(CancelEventArgs e)
|
||||||
|
{
|
||||||
|
DisposeTrayIcon();
|
||||||
|
}
|
||||||
|
|
||||||
protected override void OnClosed(EventArgs e)
|
protected override void OnClosed(EventArgs e)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Closing");
|
Console.WriteLine("Closing");
|
||||||
|
@ -77,5 +87,23 @@ namespace NzbDrone.SysTray
|
||||||
{
|
{
|
||||||
_processProvider.Start(_hostController.AppUrl);
|
_processProvider.Start(_hostController.AppUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnApplicationExit(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DisposeTrayIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnThreadException(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DisposeTrayIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DisposeTrayIcon()
|
||||||
|
{
|
||||||
|
_trayIcon.Visible = false;
|
||||||
|
_trayIcon.Icon = null;
|
||||||
|
_trayIcon.Visible = false;
|
||||||
|
_trayIcon.Dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue