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;
     }
 }
示例#3
0
 public void SetMode(ICiStatus currentStatus)
 {
     view.SetMode(currentStatus);
 }
 /// <summary>
 /// Sets window mode.
 /// </summary>
 public void SetMode(ICiStatus currentStatus)
 {
     this.Dispatcher.Invoke(() =>
     {
     });
 }