|
Blender V5.0
|
#include <cstdio>#include <cstdlib>#include <cstring>#include "MEM_guardedalloc.h"#include "BLI_fileops.h"#include "BLI_ghash.h"#include "BLI_listbase.h"#include "BLI_path_utils.hh"#include "BLI_string.h"#include "BLI_utildefines.h"#include "DNA_userdef_types.h"#include "BLT_translation.hh"#include "ED_fileselect.hh"#include "UI_resources.hh"#include "fsmenu.h"Go to the source code of this file.
Macros | |
| #define | FS_UDIR_PATH(dir, icon) |
Functions | |
| void | fsmenu_read_system (FSMenu *fsmenu, int read_bookmarks) |
XDG User Directory Support (Unix) | |
Generic Unix, Use XDG when available, otherwise fall back to the home directory. | |
| static GHash * | fsmenu_xdg_user_dirs_parse (const char *home) |
| static void | fsmenu_xdg_user_dirs_free (GHash *xdg_map) |
| static void | fsmenu_xdg_insert_entry (GHash *xdg_map, FSMenu *fsmenu, const char *key, const char *default_path, int icon, const char *home) |
| #define FS_UDIR_PATH | ( | dir, | |
| icon ) |
Referenced by fsmenu_read_system().
| void fsmenu_read_system | ( | struct FSMenu * | fsmenu, |
| int | read_bookmarks ) |
adds system specific directories
Definition at line 261 of file fsmenu_system.cc.
References ARRAY_SIZE, b, BLI_dir_home(), BLI_filelist_dir_contents(), BLI_filelist_free(), BLI_getenv(), BLI_is_dir(), BLI_path_join, CLOG_WARN, conv_utf_16_to_8(), conv_utf_8_to_16(), dirname(), ELEM, FILE_MAX, FILE_MAXDIR, FILE_MAXFILE, FS_CATEGORY_OTHER, FS_CATEGORY_SYSTEM, FS_CATEGORY_SYSTEM_BOOKMARKS, FS_INSERT_LAST, FS_INSERT_SORTED, FS_UDIR_PATH, fsmenu_insert_entry(), fsmenu_xdg_insert_entry(), fsmenu_xdg_user_dirs_free(), fsmenu_xdg_user_dirs_parse(), i, LISTBASE_FOREACH, LOG, N_, name, direntry::relname, result, seed, SNPRINTF, STRPREFIX, U, UNLIKELY, and UNUSED_VARS.
Referenced by ED_file_read_bookmarks(), and fsmenu_refresh_system_category().
|
static |
Add fsmenu entry for system folders on linux.
| key | Use user-dirs.dirs format "XDG_EXAMPLE_DIR" |
| default_path | Directory name to check in $HOME, also used for the menu entry name. |
Definition at line 147 of file fsmenu_system.cc.
References BLI_ghash_lookup(), BLI_path_join, FILE_MAXDIR, FS_CATEGORY_SYSTEM_BOOKMARKS, FS_INSERT_LAST, fsmenu_insert_entry(), and N_.
Referenced by fsmenu_read_system().
|
static |
Definition at line 132 of file fsmenu_system.cc.
References BLI_ghash_free(), and MEM_freeN().
Referenced by fsmenu_read_system().
|
static |
Look for user-dirs.dirs, where localized or custom user folders are defined, and store their paths in a GHash.
Definition at line 73 of file fsmenu_system.cc.
References BLI_fopen(), BLI_ghash_insert(), BLI_ghash_str_new_ex(), BLI_path_join, BLI_str_rstrip(), BLI_strdup(), FILE_MAX, FILE_MAXDIR, l, SEP_STR, and STRPREFIX.
Referenced by fsmenu_read_system().