public AwarenessNotifyIconController(AbstractPlatform platform, AwarenessController controller) { Platform = platform; Platform.ApplicationWillQuit += ApplicationWillQuit; Controller = controller; Controller.BreakTimer.BreakChecked += BreakChecked; Controller.BreakTimer.BreakSuggested += BreakSuggested; Icon = new NotifyIcon { Visible = true, ContextMenu = BuildContextMenu(), Icon = new Icon(Platform.ResourceNamed("bowl.ico")) }; Icon.DoubleClick += (sender, args) => DoubleClick.Raise(this); Icon.BalloonTipClicked += BalloonTipClicked; }
IEnumerable <MenuItem> BuildMenuItems() { var main = new MenuItem("Awareness") { DefaultItem = true }; main.Click += delegate { DoubleClick.Raise(this); }; yield return(main); yield return(new MenuItem("-")); yield return(TimeDisplay = new MenuItem() { Enabled = false }); yield return(MenuItemWithClickAction("Break Ideas...", () => { Platform.OpenUrl(Constants.BreakIdeasUrl); })); yield return(new MenuItem("-")); yield return(MenuItemWithClickAction("Awareness Website", () => { Platform.OpenUrl(Constants.AwarenessWebsiteUrl); })); yield return(MenuItemWithClickAction("Facebook Page", () => { Platform.OpenUrl(Constants.AwarenessFacebookPageUrl); })); yield return(MenuItemWithClickAction("Support", () => { Platform.OpenUrl(Constants.AwarenessSupportUrl); })); yield return(new MenuItem("-")); yield return(MenuItemWithClickAction("Exit", () => { Application.Exit(); })); }