public Program(String[] args)
{
// Only start if there isn't an instance already running
_mainMenu = new ContextMenu();
_mainMenu.MenuItems.Add("Donate", (sender, eargs) => OpenUrlInBrowser(DonateUrl));
_mainMenu.MenuItems.Add("Check for Updates", (sender, eargs) => CheckVersion(true));
_mainMenu.MenuItems.Add("Download Firefox Extension", (sender, eargs) => OpenUrlInBrowser(ChromeExtensionDownloadUrl));
_mainMenu.MenuItems.Add("Settings", ShowSettings);
_mainMenu.MenuItems.Add("Exit", ConfirmExitApplication);
_trayIcon = new NotifyIcon
{
Text = Resources.ApplicationName,
Icon = Resources.ApplicationIcon,
ContextMenu = _mainMenu,
Visible = true
};
if (args.Length > 0)
{
var link = args[0].Contains("sdownload://") ? args[0].Substring(12) : args[0];
StreamFactory.DownloadTrack(link, new IconReportProxy(_trayIcon), true);
}
// Asynchronously check for updates
CheckVersion();
// Check if Chrome extension installed
ValidateChromeInstallation();
}