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 ImBuf * filelist_getimage (struct FileList *filelist, int index)
 
struct ImBuf * filelist_file_getimage (const FileDirEntry *file)
 
struct ImBuf * filelist_geticon_image_ex (const FileDirEntry *file)
 
struct ImBuf * filelist_geticon_image (struct FileList *filelist, int index)
 
int filelist_geticon (struct FileList *filelist, int index, bool is_main)
 
struct FileList * filelist_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)
 
FileDirEntry * filelist_file (struct FileList *filelist, int index)
 
FileDirEntry * filelist_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 ID * filelist_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 AssetLibrary * filelist_asset_library (struct FileList *filelist)
 
struct BlendHandle * filelist_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 
)