private void UpdateJobGui(IList <CIJob> jobs) { // Clear the current jobs list if (JobListView.InvokeRequired) { JobListView.Invoke((MethodInvoker) delegate { JobListView.Items.Clear(); }); } else { JobListView.Items.Clear(); } // Set the list view height if (JobListView.InvokeRequired) { JobListView.Invoke((MethodInvoker) delegate { JobListView.SmallImageList = new ImageList() { ImageSize = new Size(1, 26) }; }); } else { JobListView.SmallImageList = new ImageList() { ImageSize = new Size(1, 26) }; } // Setup each job in the list foreach (var job in jobs) { if (!SettingManager.Instance.BuildStatuses.IsVisible(job.BuildStatus)) { continue; } var item = new ListViewItem(new string[] { job.BuildId.ToString(), job.Name, job.ServerName, job.TimeStamp.ToLongDateString() + " " + job.TimeStamp.ToLongTimeString(), TimeSpan.FromSeconds(job.Duration).ToString("h'h 'm'm 's's'"), job.BuildStatus.ToString() }); item.BackColor = SettingManager.Instance.BuildStatuses.MapColor(job.BuildStatus); item.ForeColor = Color.Black; if (JobListView.InvokeRequired) { JobListView.Invoke((MethodInvoker) delegate { JobListView.Items.Add(item); }); } else { JobListView.Items.Add(item); } } }
private void UpdateJobGui(IList <CIJob> jobs) { var guiJobs = jobs.OrderBy(a => a.BuildStatus).ToList(); if (JobListView.InvokeRequired) { JobListView.Invoke((MethodInvoker) delegate { JobListView.Items.Clear(); }); } else { JobListView.Items.Clear(); } if (JobListView.InvokeRequired) { JobListView.Invoke((MethodInvoker) delegate { JobListView.SmallImageList = new ImageList() { ImageSize = new Size(1, 26) }; }); } else { JobListView.SmallImageList = new ImageList() { ImageSize = new Size(1, 26) }; } foreach (var job in guiJobs) { var item = new ListViewItem(new string[] { job.BuildId.ToString(), job.Name, job.ServerName, job.TimeStamp.ToLongDateString() + " " + job.TimeStamp.ToLongTimeString(), job.Duration + "ms", job.BuildStatus.ToString() }); switch (job.BuildStatus) { case BuildStatusType.Failed: item.BackColor = Preferences.FAIL_COLOR; break; case BuildStatusType.Success: item.BackColor = Preferences.SUCCESS_COLOR; break; case BuildStatusType.Unstable: item.BackColor = Preferences.UNSTABLE_COLOR; break; case BuildStatusType.Building: item.BackColor = Preferences.BUILDING_COLOR; break; case BuildStatusType.Disabled: case BuildStatusType.NotBuilt: case BuildStatusType.Unknown: item.BackColor = Preferences.DISABLED_COLOR; break; } item.ForeColor = Color.Black; if (JobListView.InvokeRequired) { JobListView.Invoke((MethodInvoker) delegate { JobListView.Items.Add(item); }); } else { JobListView.Items.Add(item); } } }