using System;
using System.Diagnostics;
using System.Drawing;
using System.Reflection;
using System.Windows.Forms;
namespace ETDiscordPresence
{
internal class Tray : IDisposable
{
internal delegate void ExitDelegate();
internal ExitDelegate Exit;
private readonly NotifyIcon icon;
public Tray()
{
var menu = new ContextMenu();
var homepage = new MenuItem(@"a domestic cat © 2019");
homepage.Click += (sender, args) => { Process.Start("https://github.com/adawolfa/et-discord-presence"); };
var exit = new MenuItem(@"Quit");
exit.Click += (sender, args) => Exit();
menu.MenuItems.Add(0, exit);
menu.MenuItems.Add(0, homepage);
icon = new NotifyIcon()
{
Icon = Icon.ExtractAssociatedIcon(Assembly.GetExecutingAssembly().Location),
ContextMenu = menu,
Text = "ET Discord presence",
};
}
internal bool Visible
{
set => icon.Visible = value;
}
public void Dispose()
{
icon?.Dispose();
}
}
}