Blender  V3.3
Typedefs | Enumerations | Functions
filelist.h File Reference

Go to the source code of this file.

Typedefs

typedef uint32_t FileUID
 
typedef enum FileSelType FileSelType
 
typedef enum FileCheckType FileCheckType
 

Enumerations

enum  FileSelType { FILE_SEL_REMOVE = 0 , FILE_SEL_ADD = 1 , FILE_SEL_TOGGLE = 2 }
 
enum  FileCheckType { CHECK_DIRS = 1 , CHECK_FILES = 2 , CHECK_ALL = 3 }
 

Functions

void folderlist_free (struct ListBase *folderlist)
 
void folderlist_popdir (struct ListBase *folderlist, char *dir)
 
void folderlist_pushdir (struct ListBase *folderlist, const char *dir)
 
const char * folderlist_peeklastdir (struct ListBase *folderlist)
 
int folderlist_clear_next (struct SpaceFile *sfile)
 
void folder_history_list_ensure_for_active_browse_mode (struct SpaceFile *sfile)
 
void folder_history_list_free (struct SpaceFile *sfile)
 
struct ListBase folder_history_list_duplicate (struct ListBase *listbase)
 
void filelist_setsorting (struct FileList *filelist, short sort, bool invert_sort)
 
void filelist_sort (struct FileList *filelist)
 
void filelist_setfilter_options (struct FileList *filelist, bool do_filter, bool hide_dot, bool hide_parent, uint64_t filter, uint64_t filter_id, bool filter_assets_only, const char *filter_glob, const char *filter_search)
 
void filelist_setindexer (struct FileList *filelist, const struct FileIndexerType *indexer)
 
void filelist_set_asset_catalog_filter_options (struct FileList *filelist, eFileSel_Params_AssetCatalogVisibility catalog_visibility, const struct bUUID *catalog_id)
 
void filelist_tag_needs_filtering (struct FileList *filelist)
 
void filelist_filter (struct FileList *filelist)
 
void filelist_setlibrary (struct FileList *filelist, const struct AssetLibraryReference *asset_library_ref)
 
void filelist_init_icons (void)
 
void filelist_free_icons (void)
 
struct ImBuffilelist_getimage (struct FileList *filelist, int index)
 
struct ImBuffilelist_file_getimage (const FileDirEntry *file)
 
struct ImBuffilelist_geticon_image_ex (const FileDirEntry *file)
 
struct ImBuffilelist_geticon_image (struct FileList *filelist, int index)
 
int filelist_geticon (struct FileList *filelist, int index, bool is_main)
 
struct FileListfilelist_new (short type)
 
void filelist_settype (struct FileList *filelist, short type)
 
void filelist_clear (struct FileList *filelist)
 
void filelist_clear_ex (struct FileList *filelist, bool do_asset_library, bool do_cache, bool do_selection)
 
void filelist_clear_from_reset_tag (struct FileList *filelist)
 
void filelist_free (struct FileList *filelist)
 
const char * filelist_dir (struct FileList *filelist)
 
bool filelist_is_dir (struct FileList *filelist, const char *path)
 
void filelist_setdir (struct FileList *filelist, char *r_dir)
 
int filelist_files_ensure (struct FileList *filelist)
 
int filelist_needs_reading (struct FileList *filelist)
 
FileDirEntryfilelist_file (struct FileList *filelist, int index)
 
FileDirEntryfilelist_file_ex (struct FileList *filelist, int index, bool use_request)
 
int filelist_file_find_path (struct FileList *filelist, const char *file)
 
int filelist_file_find_id (const struct FileList *filelist, const struct ID *id)
 
struct IDfilelist_file_get_id (const struct FileDirEntry *file)
 
bool filelist_uid_is_set (const FileUID uid)
 
void filelist_uid_unset (FileUID *r_uid)
 
void filelist_file_cache_slidingwindow_set (struct FileList *filelist, size_t window_size)
 
bool filelist_file_cache_block (struct FileList *filelist, int index)
 
bool filelist_needs_force_reset (struct FileList *filelist)
 
void filelist_tag_force_reset (struct FileList *filelist)
 
void filelist_tag_force_reset_mainfiles (struct FileList *filelist)
 
bool filelist_pending (struct FileList *filelist)
 
bool filelist_needs_reset_on_main_changes (const struct FileList *filelist)
 
bool filelist_is_ready (struct FileList *filelist)
 
unsigned int filelist_entry_select_set (const struct FileList *filelist, const struct FileDirEntry *entry, FileSelType select, unsigned int flag, FileCheckType check)
 
void filelist_entry_select_index_set (struct FileList *filelist, int index, FileSelType select, unsigned int flag, FileCheckType check)
 
void filelist_entries_select_index_range_set (struct FileList *filelist, FileSelection *sel, FileSelType select, unsigned int flag, FileCheckType check)
 
unsigned int filelist_entry_select_get (struct FileList *filelist, struct FileDirEntry *entry, FileCheckType check)
 
unsigned int filelist_entry_select_index_get (struct FileList *filelist, int index, FileCheckType check)
 
bool filelist_entry_is_selected (struct FileList *filelist, int index)
 
void filelist_entry_parent_select_set (struct FileList *filelist, FileSelType select, unsigned int flag, FileCheckType check)
 
void filelist_setrecursion (struct FileList *filelist, int recursion_level)
 
struct AssetLibraryfilelist_asset_library (struct FileList *filelist)
 
struct BlendHandlefilelist_lib (struct FileList *filelist)
 
bool filelist_islibrary (struct FileList *filelist, char *dir, char **r_group)
 
void filelist_freelib (struct FileList *filelist)
 
int filelist_files_num_entries (struct FileList *filelist)
 
void filelist_readjob_start (struct FileList *filelist, int space_notifier, const struct bContext *C)
 
void filelist_readjob_stop (struct FileList *filelist, struct wmWindowManager *wm)
 
int filelist_readjob_running (struct FileList *filelist, struct wmWindowManager *wm)
 
bool filelist_cache_previews_update (struct FileList *filelist)
 
void filelist_cache_previews_set (struct FileList *filelist, bool use_previews)
 
bool filelist_cache_previews_running (struct FileList *filelist)
 
bool filelist_cache_previews_done (struct FileList *filelist)
 

Typedef Documentation

◆ FileCheckType

◆ FileSelType

typedef enum FileSelType FileSelType

◆ FileUID

typedef uint32_t FileUID

Definition at line 24 of file filelist.h.

Enumeration Type Documentation

◆ FileCheckType

Enumerator
CHECK_DIRS 
CHECK_FILES 
CHECK_ALL 

Definition at line 32 of file filelist.h.

◆ FileSelType

Enumerator
FILE_SEL_REMOVE 
FILE_SEL_ADD 
FILE_SEL_TOGGLE 

Definition at line 26 of file filelist.h.

Function Documentation

◆ filelist_asset_library()

struct AssetLibrary* filelist_asset_library ( struct FileList filelist)

◆ filelist_cache_previews_done()

bool filelist_cache_previews_done ( struct FileList filelist)

◆ filelist_cache_previews_running()

bool filelist_cache_previews_running ( struct FileList filelist)

◆ filelist_cache_previews_set()

void filelist_cache_previews_set ( struct FileList filelist,
bool  use_previews 
)

◆ filelist_cache_previews_update()

bool filelist_cache_previews_update ( struct FileList filelist)

◆ filelist_clear()

void filelist_clear ( struct FileList filelist)

◆ filelist_clear_ex()

void filelist_clear_ex ( struct FileList filelist,
bool  do_asset_library,
bool  do_cache,
bool  do_selection 
)

◆ filelist_clear_from_reset_tag()

void filelist_clear_from_reset_tag ( struct FileList filelist)

A "smarter" version of filelist_clear() that calls partial clearing based on the filelist force-reset flags.

Definition at line 2005 of file filelist.c.

References filelist_clear(), filelist_clear_main_files(), FL_FORCE_RESET, FL_FORCE_RESET_MAIN_FILES, and FileList::flags.

Referenced by blender::ed::asset::AssetList::fetch(), and file_refresh().

◆ filelist_dir()

const char* filelist_dir ( struct FileList filelist)

◆ filelist_entries_select_index_range_set()

void filelist_entries_select_index_range_set ( struct FileList filelist,
FileSelection sel,
FileSelType  select,
unsigned int  flag,
FileCheckType  check 
)

◆ filelist_entry_is_selected()

bool filelist_entry_is_selected ( struct FileList filelist,
int  index 
)

◆ filelist_entry_parent_select_set()

void filelist_entry_parent_select_set ( struct FileList filelist,
FileSelType  select,
unsigned int  flag,
FileCheckType  check 
)

Set selection of the '..' parent entry, but only if it's actually visible.

Definition at line 2988 of file filelist.c.

References filelist_entry_select_index_set(), FileList::filter_data, FileListFilter::flags, FLF_HIDE_PARENT, and select().

Referenced by file_box_select_exec(), file_select_exec(), and file_walk_select_selection_set().

◆ filelist_entry_select_get()

unsigned int filelist_entry_select_get ( struct FileList filelist,
struct FileDirEntry entry,
FileCheckType  check 
)

◆ filelist_entry_select_index_get()

unsigned int filelist_entry_select_index_get ( struct FileList filelist,
int  index,
FileCheckType  check 
)

◆ filelist_entry_select_index_set()

void filelist_entry_select_index_set ( struct FileList filelist,
int  index,
FileSelType  select,
unsigned int  flag,
FileCheckType  check 
)

◆ filelist_entry_select_set()

unsigned int filelist_entry_select_set ( const struct FileList filelist,
const struct FileDirEntry entry,
FileSelType  select,
unsigned int  flag,
FileCheckType  check 
)

◆ filelist_file()

FileDirEntry* filelist_file ( struct FileList filelist,
int  index 
)

◆ filelist_file_cache_block()

bool filelist_file_cache_block ( struct FileList filelist,
int  index 
)

◆ filelist_file_cache_slidingwindow_set()

void filelist_file_cache_slidingwindow_set ( struct FileList filelist,
size_t  window_size 
)

◆ filelist_file_ex()

FileDirEntry* filelist_file_ex ( struct FileList filelist,
int  index,
bool  use_request 
)

◆ filelist_file_find_id()

int filelist_file_find_id ( const struct FileList filelist,
const struct ID id 
)

Find a file representing id.

Returns
The index of the found file or -1.

◆ filelist_file_find_path()

int filelist_file_find_path ( struct FileList filelist,
const char *  file 
)

Find a file from a file name, or more precisely, its file-list relative path, inside the filtered items.

Returns
The index of the found file or -1.

Definition at line 2285 of file filelist.c.

References FileDirEntryArr::entries_filtered_num, FILEDIR_NBR_ENTRIES_UNSET, FileList::filelist, FileList::filelist_intern, FileListIntern::filtered, FileListInternEntry::relpath, and STREQ.

Referenced by file_params_find_renamed().

◆ filelist_file_get_id()

struct ID* filelist_file_get_id ( const struct FileDirEntry file)

Get the ID a file represents (if any). For FILE_MAIN, FILE_MAIN_ASSET.

◆ filelist_file_getimage()

struct ImBuf* filelist_file_getimage ( const FileDirEntry file)

Definition at line 1303 of file filelist.c.

References BKE_icon_imbuf_get_buffer(), file, and NULL.

Referenced by ED_assetlist_asset_image_get(), and file_draw_icon().

◆ filelist_files_ensure()

int filelist_files_ensure ( struct FileList filelist)

◆ filelist_files_num_entries()

int filelist_files_num_entries ( struct FileList filelist)

Return the total raw number of entries listed in the given filelist, whether they are filtered out or not.

Definition at line 2060 of file filelist.c.

References FileDirEntryArr::entries_num, and FileList::filelist.

Referenced by file_draw_hint_if_invalid().

◆ filelist_filter()

void filelist_filter ( struct FileList filelist)

◆ filelist_free()

void filelist_free ( struct FileList filelist)

◆ filelist_free_icons()

void filelist_free_icons ( void  )

Definition at line 1279 of file filelist.c.

References BLI_assert, G, gSpecialFileImages, IMB_freeImBuf(), NULL, and SPECIAL_IMG_MAX.

Referenced by ED_file_exit().

◆ filelist_freelib()

void filelist_freelib ( struct FileList filelist)

◆ filelist_geticon()

int filelist_geticon ( struct FileList filelist,
int  index,
bool  is_main 
)

◆ filelist_geticon_image()

struct ImBuf* filelist_geticon_image ( struct FileList filelist,
int  index 
)

Definition at line 1327 of file filelist.c.

References file, filelist_geticon_get_file(), and filelist_geticon_image_ex().

Referenced by file_draw_list().

◆ filelist_geticon_image_ex()

struct ImBuf* filelist_geticon_image_ex ( const FileDirEntry file)

◆ filelist_getimage()

struct ImBuf* filelist_getimage ( struct FileList filelist,
int  index 
)

Definition at line 1296 of file filelist.c.

References BKE_icon_imbuf_get_buffer(), file, filelist_geticon_get_file(), and NULL.

Referenced by file_draw_list().

◆ filelist_init_icons()

void filelist_init_icons ( void  )

◆ filelist_is_dir()

bool filelist_is_dir ( struct FileList filelist,
const char *  path 
)

◆ filelist_is_ready()

bool filelist_is_ready ( struct FileList filelist)

◆ filelist_islibrary()

bool filelist_islibrary ( struct FileList filelist,
char *  dir,
char **  r_group 
)

◆ filelist_lib()

struct BlendHandle* filelist_lib ( struct FileList filelist)

Definition at line 2055 of file filelist.c.

References FileList::libfiledata.

Referenced by ED_file_path_button().

◆ filelist_needs_force_reset()

bool filelist_needs_force_reset ( struct FileList filelist)

◆ filelist_needs_reading()

int filelist_needs_reading ( struct FileList filelist)

◆ filelist_needs_reset_on_main_changes()

bool filelist_needs_reset_on_main_changes ( const struct FileList filelist)

◆ filelist_new()

struct FileList* filelist_new ( short  type)

◆ filelist_pending()

bool filelist_pending ( struct FileList filelist)

◆ filelist_readjob_running()

int filelist_readjob_running ( struct FileList filelist,
struct wmWindowManager wm 
)

Definition at line 4123 of file filelist.c.

References FileList::filelist, WM_JOB_TYPE_FILESEL_READDIR, and WM_jobs_test().

◆ filelist_readjob_start()

void filelist_readjob_start ( struct FileList filelist,
int  space_notifier,
const struct bContext C 
)

◆ filelist_readjob_stop()

void filelist_readjob_stop ( struct FileList filelist,
struct wmWindowManager wm 
)

◆ filelist_set_asset_catalog_filter_options()

void filelist_set_asset_catalog_filter_options ( struct FileList filelist,
eFileSel_Params_AssetCatalogVisibility  catalog_visibility,
const struct bUUID catalog_id 
)
Parameters
catalog_idThe catalog that should be filtered by if catalog_visibility is FILE_SHOW_ASSETS_FROM_CATALOG. May be NULL otherwise.

◆ filelist_setdir()

void filelist_setdir ( struct FileList filelist,
char *  r_dir 
)

◆ filelist_setfilter_options()

void filelist_setfilter_options ( struct FileList filelist,
bool  do_filter,
bool  hide_dot,
bool  hide_parent,
uint64_t  filter,
uint64_t  filter_id,
bool  filter_assets_only,
const char *  filter_glob,
const char *  filter_search 
)

◆ filelist_setindexer()

void filelist_setindexer ( struct FileList filelist,
const struct FileIndexerType indexer 
)

Set the indexer to be used by the filelist.

The given indexer allocation should be handled by the caller or defined statically.

◆ filelist_setlibrary()

void filelist_setlibrary ( struct FileList filelist,
const struct AssetLibraryReference asset_library_ref 
)
Parameters
asset_library_refMay be NULL to unset the library.

◆ filelist_setrecursion()

void filelist_setrecursion ( struct FileList filelist,
int  recursion_level 
)

◆ filelist_setsorting()

void filelist_setsorting ( struct FileList filelist,
short  sort,
bool  invert_sort 
)

◆ filelist_settype()

void filelist_settype ( struct FileList filelist,
short  type 
)

◆ filelist_sort()

void filelist_sort ( struct FileList filelist)

◆ filelist_tag_force_reset()

void filelist_tag_force_reset ( struct FileList filelist)

Definition at line 2145 of file filelist.c.

References FL_FORCE_RESET, and FileList::flags.

◆ filelist_tag_force_reset_mainfiles()

void filelist_tag_force_reset_mainfiles ( struct FileList filelist)

◆ filelist_tag_needs_filtering()

void filelist_tag_needs_filtering ( struct FileList filelist)

◆ filelist_uid_is_set()

bool filelist_uid_is_set ( const FileUID  uid)

Definition at line 2336 of file filelist.c.

References filelist_uid_unset().

◆ filelist_uid_unset()

void filelist_uid_unset ( FileUID r_uid)

Definition at line 2343 of file filelist.c.

References FILE_UID_UNSET.

Referenced by filelist_readjob_startjob(), and filelist_uid_is_set().

◆ folder_history_list_duplicate()

struct ListBase folder_history_list_duplicate ( struct ListBase listbase)

◆ folder_history_list_ensure_for_active_browse_mode()

void folder_history_list_ensure_for_active_browse_mode ( struct SpaceFile sfile)

◆ folder_history_list_free()

void folder_history_list_free ( struct SpaceFile sfile)

◆ folderlist_clear_next()

int folderlist_clear_next ( struct SpaceFile sfile)

◆ folderlist_free()

void folderlist_free ( struct ListBase folderlist)

◆ folderlist_peeklastdir()

const char* folderlist_peeklastdir ( struct ListBase folderlist)

Definition at line 133 of file filelist.c.

References FolderList::foldername, ListBase::last, and NULL.

Referenced by file_directory_enter_handle().

◆ folderlist_popdir()

void folderlist_popdir ( struct ListBase folderlist,
char *  dir 
)

◆ folderlist_pushdir()

void folderlist_pushdir ( struct ListBase folderlist,
const char *  dir 
)