`core.set_project_dir`: Reset project directories and set its directory. It chdir into the directory, empty the `core.project_directories` and add the given directory. `core.add_project_directory`: Add a new top-level directory to the project. Also called from modules and commands outside core.init. local function `scan_project_folder`: Scan all files for a given top-level project directory. Can emit a warning about file limit. Called only from within core.init module. `core.scan_project_subdir`: (before was named `core.scan_project_folder`) scan a single folder, without recursion. Used when too many files. Local function `scan_project_folder`: Populate the project folder top directory. Done only once when the directory is added to the project. `core.add_project_directory`: Add a new top-level folder to the project. `core.set_project_dir`: Set the initial project directory. `core.dir_rescan_add_job`: Add a job to rescan after an elapsed time a project's subdirectory to fix for any changes. Local function `rescan_project_subdir`: Rescan a project's subdirectory, compare to the current version and patch the list if a difference is found. `core.project_scan_thread`: Should disappear now that we use dmon. `core.project_scan_topdir`: New function to scan a top level project folder. `config.project_scan_rate`: `core.project_scan_thread_id`: `core.reschedule_project_scan`: `core.project_files_limit`: A eliminer. `core.get_project_files`: To be fixed. Use `find_project_files_co` for a single directory In TreeView remove usage of self.last to detect new scan that changed the files list.