From ae4825a42e9d550c4be658e0fd26f3765973709b Mon Sep 17 00:00:00 2001 From: Stanley Goldman Date: Wed, 29 Nov 2017 18:09:24 -0500 Subject: [PATCH 1/3] Adding functionality to alternate the icon for remote branch trees --- .../Assets/Editor/GitHub.Unity/UI/BranchesView.cs | 14 ++++++++------ .../Assets/Editor/GitHub.Unity/UI/TreeControl.cs | 15 ++++++++------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs index 81093ce67..97e77e95d 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs @@ -141,7 +141,9 @@ private void BuildTree() if (treeLocals == null) { treeLocals = new BranchesTree(); + treeRemotes = new BranchesTree(); + treeRemotes.IsRemote = true; UpdateTreeIcons(); } @@ -167,10 +169,10 @@ private void UpdateTreeIcons() treeLocals.ActiveNodeIcon = Styles.ActiveBranchIcon; } - if (treeLocals.NodeIcon == null) + if (treeLocals.BranchIcon == null) { localsLoaded = true; - treeLocals.NodeIcon = Styles.BranchIcon; + treeLocals.BranchIcon = Styles.BranchIcon; } if (treeLocals.FolderIcon == null) @@ -188,16 +190,16 @@ private void UpdateTreeIcons() treeRemotes.ActiveNodeIcon = Styles.ActiveBranchIcon; } - if (treeRemotes.NodeIcon == null) + if (treeRemotes.BranchIcon == null) { remotesLoaded = true; - treeRemotes.NodeIcon = Styles.BranchIcon; + treeRemotes.BranchIcon = Styles.BranchIcon; } - if (treeRemotes.RootFolderIcon == null) + if (treeRemotes.RemoteIcon == null) { remotesLoaded = true; - treeRemotes.RootFolderIcon = Styles.RootFolderIcon; + treeRemotes.RemoteIcon = Styles.RootFolderIcon; } if (treeRemotes.FolderIcon == null) diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs index f0a438a1a..2b6e383fc 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs @@ -12,9 +12,11 @@ namespace GitHub.Unity public class BranchesTree: Tree { [NonSerialized] public Texture2D ActiveNodeIcon; - [NonSerialized] public Texture2D NodeIcon; + [NonSerialized] public Texture2D BranchIcon; [NonSerialized] public Texture2D FolderIcon; - [NonSerialized] public Texture2D RootFolderIcon; + [NonSerialized] public Texture2D RemoteIcon; + + [SerializeField] public bool IsRemote; protected override Texture2D GetNodeIcon(TreeNode node) { @@ -25,14 +27,13 @@ protected override Texture2D GetNodeIcon(TreeNode node) } else if (node.IsFolder) { - if (node.Level == 1) - nodeIcon = RootFolderIcon; - else - nodeIcon = FolderIcon; + nodeIcon = IsRemote && node.Level == 1 + ? RemoteIcon + : FolderIcon; } else { - nodeIcon = NodeIcon; + nodeIcon = BranchIcon; } return nodeIcon; } From cd3a65a81a093459f9f408c78e0c4a8bf4713536 Mon Sep 17 00:00:00 2001 From: Stanley Goldman Date: Wed, 29 Nov 2017 18:45:04 -0500 Subject: [PATCH 2/3] Renaming fields --- .../Assets/Editor/GitHub.Unity/Misc/Styles.cs | 2 +- .../Editor/GitHub.Unity/UI/BranchesView.cs | 4 ++-- .../Assets/Editor/GitHub.Unity/UI/TreeControl.cs | 16 ++++++++-------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/Misc/Styles.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/Misc/Styles.cs index 8137a6de4..bb225f90a 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/Misc/Styles.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/Misc/Styles.cs @@ -832,7 +832,7 @@ public static Texture2D DropdownListIcon } private static Texture2D rootFolderIcon; - public static Texture2D RootFolderIcon + public static Texture2D GlobeIcon { get { diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs index 788430162..8aa9961a2 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs @@ -160,12 +160,12 @@ private void UpdateTreeIcons() { if (treeLocals != null) { - treeLocals.UpdateIcons(Styles.ActiveBranchIcon, Styles.BranchIcon, Styles.FolderIcon, Styles.RootFolderIcon); + treeLocals.UpdateIcons(Styles.ActiveBranchIcon, Styles.BranchIcon, Styles.FolderIcon, Styles.GlobeIcon); } if (treeRemotes != null) { - treeRemotes.UpdateIcons(Styles.ActiveBranchIcon, Styles.BranchIcon, Styles.FolderIcon, Styles.RootFolderIcon); + treeRemotes.UpdateIcons(Styles.ActiveBranchIcon, Styles.BranchIcon, Styles.FolderIcon, Styles.GlobeIcon); } } diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs index 8829d326e..ea26f0a75 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs @@ -455,22 +455,22 @@ public class BranchesTree: Tree { [SerializeField] public bool IsRemote; - [NonSerialized] public Texture2D ActiveNodeIcon; + [NonSerialized] public Texture2D ActiveBranchIcon; [NonSerialized] public Texture2D BranchIcon; [NonSerialized] public Texture2D FolderIcon; - [NonSerialized] public Texture2D RemoteIcon; + [NonSerialized] public Texture2D GlobeIcon; protected override Texture2D GetNodeIcon(TreeNode node) { Texture2D nodeIcon; if (node.IsActive) { - nodeIcon = ActiveNodeIcon; + nodeIcon = ActiveBranchIcon; } else if (node.IsFolder) { nodeIcon = IsRemote && node.Level == 1 - ? RemoteIcon + ? GlobeIcon : FolderIcon; } else @@ -481,15 +481,15 @@ protected override Texture2D GetNodeIcon(TreeNode node) } - public void UpdateIcons(Texture2D activeBranchIcon, Texture2D branchIcon, Texture2D folderIcon, Texture2D rootFolderIcon) + public void UpdateIcons(Texture2D activeBranchIcon, Texture2D branchIcon, Texture2D folderIcon, Texture2D globeIcon) { - var needsLoad = ActiveNodeIcon == null || BranchIcon == null || FolderIcon == null || RemoteIcon == null; + var needsLoad = ActiveBranchIcon == null || BranchIcon == null || FolderIcon == null || GlobeIcon == null; if (needsLoad) { - ActiveNodeIcon = activeBranchIcon; + ActiveBranchIcon = activeBranchIcon; BranchIcon = branchIcon; FolderIcon = folderIcon; - RemoteIcon = rootFolderIcon; + GlobeIcon = globeIcon; LoadNodeIcons(); } From 27adae4dd2e92e9486ea973ad035a622000b14d5 Mon Sep 17 00:00:00 2001 From: Stanley Goldman Date: Wed, 29 Nov 2017 19:48:28 -0500 Subject: [PATCH 3/3] Renaming variable --- .../Assets/Editor/GitHub.Unity/Misc/Styles.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/Misc/Styles.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/Misc/Styles.cs index bb225f90a..88cc8e868 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/Misc/Styles.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/Misc/Styles.cs @@ -831,16 +831,16 @@ public static Texture2D DropdownListIcon } } - private static Texture2D rootFolderIcon; + private static Texture2D globeIcon; public static Texture2D GlobeIcon { get { - if (rootFolderIcon == null) + if (globeIcon == null) { - rootFolderIcon = Utility.GetIcon("globe.png", "globe@2x.png"); + globeIcon = Utility.GetIcon("globe.png", "globe@2x.png"); } - return rootFolderIcon; + return globeIcon; } }