Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 66b7c94

Browse files
Merge branch 'enhancements/tree-view-checked-state' into enhancements/changes-tree-view
2 parents 7967fbd + b98e496 commit 66b7c94

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ private void ToggleChildrenChecked(int idx, TreeNode node, bool isChecked)
297297
for (var i = idx + 1; i < nodes.Count && node.Level < nodes[i].Level; i++)
298298
{
299299
var childNode = nodes[i];
300+
var wasChecked = childNode.CheckState == CheckState.Checked;
300301
childNode.CheckState = isChecked ? CheckState.Checked : CheckState.Empty;
301302

302303
if (childNode.IsFolder)
@@ -305,11 +306,11 @@ private void ToggleChildrenChecked(int idx, TreeNode node, bool isChecked)
305306
}
306307
else
307308
{
308-
if (isChecked)
309+
if (isChecked && !wasChecked)
309310
{
310311
checkedFileNodes.Add(childNode.Path, childNode);
311312
}
312-
else
313+
else if(!isChecked && wasChecked)
313314
{
314315
checkedFileNodes.Remove(childNode.Path);
315316
}

0 commit comments

Comments
 (0)