Example #1
0
        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;
        }
Example #2
0
        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();
        }