From 5c4bfd9a7792651748c61491d21de52d264d957f Mon Sep 17 00:00:00 2001 From: Francesco Abbate Date: Sun, 26 Sep 2021 22:45:00 +0200 Subject: [PATCH] Remove files from project list when collapsed Only in limited files mode. We now symmetrically add the files if a folder is expanded and remove them if it is collapsed. --- data/core/init.lua | 5 +++-- data/plugins/treeview.lua | 4 +--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/data/core/init.lua b/data/core/init.lua index 6f8f637f..4ee5d796 100644 --- a/data/core/init.lua +++ b/data/core/init.lua @@ -323,16 +323,17 @@ local function rescan_project_subdir(dir, filename_rooted) end -function core.scan_project_subdir(dir, filename) +function core.update_project_subdir(dir, filename, expanded) local index, n, file = project_subdir_bounds(dir, filename) if index then - local new_files = get_directory_files(dir, dir.name, PATHSEP .. filename, {}) + local new_files = expanded and get_directory_files(dir, dir.name, PATHSEP .. filename, {}) or {} files_list_replace(dir.files, index, n, new_files) dir.is_dirty = true return true end end + -- Find files and directories recursively reading from the filesystem. -- Filter files and yields file's directory and info table. This latter -- is filled to be like required by project directories "files" list. diff --git a/data/plugins/treeview.lua b/data/plugins/treeview.lua index fc585d52..d2392fc8 100644 --- a/data/plugins/treeview.lua +++ b/data/plugins/treeview.lua @@ -216,9 +216,7 @@ function TreeView:on_mouse_pressed(button, x, y, clicks) else hovered_item.expanded = not hovered_item.expanded if hovered_item.dir.files_limit then - if hovered_item.expanded then - core.scan_project_subdir(hovered_item.dir, hovered_item.filename) - end + core.update_project_subdir(hovered_item.dir, hovered_item.filename, hovered_item.expanded) print("DEBUG setting show flag to", hovered_item.expanded) core.project_subdir_set_show(hovered_item.dir, hovered_item.filename, hovered_item.expanded) end