private void DisplayRefs() { _items.Clear(); RefsList.Clear(); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_BranchName, 150); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_DateLastCommit, 120); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_LastCommit, 200); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_LastAuthor, 80); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_SHA1, 80); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_Description, 100); foreach (var r in _repo.Refs) { if (r.IsLocalBranch && _headsNode != null || r.IsRemoteTrackingBranch && _remotesNode != null || r.IsTag && _tagsNode != null || r.IsNote && _notesNode != null) { ListViewItem lvi = new ListViewItem(); lvi.Tag = r; lvi.Name = r.CanonicalName; lvi.Text = r.CanonicalName.Replace("refs/", string.Empty); Commit commit = null; string description = string.Empty; if (r.IsTag) { var tag = _repo.Tags[r.CanonicalName]; commit = tag?.Target as Commit; description = tag?.Annotation?.Message; } if (r.IsNote) { var note = _repo.Notes[r.CanonicalName]; } if (r.IsLocalBranch || r.IsRemoteTrackingBranch) { var branch = _repo.Branches[r.CanonicalName]; commit = branch?.Tip; description = _repo.GetBranchDescription(branch?.FriendlyName); } lvi.SubItems.Add(commit?.Author.When.ToString("G")); lvi.SubItems.Add(commit?.MessageShort); lvi.SubItems.Add(commit?.Author.Name); lvi.SubItems.Add(commit?.Sha); lvi.SubItems.Add(description); _items.Add(lvi); } } RefsList.Items.Clear(); RefsList.Items.AddRange(_items.AsParallel().Where(i => IsItemFiltered(i)).ToArray()); }
private void DisplayTags() { _items.Clear(); RefsList.Clear(); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_BranchName, 150); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_DateLastCommit, 120); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_LastCommit, 200); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_LastAuthor, 80); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_SHA1, 80); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_Description, 100); foreach (var tag in _repo.Tags) { ListViewItem lvi = new ListViewItem(); lvi.Tag = tag; lvi.Name = tag.FriendlyName; lvi.Text = tag.FriendlyName; var commit = tag.Target as Commit; lvi.SubItems.Add(commit?.Author.When.ToString("G")); lvi.SubItems.Add(commit?.MessageShort); lvi.SubItems.Add(commit?.Author.Name); lvi.SubItems.Add(commit?.Sha); lvi.SubItems.Add(tag.Annotation?.Message); _items.Add(lvi); } RefsList.Items.Clear(); RefsList.Items.AddRange(_items.AsParallel().Where(i => IsItemFiltered(i)).ToArray()); }
private void RefList_SetFocus() { if (SelectedReference is Branch) { var item = RefsList.Items[(SelectedReference as Branch).FriendlyName]; if (item != null) { item.Focused = true; item.Selected = true; RefsList.Focus(); } } }
private void DisplayRemotes([Optional] Remote remote) { _items.Clear(); RefsList.Clear(); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_BranchName, 150); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_TrackedBranch, 120); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_DateLastCommit, 120); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_LastCommit, 200); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_LastAuthor, 80); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_SHA1, 80); RefsList.Columns.Add(VBAGitUI.BrowseReferencesForm_Description, 100); var branches = (remote == null) ? _repo.Branches : _repo.Branches.Where(b => b.Remote == remote); foreach (var branch in branches) { if (branch.IsRemote) { ListViewItem lvi = new ListViewItem(); lvi.Tag = branch; lvi.Name = branch.FriendlyName; lvi.Text = (remote == null) ? branch.FriendlyName : branch.FriendlyName.Replace(remote.Name + "/", string.Empty); lvi.SubItems.Add(branch.TrackedBranch?.FriendlyName); lvi.SubItems.Add(branch.Tip?.Author.When.ToString("G")); lvi.SubItems.Add(branch.Tip?.MessageShort); lvi.SubItems.Add(branch.Tip?.Author.Name); lvi.SubItems.Add(branch.Tip?.Sha); lvi.SubItems.Add(_repo.GetBranchDescription(branch.FriendlyName)); _items.Add(lvi); } } RefsList.Items.Clear(); RefsList.Items.AddRange(_items.AsParallel().Where(i => IsItemFiltered(i)).ToArray()); }