summaryrefslogtreecommitdiff
path: root/editor/filesystem_dock.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-09-21 15:36:43 +0200
committerRémi Verschelde <rverschelde@gmail.com>2022-09-21 15:36:43 +0200
commit057dd292e41fd1d1dbdccb8f1a479716aaeeab2a (patch)
tree5f9ebda7adb1aae438c7fb87a43c3f49ede3dd45 /editor/filesystem_dock.cpp
parent74765691cb4b5989df73d48acf547d120aa46779 (diff)
parentdf9eaf5f47f4547e1e433ebac3b2fcc9b380379f (diff)
Merge pull request #62666 from AThousandShips/tree_folding
Tree recursive folding (like Scene Tree Dock)
Diffstat (limited to 'editor/filesystem_dock.cpp')
-rw-r--r--editor/filesystem_dock.cpp17
1 files changed, 1 insertions, 16 deletions
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp
index 19b4932d3d..424eab2f02 100644
--- a/editor/filesystem_dock.cpp
+++ b/editor/filesystem_dock.cpp
@@ -1751,22 +1751,7 @@ void FileSystemDock::_tree_rmb_option(int p_option) {
case FOLDER_COLLAPSE_ALL: {
// Expand or collapse the folder
if (selected_strings.size() == 1) {
- bool is_collapsed = (p_option == FOLDER_COLLAPSE_ALL);
-
- Vector<TreeItem *> needs_check;
- needs_check.push_back(tree->get_selected());
-
- while (needs_check.size()) {
- needs_check[0]->set_collapsed(is_collapsed);
-
- TreeItem *child = needs_check[0]->get_first_child();
- while (child) {
- needs_check.push_back(child);
- child = child->get_next();
- }
-
- needs_check.remove_at(0);
- }
+ tree->get_selected()->set_collapsed_recursive(p_option == FOLDER_COLLAPSE_ALL);
}
} break;
default: {