diff options
| -rw-r--r-- | enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java index 4b9fa595..5f53f4d8 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java | |||
| @@ -265,7 +265,12 @@ public class ClassSelector extends JTree { | |||
| 265 | } | 265 | } |
| 266 | 266 | ||
| 267 | public void collapseAll() { | 267 | public void collapseAll() { |
| 268 | for (DefaultMutableTreeNode packageNode : packageManager.getPackageNodes()) { | 268 | // sort the package nodes by depth, so we collapse the deepest nodes first |
| 269 | List<DefaultMutableTreeNode> packageNodes = new ArrayList<>(packageManager.getPackageNodes()); | ||
| 270 | packageNodes.sort(Comparator.comparingInt(DefaultMutableTreeNode::getDepth)); | ||
| 271 | |||
| 272 | // collapse the nodes | ||
| 273 | for (DefaultMutableTreeNode packageNode : packageNodes) { | ||
| 269 | collapsePath(new TreePath(packageNode.getPath())); | 274 | collapsePath(new TreePath(packageNode.getPath())); |
| 270 | } | 275 | } |
| 271 | } | 276 | } |