mirror of
https://github.com/Radarr/Radarr.git
synced 2024-11-09 04:22:30 +01:00
Dispose tray icon when application is exited
This commit is contained in:
parent
4fc4cc51fc
commit
823d7c539c
@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
@ -30,6 +32,9 @@ public SystemTrayApp(IProcessProvider processProvider, IHostController hostContr
|
||||
|
||||
public void Start()
|
||||
{
|
||||
Application.ThreadException += new ThreadExceptionEventHandler(OnThreadException);
|
||||
Application.ApplicationExit += new EventHandler(OnApplicationExit);
|
||||
|
||||
_trayMenu.MenuItems.Add("Launch Browser", LaunchBrowser);
|
||||
_trayMenu.MenuItems.Add("-");
|
||||
_trayMenu.MenuItems.Add("Exit", OnExit);
|
||||
@ -44,6 +49,11 @@ public void Start()
|
||||
Application.Run(this);
|
||||
}
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
{
|
||||
DisposeTrayIcon();
|
||||
}
|
||||
|
||||
protected override void OnClosed(EventArgs e)
|
||||
{
|
||||
Console.WriteLine("Closing");
|
||||
@ -77,5 +87,23 @@ private void LaunchBrowser(object sender, EventArgs e)
|
||||
{
|
||||
_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
Block a user