public GitCommitListView(GitCommitListViewOwner owner) : base(owner) { this.owner = owner; this.Columns.Clear(); this.Columns.AddRange(new ColumnHeader[] { new ColumnHeader() { Text = string.Empty, Width = 1150, }, }); this.HeaderStyle = ColumnHeaderStyle.None; this.OwnerDraw = true; this.Font = new Font(Constants.ListViewFontName, Constants.ListViewOwnerDrawFontSize); this.DrawColumnHeader += GitCommitListView_DrawColumnHeader; this.DrawItem += GitCommitListView_DrawItem; this.DrawSubItem += GitCommitListView_DrawSubItem; this.MouseMove += GitCommitListView_MouseMove; this.MouseClick += GitCommitListView_MouseClick; this.contextMenuItems = new ToolStripMenuItem[] { new ToolStripMenuItem("&Diff File", null, ContextMenu_DiffFile, Keys.Control | Keys.D), new ToolStripMenuItem("Diff &Entire Commit", null, ContextMenu_DiffCommit, Keys.Control | Keys.E), new ToolStripMenuItem("&View Log", null, ContextMenu_ViewLog, Keys.Control | Keys.O), new ToolStripMenuItem("&Copy", null, ContextMenu_Copy, Keys.Control | Keys.C), new ToolStripMenuItem("Copy &All", null, ContextMenu_CopyAll, Keys.Control | Keys.Shift | Keys.C), }; this.ContextMenuStrip.Items.Clear(); this.ContextMenuStrip.Items.AddRange(this.contextMenuItems); this.ContextMenuStrip.Opening += ContextMenuStrip_Opening; this.DoubleClick += Lv_DoubleClick; this.KeyDown += Lv_KeyDown; this.Disposed += Lv_Disposed; }
public GitCommitForm(GitLog gitLog, Commit commit) { InitializeComponent(); var commitOwner = new GitCommitListViewOwner(gitLog, commit); var commitListView = new GitCommitListView(commitOwner); SuspendLayout(); this.Text += $" {commit.Sha}"; this.Width = 1200; this.Height = 600; this.listView = commitListView; this.listView.Dock = DockStyle.Fill; this.Controls.Add(this.listView); ResumeLayout(false); PerformLayout(); }