update solution explorer tree colour logic
This commit is contained in:
@@ -17,12 +17,12 @@ public static class GitColours
|
||||
public static readonly Color GitEditedFileTransparentColour = new Color(EditedFileColourHexCode, 0.4f);
|
||||
public static readonly Color GitUnalteredFileTransparentColour = new Color(UnalteredFileColourHexCode, 0.4f);
|
||||
|
||||
public static Color GetColorForGitFileStatus(GitFileStatus fileStatus) => fileStatus switch
|
||||
public static Color? GetColorForGitFileStatus(GitFileStatus fileStatus) => fileStatus switch
|
||||
{
|
||||
GitFileStatus.Added => GitNewFileColour,
|
||||
GitFileStatus.Modified => GitEditedFileColour,
|
||||
GitFileStatus.Unaltered => GitUnalteredFileColour,
|
||||
_ => GitUnalteredFileColour
|
||||
GitFileStatus.Unaltered => null,
|
||||
_ => null
|
||||
};
|
||||
|
||||
public static Color GetColorForGitLineStatus(GitLineStatus lineStatus) => lineStatus switch
|
||||
|
||||
@@ -319,7 +319,8 @@ public partial class SolutionExplorerPanel : MarginContainer
|
||||
var fileItem = tree.CreateItem(parent, newStartingIndex);
|
||||
fileItem.SetText(0, sharpIdeFile.Name);
|
||||
fileItem.SetIconsForFileExtension(sharpIdeFile);
|
||||
fileItem.SetCustomColor(0, GitColours.GetColorForGitFileStatus(sharpIdeFile.GitStatus));
|
||||
if (GitColours.GetColorForGitFileStatus(sharpIdeFile.GitStatus) is { } notnullColor) fileItem.SetCustomColor(0, notnullColor);
|
||||
else fileItem.ClearCustomColor(0);
|
||||
fileItem.SetMetadata(0, new RefCountedContainer<SharpIdeFile>(sharpIdeFile));
|
||||
|
||||
Observable.EveryValueChanged(sharpIdeFile, file => file.Name)
|
||||
|
||||
Reference in New Issue
Block a user