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

Commit b98e496

Browse files
Checking the previous state of an item when checking a nodes children
1 parent bdc1ebb commit b98e496

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
@@ -296,6 +296,7 @@ private void ToggleChildrenChecked(int idx, TreeNode node, bool isChecked)
296296
for (var i = idx + 1; i < nodes.Count && node.Level < nodes[i].Level; i++)
297297
{
298298
var childNode = nodes[i];
299+
var wasChecked = childNode.CheckState == CheckState.Checked;
299300
childNode.CheckState = isChecked ? CheckState.Checked : CheckState.Empty;
300301

301302
if (childNode.IsFolder)
@@ -304,11 +305,11 @@ private void ToggleChildrenChecked(int idx, TreeNode node, bool isChecked)
304305
}
305306
else
306307
{
307-
if (isChecked)
308+
if (isChecked && !wasChecked)
308309
{
309310
checkedFileNodes.Add(childNode.Path, childNode);
310311
}
311-
else
312+
else if(!isChecked && wasChecked)
312313
{
313314
checkedFileNodes.Remove(childNode.Path);
314315
}

0 commit comments

Comments
 (0)