optimize<DiffViewer>: use Models.TextChanges.Line directly for DiffViewer and HighlightableTextBlock

This commit is contained in:
leo 2021-08-05 09:29:26 +08:00
parent da1abaee16
commit 47cb708744
3 changed files with 82 additions and 100 deletions

View file

@ -21,11 +21,29 @@ namespace SourceGit.Models {
}
public class Line {
public LineMode Mode = LineMode.Normal;
public string Content = "";
public string OldLine = "";
public string NewLine = "";
public List<HighlightRange> Highlights = new List<HighlightRange>();
public LineMode Mode { get; set; } = LineMode.None;
public string Content { get; set; } = "";
public string OldLine { get; set; } = "";
public string NewLine { get; set; } = "";
public List<HighlightRange> Highlights { get; set; } = new List<HighlightRange>();
public bool IsContent {
get {
return Mode == LineMode.Added
|| Mode == LineMode.Deleted
|| Mode == LineMode.Normal;
}
}
public bool IsDifference {
get {
return Mode == LineMode.Added
|| Mode == LineMode.Deleted
|| Mode == LineMode.None;
}
}
public Line() {}
public Line(LineMode mode, string content, string oldLine, string newLine) {
Mode = mode;