public MainFormController(ICCTrayMultiConfiguration configuration, ISynchronizeInvoke owner, MainForm mainForm) { this.mainForm = mainForm; this.configuration = configuration; serverMonitors = configuration.GetServerMonitors(); for (int i = 0; i < serverMonitors.Length; i++) { serverMonitors[i] = new SynchronizedServerMonitor(serverMonitors[i], owner); } aggregatedServerMonitor = new AggregatingServerMonitor(serverMonitors); queueIconProvider = new ResourceIntegrationQueueIconProvider(); projectMonitors = configuration.GetProjectStatusMonitors(serverMonitors); for (int i = 0; i < projectMonitors.Length; i++) { projectMonitors[i] = new SynchronizedProjectMonitor(projectMonitors[i], owner); } aggregatedProjectMonitor = new AggregatingProjectMonitor(projectMonitors); projectStateIconProvider = new ConfigurableProjectStateIconProvider(configuration.Icons); projectStateIconAdaptor = new ProjectStateIconAdaptor(aggregatedProjectMonitor, projectStateIconProvider); soundPlayer = new BuildTransitionSoundPlayer(aggregatedProjectMonitor, new AudioPlayer(), configuration.Audio); execRunner = new BuildTransitionExecRunner(aggregatedProjectMonitor, configuration.Execs); LampController lampController = new LampController(configuration.X10, null); x10Controller = new X10Controller(aggregatedProjectMonitor, new DateTimeProvider(), configuration.X10, lampController); growlController = new GrowlController(aggregatedProjectMonitor, configuration.Growl); #if !DISABLE_COM IBalloonMessageProvider balloonMessageProvider = new ConfigurableBalloonMessageProvider(configuration.BalloonMessages); speakerForTheDead = new SpeakingProjectMonitor(aggregatedProjectMonitor, balloonMessageProvider, configuration.Speech); #endif }
public MainFormController(ICCTrayMultiConfiguration configuration, ISynchronizeInvoke owner, MainForm mainForm) { this.mainForm = mainForm; this.configuration = configuration; serverMonitors = configuration.GetServerMonitors(); for (int i = 0; i < serverMonitors.Length; i++) { serverMonitors[i] = new SynchronizedServerMonitor(serverMonitors[i], owner); } aggregatedServerMonitor = new AggregatingServerMonitor(serverMonitors); queueIconProvider = new ResourceIntegrationQueueIconProvider(); projectMonitors = configuration.GetProjectStatusMonitors(serverMonitors); execRunners = new BuildTransitionExecRunner[projectMonitors.Length]; for (int i = 0; i < projectMonitors.Length; i++) { execRunners[i] = new BuildTransitionExecRunner(projectMonitors[i], configuration.Execs); projectMonitors[i] = new SynchronizedProjectMonitor(projectMonitors[i], owner); } aggregatedProjectMonitor = new AggregatingProjectMonitor(projectMonitors); projectStateIconProvider = new ConfigurableProjectStateIconProvider(configuration.Icons); projectStateIconAdaptor = new ProjectStateIconAdaptor(aggregatedProjectMonitor, projectStateIconProvider); soundPlayer = new BuildTransitionSoundPlayer(aggregatedProjectMonitor, new AudioPlayer(), configuration.Audio); LampController lampController = new LampController(configuration.X10,null); x10Controller = new X10Controller(aggregatedProjectMonitor,new DateTimeProvider(),configuration.X10,lampController); growlController = new GrowlController(aggregatedProjectMonitor, configuration.Growl); #if !DISABLE_COM IBalloonMessageProvider balloonMessageProvider = new ConfigurableBalloonMessageProvider(configuration.BalloonMessages); speakerForTheDead = new SpeakingProjectMonitor(aggregatedProjectMonitor, balloonMessageProvider, configuration.Speech); #endif }
public void BindGeneralTabControls(ICCTrayMultiConfiguration configuration) { chkShowBalloons.DataBindings.Clear(); chkShowBalloons.DataBindings.Add("Checked", configuration, "ShouldShowBalloonOnBuildTransition"); chkAlwaysOnTop.DataBindings.Clear(); chkAlwaysOnTop.DataBindings.Add("Checked", configuration, "AlwaysOnTop"); chkShowInTaskbar.DataBindings.Clear(); chkShowInTaskbar.DataBindings.Add("Checked", configuration, "ShowInTaskbar"); displayProjectChangeNotifications.DataBindings.Clear(); displayProjectChangeNotifications.DataBindings.Add("Checked", configuration, "ReportProjectChanges"); rdoStatusWindow.Checked = (configuration.TrayIconDoubleClickAction == TrayIconDoubleClickAction.ShowStatusWindow); rdoWebPage.Checked = (configuration.TrayIconDoubleClickAction == TrayIconDoubleClickAction.NavigateToWebPageOfFirstProject); if (configuration.PollPeriodSeconds <= numPollPeriod.Minimum) { configuration.PollPeriodSeconds = (int)numPollPeriod.Minimum; } numPollPeriod.Value = configuration.PollPeriodSeconds; txtFixUserName.DataBindings.Clear(); txtFixUserName.DataBindings.Add("Text", configuration, "FixUserName"); BindNotificationLevelCombo(configuration); }
public void PersistAudioTabSettings(ICCTrayMultiConfiguration configuration) { configuration.Audio.BrokenBuildSound = brokenAudio.Value; configuration.Audio.FixedBuildSound = fixedAudio.Value; configuration.Audio.StillFailingBuildSound = stillFailingAudio.Value; configuration.Audio.StillSuccessfulBuildSound = successfulAudio.Value; }
public void PersistIconTabSettings(ICCTrayMultiConfiguration configuration) { configuration.Icons.SuccessIcon = successIcon.Value; configuration.Icons.BrokenIcon = brokenIcon.Value; configuration.Icons.BrokenAndBuildingIcon = brokenAndBuildingIcon.Value; configuration.Icons.BuildingIcon = buildingIcon.Value; configuration.Icons.NotConnectedIcon = notConnectedIcon.Value; }
public void PersistExecTabSettings(ICCTrayMultiConfiguration configuration) { configuration.Execs.SuccessCommand = txtExecSuccess.Text; configuration.Execs.BrokenCommand = txtExecBroken.Text; configuration.Execs.BrokenAndBuildingCommand = txtExecBrokenAndBuilding.Text; configuration.Execs.BuildingCommand = txtExecBuilding.Text; configuration.Execs.NotConnectedCommand = txtExecNotConnected.Text; }
public MainForm(ICCTrayMultiConfiguration configuration) { this.configuration = configuration; InitializeComponent(); CreateController(); controller.StartMonitoring(); }
public void BindExecControls(ICCTrayMultiConfiguration configuration) { ExecCommands config = configuration.Execs; txtExecSuccess.Text = config.SuccessCommand; txtExecBroken.Text = config.BrokenCommand; txtExecBrokenAndBuilding.Text = config.BrokenAndBuildingCommand; txtExecBuilding.Text = config.BuildingCommand; txtExecNotConnected.Text = config.NotConnectedCommand; }
public CCTrayMultiSettingsForm(ICCTrayMultiConfiguration existingConfiguration) { // We clone the existing configuration, so if the user cancels the dialog // our in-memory configuration will still have the old values. configuration = existingConfiguration.Clone(); InitializeComponent(); BindAllSettings(); HookPersistentWindowState(); tabControl1.SelectedTab = tabGeneral; // Default to the general settings tab }
public void PersistGeneralTabSettings(ICCTrayMultiConfiguration configuration) { configuration.ShouldShowBalloonOnBuildTransition = chkShowBalloons.Checked; configuration.MinimumNotificationLevel = (ToolTipIcon)comboBalloonMinNotificationLevel.Items[comboBalloonMinNotificationLevel.SelectedIndex]; configuration.AlwaysOnTop = chkAlwaysOnTop.Checked; configuration.PollPeriodSeconds = (int)numPollPeriod.Value; configuration.TrayIconDoubleClickAction = (rdoStatusWindow.Checked ? TrayIconDoubleClickAction.ShowStatusWindow : TrayIconDoubleClickAction.NavigateToWebPageOfFirstProject); configuration.FixUserName = txtFixUserName.Text; }
public void BindListView(ICCTrayMultiConfiguration configuration) { this.configuration = configuration; lvProjects.Items.Clear(); foreach (CCTrayProject project in configuration.Projects) { lvProjects.Items.Add(new ProjectConfigurationListViewItemAdaptor(project).Item); } UpdateButtons(); }
public void BindAudioControls(ICCTrayMultiConfiguration configuration) { AudioFiles audioConfig = configuration.Audio; brokenAudio = new SelectAudioFileController( chkAudioBroken, txtAudioFileBroken, btnBrokenBrowse, btnBrokenPlay, dlgOpenFile, audioConfig.BrokenBuildSound); fixedAudio = new SelectAudioFileController( chkAudioFixed, txtAudioFileFixed, btnFixedBrowse, btnFixedPlay, dlgOpenFile, audioConfig.FixedBuildSound); stillFailingAudio = new SelectAudioFileController( chkAudioStillFailing, txtAudioFileFailing, btnStillFailingBrowse, btnStillFailingPlay, dlgOpenFile, audioConfig.StillFailingBuildSound); successfulAudio = new SelectAudioFileController( chkAudioSuccessful, txtAudioFileSuccess, btnSuccessfulBrowse, btnSuccessfulPlay, dlgOpenFile, audioConfig.StillSuccessfulBuildSound); }
public MainFormController(ICCTrayMultiConfiguration configuration, ISynchronizeInvoke owner) { this.configuration = configuration; monitors = configuration.GetProjectStatusMonitors(); for (int i = 0; i < monitors.Length; i++) { monitors[i] = new SynchronizedProjectMonitor(monitors[i], owner); } aggregatedMonitor = new AggregatingProjectMonitor(monitors); iconProvider = new ConfigurableProjectStateIconProvider(configuration.Icons); projectStateIconAdaptor = new ProjectStateIconAdaptor(aggregatedMonitor, iconProvider); new BuildTransitionSoundPlayer(aggregatedMonitor, new AudioPlayer(), configuration.Audio); }
private void BindNotificationLevelCombo(ICCTrayMultiConfiguration configuration) { comboBalloonMinNotificationLevel.Items.AddRange( new object[] { ErrorLevel.Error.NotifyInfo, ErrorLevel.Warning.NotifyInfo, ErrorLevel.Info.NotifyInfo } ); for (int i = 0; i < comboBalloonMinNotificationLevel.Items.Count; ++i) { if (((ToolTipIcon)comboBalloonMinNotificationLevel.Items[i]) == configuration.MinimumNotificationLevel) { comboBalloonMinNotificationLevel.SelectedIndex = i; } } }
public void BindIconControls(ICCTrayMultiConfiguration configuration) { Icons iconConfig = configuration.Icons; successIcon = new SelectIconController( chkIconSuccess, txtIconSuccess, btnSuccessBrowse, dlgOpenFile, iconConfig.SuccessIcon); brokenIcon = new SelectIconController( chkIconBroken, txtIconBroken, btnBrokenBrowse, dlgOpenFile, iconConfig.BrokenIcon); brokenAndBuildingIcon = new SelectIconController( chkIconBrokenAndBuilding, txtIconBrokenAndBuilding, btnBrokenAndBuildingBrowse, dlgOpenFile, iconConfig.BrokenAndBuildingIcon); buildingIcon = new SelectIconController( chkIconBuilding, txtIconBuilding, btnBuildingBrowse, dlgOpenFile, iconConfig.BuildingIcon); notConnectedIcon = new SelectIconController( chkIconNotConnected, txtIconNotConnected, btnNotConnectedBrowse, dlgOpenFile, iconConfig.NotConnectedIcon); }
public CCTrayMultiSettingsForm(ICCTrayMultiConfiguration configuration) { this.configuration = configuration.Clone(); InitializeComponent(); chkShowBalloons.DataBindings.Add("Checked", configuration, "ShouldShowBalloonOnBuildTransition"); rdoStatusWindow.Checked = (configuration.TrayIconDoubleClickAction == TrayIconDoubleClickAction.ShowStatusWindow); rdoWebPage.Checked = (configuration.TrayIconDoubleClickAction == TrayIconDoubleClickAction.NavigateToWebPageOfFirstProject); numPollPeriod.Value = configuration.PollPeriodSeconds; BindListView(); BindAudioControls(); }
public void SetUp() { mockProjectMonitor = new DynamicMock(typeof (IProjectMonitor)); mockProjectMonitor.Strict = true; projectMonitor = (IProjectMonitor) mockProjectMonitor.MockInstance; mockConfiguration = new DynamicMock(typeof (ICCTrayMultiConfiguration)); configuration = (ICCTrayMultiConfiguration) mockConfiguration.MockInstance; ISingleServerMonitor[] serverMonitors = new ISingleServerMonitor[0]; mockConfiguration.SetupResult("GetServerMonitors", serverMonitors); mockConfiguration.SetupResult("GetProjectStatusMonitors", new IProjectMonitor[0], typeof(ISingleServerMonitor[])); mockConfiguration.SetupResult("Icons", new Icons()); mockConfiguration.SetupResult("FixUserName", "John"); GrowlConfiguration growlConfig = new GrowlConfiguration(); mockConfiguration.SetupResult("Growl", growlConfig); eventCount = 0; controller = new MainFormController(configuration, null, null); }
public void SetUp() { mockProjectMonitor = new Mock <IProjectMonitor>(MockBehavior.Strict); projectMonitor = (IProjectMonitor)mockProjectMonitor.Object; mockConfiguration = new Mock <ICCTrayMultiConfiguration>(); configuration = (ICCTrayMultiConfiguration)mockConfiguration.Object; ISingleServerMonitor[] serverMonitors = new ISingleServerMonitor[0]; mockConfiguration.Setup(_configuration => _configuration.GetServerMonitors()).Returns(serverMonitors); mockConfiguration.Setup(_configuration => _configuration.GetProjectStatusMonitors(It.IsAny <ISingleServerMonitor[]>())).Returns(new IProjectMonitor[0]); mockConfiguration.SetupGet(_configuration => _configuration.Icons).Returns(new Icons()); mockConfiguration.SetupGet(_configuration => _configuration.FixUserName).Returns("John"); GrowlConfiguration growlConfig = new GrowlConfiguration(); mockConfiguration.SetupGet(_configuration => _configuration.Growl).Returns(growlConfig); eventCount = 0; controller = new MainFormController(configuration, null, null); }
public void SetUp() { mockProjectMonitor = new DynamicMock(typeof(IProjectMonitor)); mockProjectMonitor.Strict = true; projectMonitor = (IProjectMonitor)mockProjectMonitor.MockInstance; mockConfiguration = new DynamicMock(typeof(ICCTrayMultiConfiguration)); configuration = (ICCTrayMultiConfiguration)mockConfiguration.MockInstance; ISingleServerMonitor[] serverMonitors = new ISingleServerMonitor[0]; mockConfiguration.SetupResult("GetServerMonitors", serverMonitors); mockConfiguration.SetupResult("GetProjectStatusMonitors", new IProjectMonitor[0], typeof(ISingleServerMonitor[])); mockConfiguration.SetupResult("Icons", new Icons()); mockConfiguration.SetupResult("FixUserName", "John"); GrowlConfiguration growlConfig = new GrowlConfiguration(); mockConfiguration.SetupResult("Growl", growlConfig); eventCount = 0; controller = new MainFormController(configuration, null, null); }
public ProjectStatusListViewItemAdaptor(IDetailStringProvider detailStringProvider, ICCTrayMultiConfiguration config) : this(detailStringProvider) { this.config = config; }
public MainForm(ICCTrayMultiConfiguration configuration) { InitializeComponent(); this.iconFacade = new TrayIconFacade(this.trayIcon); this.configuration = configuration; HookPersistentWindowState(); }