public void Setup(params IExport[] exports) { SystemEvents.SessionSwitch += SessionSwitch; mainView = exports.OfType <IMainView>().Single(); trayComponent = exports.OfType <ITrayComponent>().Single(); ciStatus = exports.OfType <ICiStatus>().Single(); logger = exports.OfType <IExportLogger>().Single(); logger.Info("Application has started, all Parts activated."); trayComponent.AppShutdownRequested += ShutdownAction; trayComponent.SettingsViewRequested += SettingsView; trayComponent.StatusRefreshRequested += StatusUpdate; statusUpdateTimer.Elapsed += StatusUpdate; statusUpdateTimer.Start(); UpdateStatus(); }
/// <summary> /// Updates current state if a tray component. /// </summary> public void Update(ICiStatus currentStatus) { if (IconHelper.TrayIcon == null) { IconHelper.TrayIcon = new NotifyIcon { Icon = IconHelper.GetStatusIcon(CiWarningLevel.Ok), Visible = true }; IconHelper.TrayIcon.DoubleClick += OnHideShowActivated; IconHelper.TrayIcon.ContextMenu = new ContextMenu( new [] { new MenuItem("Update Status", OnUpdateStatusActivated), new MenuItem("Hide/Show Settings", OnHideShowActivated), new MenuItem("Exit", OnAppShutdownActivated) }); } IconHelper.UpdateIcon(currentStatus.Level); if (currentStatus.Level == CiWarningLevel.Warn) { IconHelper.TrayIcon.ShowBalloonTip(8000, "Build broken!", currentStatus.Offenders.Aggregate((s, s1) => String.Format("{0}, {1}", s, s1)), ToolTipIcon.Warning); } else if (currentStatus.Level == CiWarningLevel.Error) { IconHelper.TrayIcon.ShowBalloonTip(10000, "Build broken!", currentStatus.Offenders.Aggregate((s, s1) => String.Format("{0}, {1}", s, s1)), ToolTipIcon.Error); } if (!IconHelper.TrayIcon.Visible) { IconHelper.TrayIcon.Visible = true; } }
public void SetMode(ICiStatus currentStatus) { view.SetMode(currentStatus); }
/// <summary> /// Sets window mode. /// </summary> public void SetMode(ICiStatus currentStatus) { this.Dispatcher.Invoke(() => { }); }