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 GitEditedFileTransparentColour = new Color(EditedFileColourHexCode, 0.4f);
|
||||||
public static readonly Color GitUnalteredFileTransparentColour = new Color(UnalteredFileColourHexCode, 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.Added => GitNewFileColour,
|
||||||
GitFileStatus.Modified => GitEditedFileColour,
|
GitFileStatus.Modified => GitEditedFileColour,
|
||||||
GitFileStatus.Unaltered => GitUnalteredFileColour,
|
GitFileStatus.Unaltered => null,
|
||||||
_ => GitUnalteredFileColour
|
_ => null
|
||||||
};
|
};
|
||||||
|
|
||||||
public static Color GetColorForGitLineStatus(GitLineStatus lineStatus) => lineStatus switch
|
public static Color GetColorForGitLineStatus(GitLineStatus lineStatus) => lineStatus switch
|
||||||
|
|||||||
@@ -319,7 +319,8 @@ public partial class SolutionExplorerPanel : MarginContainer
|
|||||||
var fileItem = tree.CreateItem(parent, newStartingIndex);
|
var fileItem = tree.CreateItem(parent, newStartingIndex);
|
||||||
fileItem.SetText(0, sharpIdeFile.Name);
|
fileItem.SetText(0, sharpIdeFile.Name);
|
||||||
fileItem.SetIconsForFileExtension(sharpIdeFile);
|
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));
|
fileItem.SetMetadata(0, new RefCountedContainer<SharpIdeFile>(sharpIdeFile));
|
||||||
|
|
||||||
Observable.EveryValueChanged(sharpIdeFile, file => file.Name)
|
Observable.EveryValueChanged(sharpIdeFile, file => file.Name)
|
||||||
|
|||||||
Reference in New Issue
Block a user