GitUI.RevisionGrid.RevisionsCellFormatting C# (CSharp) Method

RevisionsCellFormatting() private method

private RevisionsCellFormatting ( object sender, DataGridViewCellFormattingEventArgs e ) : void
sender object
e DataGridViewCellFormattingEventArgs
return void
        private void RevisionsCellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            var columnIndex = e.ColumnIndex;
            if (e.RowIndex < 0)
                return;

            if (Revisions.RowCount <= e.RowIndex)
                return;

            var revision = GetRevision(e.RowIndex);
            if (revision == null)
                return;

            e.FormattingApplied = true;

            int graphColIndex = GraphDataGridViewColumn.Index;
            int messageColIndex = MessageDataGridViewColumn.Index;
            int authorColIndex = AuthorDataGridViewColumn.Index;
            int dateColIndex = DateDataGridViewColumn.Index;
            int isMsgMultilineColIndex = IsMessageMultilineDataGridViewColumn.Index;

            if (columnIndex == graphColIndex)
            {
                e.Value = revision.Guid;
            }
            else if (columnIndex == messageColIndex)
            {
                e.Value = revision.Subject;
            }
            else if (columnIndex == authorColIndex)
            {
                e.Value = revision.Author ?? "";
            }
            else if (columnIndex == dateColIndex)
            {
                var time = AppSettings.ShowAuthorDate ? revision.AuthorDate : revision.CommitDate;
                if (time == DateTime.MinValue || time == DateTime.MaxValue)
                    e.Value = "";
                else
                    e.Value = string.Format("{0} {1}", time.ToShortDateString(), time.ToLongTimeString());
            }
            else if (columnIndex == BuildServerWatcher.BuildStatusImageColumnIndex)
            {
                BuildInfoDrawingLogic.BuildStatusImageColumnCellFormatting(e, Revisions, revision);
            }
            else if (columnIndex == BuildServerWatcher.BuildStatusMessageColumnIndex)
            {
                BuildInfoDrawingLogic.BuildStatusMessageCellFormatting(e, revision);
            }
            else if (AppSettings.ShowIndicatorForMultilineMessage && columnIndex == isMsgMultilineColIndex)
            {
                if (revision.Body == null && !revision.IsArtificial())
                {
                    var moduleRef = Module;
                    ThreadPool.QueueUserWorkItem(o => LoadIsMultilineMessageInfo(revision, columnIndex, e.RowIndex, Revisions.RowCount, moduleRef));
                }

                if (revision.Body != null)
                {
                    e.Value = revision.Body.TrimEnd().Contains("\n") ? MultilineMessageIndicator : "";
                }
                else
                {
                    e.Value = "";
                }
            }
            else
            {
                e.FormattingApplied = false;
            }
        }
RevisionGrid